Server Test

Server Test

rev. 7254d43655ed63111c94f599437f2b0d3f55446e

Files changed:

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

@@ -1,1 +304,304 @@
    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         -
pub struct StreamingOperationWithOptionalData;
           3  +
pub struct SimpleStructOperation;
    4      4   
    5         -
impl ::aws_smithy_http_server::operation::OperationShape for StreamingOperationWithOptionalData {
           5  +
impl ::aws_smithy_http_server::operation::OperationShape for SimpleStructOperation {
    6      6   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
    7      7   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
    8         -
            "smithy.protocoltests.rpcv2Cbor#StreamingOperationWithOptionalData",
           8  +
            "smithy.protocoltests.rpcv2Cbor#SimpleStructOperation",
    9      9   
            "smithy.protocoltests.rpcv2Cbor",
   10         -
            "StreamingOperationWithOptionalData",
          10  +
            "SimpleStructOperation",
   11     11   
        );
   12     12   
   13         -
    type Input = crate::input::StreamingOperationWithOptionalDataInput;
   14         -
    type Output = crate::output::StreamingOperationWithOptionalDataOutput;
   15         -
    type Error = crate::error::StreamingOperationWithOptionalDataError;
          13  +
    type Input = crate::input::SimpleStructOperationInput;
          14  +
    type Output = crate::output::SimpleStructOperationOutput;
          15  +
    type Error = crate::error::SimpleStructOperationError;
   16     16   
}
   17     17   
   18         -
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity
   19         -
    for StreamingOperationWithOptionalData
   20         -
{
          18  +
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for SimpleStructOperation {
   21     19   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
   22     20   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
   23     21   
   24     22   
    fn request_fmt() -> Self::RequestFmt {
   25     23   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
   26     24   
    }
   27     25   
   28     26   
    fn response_fmt() -> Self::ResponseFmt {
   29     27   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
   30     28   
    }
   31     29   
}
   32     30   
   33     31   
#[allow(missing_docs)] // documentation missing in model
   34         -
pub struct StreamingOperationWithInitialResponse;
          32  +
pub struct ErrorSerializationOperation;
   35     33   
   36         -
impl ::aws_smithy_http_server::operation::OperationShape for StreamingOperationWithInitialResponse {
          34  +
impl ::aws_smithy_http_server::operation::OperationShape for ErrorSerializationOperation {
   37     35   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
   38     36   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
   39         -
            "smithy.protocoltests.rpcv2Cbor#StreamingOperationWithInitialResponse",
          37  +
            "smithy.protocoltests.rpcv2Cbor#ErrorSerializationOperation",
   40     38   
            "smithy.protocoltests.rpcv2Cbor",
   41         -
            "StreamingOperationWithInitialResponse",
          39  +
            "ErrorSerializationOperation",
   42     40   
        );
   43     41   
   44         -
    type Input = crate::input::StreamingOperationWithInitialResponseInput;
   45         -
    type Output = crate::output::StreamingOperationWithInitialResponseOutput;
   46         -
    type Error = crate::error::StreamingOperationWithInitialResponseError;
          42  +
    type Input = crate::input::ErrorSerializationOperationInput;
          43  +
    type Output = crate::output::ErrorSerializationOperationOutput;
          44  +
    type Error = crate::error::ErrorSerializationOperationError;
   47     45   
}
   48     46   
   49     47   
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity
   50         -
    for StreamingOperationWithInitialResponse
          48  +
    for ErrorSerializationOperation
   51     49   
{
   52     50   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
   53     51   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
   54     52   
   55     53   
    fn request_fmt() -> Self::RequestFmt {
   56     54   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
   57     55   
    }
   58     56   
   59     57   
    fn response_fmt() -> Self::ResponseFmt {
   60     58   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
   61     59   
    }
   62     60   
}
   63     61   
   64     62   
#[allow(missing_docs)] // documentation missing in model
   65         -
pub struct StreamingOperationWithInitialData;
          63  +
pub struct ComplexStructOperation;
   66     64   
   67         -
impl ::aws_smithy_http_server::operation::OperationShape for StreamingOperationWithInitialData {
          65  +
impl ::aws_smithy_http_server::operation::OperationShape for ComplexStructOperation {
   68     66   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
   69     67   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
   70         -
            "smithy.protocoltests.rpcv2Cbor#StreamingOperationWithInitialData",
          68  +
            "smithy.protocoltests.rpcv2Cbor#ComplexStructOperation",
   71     69   
            "smithy.protocoltests.rpcv2Cbor",
   72         -
            "StreamingOperationWithInitialData",
          70  +
            "ComplexStructOperation",
   73     71   
        );
   74     72   
   75         -
    type Input = crate::input::StreamingOperationWithInitialDataInput;
   76         -
    type Output = crate::output::StreamingOperationWithInitialDataOutput;
   77         -
    type Error = crate::error::StreamingOperationWithInitialDataError;
          73  +
    type Input = crate::input::ComplexStructOperationInput;
          74  +
    type Output = crate::output::ComplexStructOperationOutput;
          75  +
    type Error = crate::error::ComplexStructOperationError;
   78     76   
}
   79     77   
   80     78   
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity
   81         -
    for StreamingOperationWithInitialData
          79  +
    for ComplexStructOperation
   82     80   
{
   83     81   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
   84     82   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
   85     83   
   86     84   
    fn request_fmt() -> Self::RequestFmt {
   87     85   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
   88     86   
    }
   89     87   
   90     88   
    fn response_fmt() -> Self::ResponseFmt {
   91     89   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
   92     90   
    }
   93     91   
}
   94     92   
   95     93   
#[allow(missing_docs)] // documentation missing in model
   96         -
pub struct StreamingOperation;
          94  +
pub struct EmptyStructOperation;
   97     95   
   98         -
impl ::aws_smithy_http_server::operation::OperationShape for StreamingOperation {
          96  +
impl ::aws_smithy_http_server::operation::OperationShape for EmptyStructOperation {
   99     97   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  100     98   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  101         -
            "smithy.protocoltests.rpcv2Cbor#StreamingOperation",
          99  +
            "smithy.protocoltests.rpcv2Cbor#EmptyStructOperation",
  102    100   
            "smithy.protocoltests.rpcv2Cbor",
  103         -
            "StreamingOperation",
         101  +
            "EmptyStructOperation",
  104    102   
        );
  105    103   
  106         -
    type Input = crate::input::StreamingOperationInput;
  107         -
    type Output = crate::output::StreamingOperationOutput;
  108         -
    type Error = crate::error::StreamingOperationError;
         104  +
    type Input = crate::input::EmptyStructOperationInput;
         105  +
    type Output = crate::output::EmptyStructOperationOutput;
         106  +
    type Error = std::convert::Infallible;
  109    107   
}
  110    108   
  111         -
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for StreamingOperation {
         109  +
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for EmptyStructOperation {
  112    110   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  113    111   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  114    112   
  115    113   
    fn request_fmt() -> Self::RequestFmt {
  116    114   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  117    115   
    }
  118    116   
  119    117   
    fn response_fmt() -> Self::ResponseFmt {
  120    118   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  121    119   
    }
  122    120   
}
  123    121   
  124    122   
#[allow(missing_docs)] // documentation missing in model
  125         -
pub struct RecursiveUnionOperation;
         123  +
pub struct SingleMemberStructOperation;
  126    124   
  127         -
impl ::aws_smithy_http_server::operation::OperationShape for RecursiveUnionOperation {
         125  +
impl ::aws_smithy_http_server::operation::OperationShape for SingleMemberStructOperation {
  128    126   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  129    127   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  130         -
            "smithy.protocoltests.rpcv2Cbor#RecursiveUnionOperation",
         128  +
            "smithy.protocoltests.rpcv2Cbor#SingleMemberStructOperation",
  131    129   
            "smithy.protocoltests.rpcv2Cbor",
  132         -
            "RecursiveUnionOperation",
         130  +
            "SingleMemberStructOperation",
  133    131   
        );
  134    132   
  135         -
    type Input = crate::input::RecursiveUnionOperationInput;
  136         -
    type Output = crate::output::RecursiveUnionOperationOutput;
         133  +
    type Input = crate::input::SingleMemberStructOperationInput;
         134  +
    type Output = crate::output::SingleMemberStructOperationOutput;
  137    135   
    type Error = std::convert::Infallible;
  138    136   
}
  139    137   
  140    138   
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity
  141         -
    for RecursiveUnionOperation
         139  +
    for SingleMemberStructOperation
  142    140   
{
  143    141   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  144    142   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  145    143   
  146    144   
    fn request_fmt() -> Self::RequestFmt {
  147    145   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  148    146   
    }
  149    147   
  150    148   
    fn response_fmt() -> Self::ResponseFmt {
  151    149   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  152    150   
    }
  153    151   
}
  154    152   
  155    153   
#[allow(missing_docs)] // documentation missing in model
  156         -
pub struct SingleMemberStructOperation;
         154  +
pub struct RecursiveUnionOperation;
  157    155   
  158         -
impl ::aws_smithy_http_server::operation::OperationShape for SingleMemberStructOperation {
         156  +
impl ::aws_smithy_http_server::operation::OperationShape for RecursiveUnionOperation {
  159    157   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  160    158   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  161         -
            "smithy.protocoltests.rpcv2Cbor#SingleMemberStructOperation",
         159  +
            "smithy.protocoltests.rpcv2Cbor#RecursiveUnionOperation",
  162    160   
            "smithy.protocoltests.rpcv2Cbor",
  163         -
            "SingleMemberStructOperation",
         161  +
            "RecursiveUnionOperation",
  164    162   
        );
  165    163   
  166         -
    type Input = crate::input::SingleMemberStructOperationInput;
  167         -
    type Output = crate::output::SingleMemberStructOperationOutput;
         164  +
    type Input = crate::input::RecursiveUnionOperationInput;
         165  +
    type Output = crate::output::RecursiveUnionOperationOutput;
  168    166   
    type Error = std::convert::Infallible;
  169    167   
}
  170    168   
  171    169   
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity
  172         -
    for SingleMemberStructOperation
         170  +
    for RecursiveUnionOperation
  173    171   
{
  174    172   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  175    173   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  176    174   
  177    175   
    fn request_fmt() -> Self::RequestFmt {
  178    176   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  179    177   
    }
  180    178   
  181    179   
    fn response_fmt() -> Self::ResponseFmt {
  182    180   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  183    181   
    }
  184    182   
}
  185    183   
  186    184   
#[allow(missing_docs)] // documentation missing in model
  187         -
pub struct EmptyStructOperation;
         185  +
pub struct StreamingOperation;
  188    186   
  189         -
impl ::aws_smithy_http_server::operation::OperationShape for EmptyStructOperation {
         187  +
impl ::aws_smithy_http_server::operation::OperationShape for StreamingOperation {
  190    188   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  191    189   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  192         -
            "smithy.protocoltests.rpcv2Cbor#EmptyStructOperation",
         190  +
            "smithy.protocoltests.rpcv2Cbor#StreamingOperation",
  193    191   
            "smithy.protocoltests.rpcv2Cbor",
  194         -
            "EmptyStructOperation",
         192  +
            "StreamingOperation",
  195    193   
        );
  196    194   
  197         -
    type Input = crate::input::EmptyStructOperationInput;
  198         -
    type Output = crate::output::EmptyStructOperationOutput;
  199         -
    type Error = std::convert::Infallible;
         195  +
    type Input = crate::input::StreamingOperationInput;
         196  +
    type Output = crate::output::StreamingOperationOutput;
         197  +
    type Error = crate::error::StreamingOperationError;
  200    198   
}
  201    199   
  202         -
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for EmptyStructOperation {
         200  +
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for StreamingOperation {
  203    201   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  204    202   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  205    203   
  206    204   
    fn request_fmt() -> Self::RequestFmt {
  207    205   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  208    206   
    }
  209    207   
  210    208   
    fn response_fmt() -> Self::ResponseFmt {
  211    209   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  212    210   
    }
  213    211   
}
  214    212   
  215    213   
#[allow(missing_docs)] // documentation missing in model
  216         -
pub struct ComplexStructOperation;
         214  +
pub struct StreamingOperationWithInitialData;
  217    215   
  218         -
impl ::aws_smithy_http_server::operation::OperationShape for ComplexStructOperation {
         216  +
impl ::aws_smithy_http_server::operation::OperationShape for StreamingOperationWithInitialData {
  219    217   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  220    218   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  221         -
            "smithy.protocoltests.rpcv2Cbor#ComplexStructOperation",
         219  +
            "smithy.protocoltests.rpcv2Cbor#StreamingOperationWithInitialData",
  222    220   
            "smithy.protocoltests.rpcv2Cbor",
  223         -
            "ComplexStructOperation",
         221  +
            "StreamingOperationWithInitialData",
  224    222   
        );
  225    223   
  226         -
    type Input = crate::input::ComplexStructOperationInput;
  227         -
    type Output = crate::output::ComplexStructOperationOutput;
  228         -
    type Error = crate::error::ComplexStructOperationError;
         224  +
    type Input = crate::input::StreamingOperationWithInitialDataInput;
         225  +
    type Output = crate::output::StreamingOperationWithInitialDataOutput;
         226  +
    type Error = crate::error::StreamingOperationWithInitialDataError;
  229    227   
}
  230    228   
  231    229   
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity
  232         -
    for ComplexStructOperation
         230  +
    for StreamingOperationWithInitialData
  233    231   
{
  234    232   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  235    233   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  236    234   
  237    235   
    fn request_fmt() -> Self::RequestFmt {
  238    236   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  239    237   
    }
  240    238   
  241    239   
    fn response_fmt() -> Self::ResponseFmt {
  242    240   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  243    241   
    }
  244    242   
}
  245    243   
  246    244   
#[allow(missing_docs)] // documentation missing in model
  247         -
pub struct ErrorSerializationOperation;
         245  +
pub struct StreamingOperationWithInitialResponse;
  248    246   
  249         -
impl ::aws_smithy_http_server::operation::OperationShape for ErrorSerializationOperation {
         247  +
impl ::aws_smithy_http_server::operation::OperationShape for StreamingOperationWithInitialResponse {
  250    248   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  251    249   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  252         -
            "smithy.protocoltests.rpcv2Cbor#ErrorSerializationOperation",
         250  +
            "smithy.protocoltests.rpcv2Cbor#StreamingOperationWithInitialResponse",
  253    251   
            "smithy.protocoltests.rpcv2Cbor",
  254         -
            "ErrorSerializationOperation",
         252  +
            "StreamingOperationWithInitialResponse",
  255    253   
        );
  256    254   
  257         -
    type Input = crate::input::ErrorSerializationOperationInput;
  258         -
    type Output = crate::output::ErrorSerializationOperationOutput;
  259         -
    type Error = crate::error::ErrorSerializationOperationError;
         255  +
    type Input = crate::input::StreamingOperationWithInitialResponseInput;
         256  +
    type Output = crate::output::StreamingOperationWithInitialResponseOutput;
         257  +
    type Error = crate::error::StreamingOperationWithInitialResponseError;
  260    258   
}
  261    259   
  262    260   
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity
  263         -
    for ErrorSerializationOperation
         261  +
    for StreamingOperationWithInitialResponse
  264    262   
{
  265    263   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  266    264   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  267    265   
  268    266   
    fn request_fmt() -> Self::RequestFmt {
  269    267   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  270    268   
    }
  271    269   
  272    270   
    fn response_fmt() -> Self::ResponseFmt {
  273    271   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  274    272   
    }
  275    273   
}
  276    274   
  277    275   
#[allow(missing_docs)] // documentation missing in model
  278         -
pub struct SimpleStructOperation;
         276  +
pub struct StreamingOperationWithOptionalData;
  279    277   
  280         -
impl ::aws_smithy_http_server::operation::OperationShape for SimpleStructOperation {
         278  +
impl ::aws_smithy_http_server::operation::OperationShape for StreamingOperationWithOptionalData {
  281    279   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  282    280   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  283         -
            "smithy.protocoltests.rpcv2Cbor#SimpleStructOperation",
         281  +
            "smithy.protocoltests.rpcv2Cbor#StreamingOperationWithOptionalData",
  284    282   
            "smithy.protocoltests.rpcv2Cbor",
  285         -
            "SimpleStructOperation",
         283  +
            "StreamingOperationWithOptionalData",
  286    284   
        );
  287    285   
  288         -
    type Input = crate::input::SimpleStructOperationInput;
  289         -
    type Output = crate::output::SimpleStructOperationOutput;
  290         -
    type Error = crate::error::SimpleStructOperationError;
         286  +
    type Input = crate::input::StreamingOperationWithOptionalDataInput;
         287  +
    type Output = crate::output::StreamingOperationWithOptionalDataOutput;
         288  +
    type Error = crate::error::StreamingOperationWithOptionalDataError;
  291    289   
}
  292    290   
  293         -
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for SimpleStructOperation {
         291  +
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity
         292  +
    for StreamingOperationWithOptionalData
         293  +
{
  294    294   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  295    295   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  296    296   
  297    297   
    fn request_fmt() -> Self::RequestFmt {
  298    298   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  299    299   
    }
  300    300   
  301    301   
    fn response_fmt() -> Self::ResponseFmt {
  302    302   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  303    303   
    }

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

@@ -1,1 +1266,1266 @@
    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         -
#[derive(::std::fmt::Debug)]
    4         -
pub struct StreamingOperationWithOptionalDataOutput {
    5         -
    #[allow(missing_docs)] // documentation missing in model
    6         -
    pub optional_response_data: ::std::option::Option<::std::string::String>,
           3  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
           4  +
pub struct SimpleStructOperationOutput {
    7      5   
    #[allow(missing_docs)] // documentation missing in model
    8         -
    pub events: ::aws_smithy_http::event_stream::EventStreamSender<
    9         -
        crate::model::Events,
   10         -
        ::aws_smithy_http::event_stream::MessageStreamError,
   11         -
    >,
   12         -
}
   13         -
impl StreamingOperationWithOptionalDataOutput {
           6  +
    pub blob: ::std::option::Option<::aws_smithy_types::Blob>,
   14      7   
    #[allow(missing_docs)] // documentation missing in model
   15         -
    pub fn optional_response_data(&self) -> ::std::option::Option<&str> {
   16         -
        self.optional_response_data.as_deref()
   17         -
    }
           8  +
    pub boolean: ::std::option::Option<bool>,
   18      9   
    #[allow(missing_docs)] // documentation missing in model
   19         -
    pub fn events(
   20         -
        &self,
   21         -
    ) -> &::aws_smithy_http::event_stream::EventStreamSender<
   22         -
        crate::model::Events,
   23         -
        ::aws_smithy_http::event_stream::MessageStreamError,
   24         -
    > {
   25         -
        &self.events
   26         -
    }
   27         -
}
   28         -
impl StreamingOperationWithOptionalDataOutput {
   29         -
    /// Creates a new builder-style object to manufacture [`StreamingOperationWithOptionalDataOutput`](crate::output::StreamingOperationWithOptionalDataOutput).
   30         -
    pub fn builder() -> crate::output::streaming_operation_with_optional_data_output::Builder {
   31         -
        crate::output::streaming_operation_with_optional_data_output::Builder::default()
   32         -
    }
   33         -
}
   34         -
   35         -
#[allow(missing_docs)] // documentation missing in model
   36         -
#[derive(::std::fmt::Debug)]
   37         -
pub struct StreamingOperationWithInitialResponseOutput {
          10  +
    pub string: ::std::option::Option<::std::string::String>,
   38     11   
    #[allow(missing_docs)] // documentation missing in model
   39         -
    pub response_data: ::std::string::String,
          12  +
    pub byte: ::std::option::Option<i8>,
   40     13   
    #[allow(missing_docs)] // documentation missing in model
   41         -
    pub events: ::aws_smithy_http::event_stream::EventStreamSender<
   42         -
        crate::model::Events,
   43         -
        ::aws_smithy_http::event_stream::MessageStreamError,
   44         -
    >,
   45         -
}
   46         -
impl StreamingOperationWithInitialResponseOutput {
          14  +
    pub short: ::std::option::Option<i16>,
   47     15   
    #[allow(missing_docs)] // documentation missing in model
   48         -
    pub fn response_data(&self) -> &str {
   49         -
        use std::ops::Deref;
   50         -
        self.response_data.deref()
   51         -
    }
          16  +
    pub integer: ::std::option::Option<i32>,
   52     17   
    #[allow(missing_docs)] // documentation missing in model
   53         -
    pub fn events(
   54         -
        &self,
   55         -
    ) -> &::aws_smithy_http::event_stream::EventStreamSender<
   56         -
        crate::model::Events,
   57         -
        ::aws_smithy_http::event_stream::MessageStreamError,
   58         -
    > {
   59         -
        &self.events
   60         -
    }
   61         -
}
   62         -
impl StreamingOperationWithInitialResponseOutput {
   63         -
    /// Creates a new builder-style object to manufacture [`StreamingOperationWithInitialResponseOutput`](crate::output::StreamingOperationWithInitialResponseOutput).
   64         -
    pub fn builder() -> crate::output::streaming_operation_with_initial_response_output::Builder {
   65         -
        crate::output::streaming_operation_with_initial_response_output::Builder::default()
   66         -
    }
   67         -
}
   68         -
   69         -
#[allow(missing_docs)] // documentation missing in model
   70         -
#[derive(::std::fmt::Debug)]
   71         -
pub struct StreamingOperationWithInitialDataOutput {
          18  +
    pub long: ::std::option::Option<i64>,
   72     19   
    #[allow(missing_docs)] // documentation missing in model
   73         -
    pub events: ::aws_smithy_http::event_stream::EventStreamSender<
   74         -
        crate::model::Events,
   75         -
        ::aws_smithy_http::event_stream::MessageStreamError,
   76         -
    >,
   77         -
}
   78         -
impl StreamingOperationWithInitialDataOutput {
          20  +
    pub float: ::std::option::Option<f32>,
   79     21   
    #[allow(missing_docs)] // documentation missing in model
   80         -
    pub fn events(
   81         -
        &self,
   82         -
    ) -> &::aws_smithy_http::event_stream::EventStreamSender<
   83         -
        crate::model::Events,
   84         -
        ::aws_smithy_http::event_stream::MessageStreamError,
   85         -
    > {
   86         -
        &self.events
   87         -
    }
   88         -
}
   89         -
impl StreamingOperationWithInitialDataOutput {
   90         -
    /// Creates a new builder-style object to manufacture [`StreamingOperationWithInitialDataOutput`](crate::output::StreamingOperationWithInitialDataOutput).
   91         -
    pub fn builder() -> crate::output::streaming_operation_with_initial_data_output::Builder {
   92         -
        crate::output::streaming_operation_with_initial_data_output::Builder::default()
   93         -
    }
   94         -
}
   95         -
   96         -
#[allow(missing_docs)] // documentation missing in model
   97         -
#[derive(::std::fmt::Debug)]
   98         -
pub struct StreamingOperationOutput {
          22  +
    pub double: ::std::option::Option<f64>,
   99     23   
    #[allow(missing_docs)] // documentation missing in model
  100         -
    pub events: ::aws_smithy_http::event_stream::EventStreamSender<
  101         -
        crate::model::Events,
  102         -
        ::aws_smithy_http::event_stream::MessageStreamError,
  103         -
    >,
  104         -
}
  105         -
impl StreamingOperationOutput {
          24  +
    pub timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
  106     25   
    #[allow(missing_docs)] // documentation missing in model
  107         -
    pub fn events(
  108         -
        &self,
  109         -
    ) -> &::aws_smithy_http::event_stream::EventStreamSender<
  110         -
        crate::model::Events,
  111         -
        ::aws_smithy_http::event_stream::MessageStreamError,
  112         -
    > {
  113         -
        &self.events
  114         -
    }
  115         -
}
  116         -
impl StreamingOperationOutput {
  117         -
    /// Creates a new builder-style object to manufacture [`StreamingOperationOutput`](crate::output::StreamingOperationOutput).
  118         -
    pub fn builder() -> crate::output::streaming_operation_output::Builder {
  119         -
        crate::output::streaming_operation_output::Builder::default()
  120         -
    }
  121         -
}
  122         -
  123         -
#[allow(missing_docs)] // documentation missing in model
  124         -
#[derive(
  125         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  126         -
)]
  127         -
pub struct RecursiveUnionOperationOutput {
          26  +
    pub r#enum: ::std::option::Option<crate::model::Suit>,
  128     27   
    #[allow(missing_docs)] // documentation missing in model
  129         -
    pub nested: ::std::option::Option<crate::model::RecursiveOperationInputOutputNested1>,
  130         -
}
  131         -
impl RecursiveUnionOperationOutput {
          28  +
    pub required_blob: ::aws_smithy_types::Blob,
  132     29   
    #[allow(missing_docs)] // documentation missing in model
  133         -
    pub fn nested(
  134         -
        &self,
  135         -
    ) -> ::std::option::Option<&crate::model::RecursiveOperationInputOutputNested1> {
  136         -
        self.nested.as_ref()
  137         -
    }
  138         -
}
  139         -
impl RecursiveUnionOperationOutput {
  140         -
    /// Creates a new builder-style object to manufacture [`RecursiveUnionOperationOutput`](crate::output::RecursiveUnionOperationOutput).
  141         -
    pub fn builder() -> crate::output::recursive_union_operation_output::Builder {
  142         -
        crate::output::recursive_union_operation_output::Builder::default()
  143         -
    }
  144         -
}
  145         -
  146         -
#[allow(missing_docs)] // documentation missing in model
  147         -
#[derive(
  148         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  149         -
)]
  150         -
pub struct SingleMemberStructOperationOutput {
          30  +
    pub required_boolean: bool,
  151     31   
    #[allow(missing_docs)] // documentation missing in model
  152         -
    pub message: ::std::option::Option<::std::string::String>,
  153         -
}
  154         -
impl SingleMemberStructOperationOutput {
          32  +
    pub required_string: ::std::string::String,
  155     33   
    #[allow(missing_docs)] // documentation missing in model
  156         -
    pub fn message(&self) -> ::std::option::Option<&str> {
  157         -
        self.message.as_deref()
  158         -
    }
  159         -
}
  160         -
impl SingleMemberStructOperationOutput {
  161         -
    /// Creates a new builder-style object to manufacture [`SingleMemberStructOperationOutput`](crate::output::SingleMemberStructOperationOutput).
  162         -
    pub fn builder() -> crate::output::single_member_struct_operation_output::Builder {
  163         -
        crate::output::single_member_struct_operation_output::Builder::default()
  164         -
    }
  165         -
}
  166         -
  167         -
#[allow(missing_docs)] // documentation missing in model
  168         -
#[derive(
  169         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  170         -
)]
  171         -
pub struct EmptyStructOperationOutput {}
  172         -
impl EmptyStructOperationOutput {
  173         -
    /// Creates a new builder-style object to manufacture [`EmptyStructOperationOutput`](crate::output::EmptyStructOperationOutput).
  174         -
    pub fn builder() -> crate::output::empty_struct_operation_output::Builder {
  175         -
        crate::output::empty_struct_operation_output::Builder::default()
  176         -
    }
  177         -
}
  178         -
  179         -
#[allow(missing_docs)] // documentation missing in model
  180         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
  181         -
pub struct ComplexStructOperationOutput {
          34  +
    pub required_byte: i8,
  182     35   
    #[allow(missing_docs)] // documentation missing in model
  183         -
    pub structure: ::std::option::Option<crate::model::SimpleStruct>,
          36  +
    pub required_short: i16,
  184     37   
    #[allow(missing_docs)] // documentation missing in model
  185         -
    pub empty_structure: ::std::option::Option<crate::model::EmptyStruct>,
          38  +
    pub required_integer: i32,
  186     39   
    #[allow(missing_docs)] // documentation missing in model
  187         -
    pub list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
          40  +
    pub required_long: i64,
  188     41   
    #[allow(missing_docs)] // documentation missing in model
  189         -
    pub map: ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
          42  +
    pub required_float: f32,
  190     43   
    #[allow(missing_docs)] // documentation missing in model
  191         -
    pub union: ::std::option::Option<crate::model::SimpleUnion>,
          44  +
    pub required_double: f64,
  192     45   
    #[allow(missing_docs)] // documentation missing in model
  193         -
    pub unit_union: ::std::option::Option<crate::model::UnitUnion>,
          46  +
    pub required_timestamp: ::aws_smithy_types::DateTime,
  194     47   
    #[allow(missing_docs)] // documentation missing in model
  195         -
    pub structure_list: ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
          48  +
    pub required_enum: crate::model::Suit,
          49  +
}
          50  +
impl SimpleStructOperationOutput {
  196     51   
    #[allow(missing_docs)] // documentation missing in model
  197         -
    pub complex_list: ::std::vec::Vec<
  198         -
        ::std::collections::HashMap<::std::string::String, crate::model::ComplexUnion>,
  199         -
    >,
          52  +
    pub fn blob(&self) -> ::std::option::Option<&::aws_smithy_types::Blob> {
          53  +
        self.blob.as_ref()
          54  +
    }
  200     55   
    #[allow(missing_docs)] // documentation missing in model
  201         -
    pub complex_map: ::std::collections::HashMap<::std::string::String, crate::model::ComplexUnion>,
          56  +
    pub fn boolean(&self) -> ::std::option::Option<bool> {
          57  +
        self.boolean
          58  +
    }
  202     59   
    #[allow(missing_docs)] // documentation missing in model
  203         -
    pub complex_union: ::std::boxed::Box<crate::model::ComplexUnion>,
  204         -
}
  205         -
impl ComplexStructOperationOutput {
          60  +
    pub fn string(&self) -> ::std::option::Option<&str> {
          61  +
        self.string.as_deref()
          62  +
    }
  206     63   
    #[allow(missing_docs)] // documentation missing in model
  207         -
    pub fn structure(&self) -> ::std::option::Option<&crate::model::SimpleStruct> {
  208         -
        self.structure.as_ref()
          64  +
    pub fn byte(&self) -> ::std::option::Option<i8> {
          65  +
        self.byte
  209     66   
    }
  210     67   
    #[allow(missing_docs)] // documentation missing in model
  211         -
    pub fn empty_structure(&self) -> ::std::option::Option<&crate::model::EmptyStruct> {
  212         -
        self.empty_structure.as_ref()
          68  +
    pub fn short(&self) -> ::std::option::Option<i16> {
          69  +
        self.short
  213     70   
    }
  214     71   
    #[allow(missing_docs)] // documentation missing in model
  215         -
    pub fn list(&self) -> ::std::option::Option<&[::std::string::String]> {
  216         -
        self.list.as_deref()
          72  +
    pub fn integer(&self) -> ::std::option::Option<i32> {
          73  +
        self.integer
  217     74   
    }
  218     75   
    #[allow(missing_docs)] // documentation missing in model
  219         -
    pub fn map(
  220         -
        &self,
  221         -
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, i32>> {
  222         -
        self.map.as_ref()
          76  +
    pub fn long(&self) -> ::std::option::Option<i64> {
          77  +
        self.long
  223     78   
    }
  224     79   
    #[allow(missing_docs)] // documentation missing in model
  225         -
    pub fn union(&self) -> ::std::option::Option<&crate::model::SimpleUnion> {
  226         -
        self.union.as_ref()
          80  +
    pub fn float(&self) -> ::std::option::Option<f32> {
          81  +
        self.float
  227     82   
    }
  228     83   
    #[allow(missing_docs)] // documentation missing in model
  229         -
    pub fn unit_union(&self) -> ::std::option::Option<&crate::model::UnitUnion> {
  230         -
        self.unit_union.as_ref()
          84  +
    pub fn double(&self) -> ::std::option::Option<f64> {
          85  +
        self.double
  231     86   
    }
  232     87   
    #[allow(missing_docs)] // documentation missing in model
  233         -
    pub fn structure_list(&self) -> ::std::option::Option<&[crate::model::SimpleStruct]> {
  234         -
        self.structure_list.as_deref()
          88  +
    pub fn timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
          89  +
        self.timestamp.as_ref()
  235     90   
    }
  236     91   
    #[allow(missing_docs)] // documentation missing in model
  237         -
    pub fn complex_list(
  238         -
        &self,
  239         -
    ) -> &[::std::collections::HashMap<::std::string::String, crate::model::ComplexUnion>] {
  240         -
        use std::ops::Deref;
  241         -
        self.complex_list.deref()
          92  +
    pub fn r#enum(&self) -> ::std::option::Option<&crate::model::Suit> {
          93  +
        self.r#enum.as_ref()
  242     94   
    }
  243     95   
    #[allow(missing_docs)] // documentation missing in model
  244         -
    pub fn complex_map(
  245         -
        &self,
  246         -
    ) -> &::std::collections::HashMap<::std::string::String, crate::model::ComplexUnion> {
  247         -
        &self.complex_map
          96  +
    pub fn required_blob(&self) -> &::aws_smithy_types::Blob {
          97  +
        &self.required_blob
  248     98   
    }
  249     99   
    #[allow(missing_docs)] // documentation missing in model
  250         -
    pub fn complex_union(&self) -> &crate::model::ComplexUnion {
         100  +
    pub fn required_boolean(&self) -> bool {
         101  +
        self.required_boolean
         102  +
    }
         103  +
    #[allow(missing_docs)] // documentation missing in model
         104  +
    pub fn required_string(&self) -> &str {
  251    105   
        use std::ops::Deref;
  252         -
        self.complex_union.deref()
         106  +
        self.required_string.deref()
         107  +
    }
         108  +
    #[allow(missing_docs)] // documentation missing in model
         109  +
    pub fn required_byte(&self) -> i8 {
         110  +
        self.required_byte
         111  +
    }
         112  +
    #[allow(missing_docs)] // documentation missing in model
         113  +
    pub fn required_short(&self) -> i16 {
         114  +
        self.required_short
         115  +
    }
         116  +
    #[allow(missing_docs)] // documentation missing in model
         117  +
    pub fn required_integer(&self) -> i32 {
         118  +
        self.required_integer
         119  +
    }
         120  +
    #[allow(missing_docs)] // documentation missing in model
         121  +
    pub fn required_long(&self) -> i64 {
         122  +
        self.required_long
         123  +
    }
         124  +
    #[allow(missing_docs)] // documentation missing in model
         125  +
    pub fn required_float(&self) -> f32 {
         126  +
        self.required_float
         127  +
    }
         128  +
    #[allow(missing_docs)] // documentation missing in model
         129  +
    pub fn required_double(&self) -> f64 {
         130  +
        self.required_double
         131  +
    }
         132  +
    #[allow(missing_docs)] // documentation missing in model
         133  +
    pub fn required_timestamp(&self) -> &::aws_smithy_types::DateTime {
         134  +
        &self.required_timestamp
         135  +
    }
         136  +
    #[allow(missing_docs)] // documentation missing in model
         137  +
    pub fn required_enum(&self) -> &crate::model::Suit {
         138  +
        &self.required_enum
  253    139   
    }
  254    140   
}
  255         -
impl ComplexStructOperationOutput {
  256         -
    /// Creates a new builder-style object to manufacture [`ComplexStructOperationOutput`](crate::output::ComplexStructOperationOutput).
  257         -
    pub fn builder() -> crate::output::complex_struct_operation_output::Builder {
  258         -
        crate::output::complex_struct_operation_output::Builder::default()
         141  +
impl SimpleStructOperationOutput {
         142  +
    /// Creates a new builder-style object to manufacture [`SimpleStructOperationOutput`](crate::output::SimpleStructOperationOutput).
         143  +
    pub fn builder() -> crate::output::simple_struct_operation_output::Builder {
         144  +
        crate::output::simple_struct_operation_output::Builder::default()
  259    145   
    }
  260    146   
}
  261    147   
  262    148   
#[allow(missing_docs)] // documentation missing in model
  263    149   
#[derive(
  264    150   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  265    151   
)]
  266    152   
pub struct ErrorSerializationOperationOutput {
  267    153   
    /// A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.
  268    154   
    pub error_shape: ::std::option::Option<crate::error::ValidationException>,
  269    155   
}
  270    156   
impl ErrorSerializationOperationOutput {
  271    157   
    /// A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.
  272    158   
    pub fn error_shape(&self) -> ::std::option::Option<&crate::error::ValidationException> {
  273    159   
        self.error_shape.as_ref()
  274    160   
    }
  275    161   
}
  276    162   
impl ErrorSerializationOperationOutput {
  277    163   
    /// Creates a new builder-style object to manufacture [`ErrorSerializationOperationOutput`](crate::output::ErrorSerializationOperationOutput).
  278    164   
    pub fn builder() -> crate::output::error_serialization_operation_output::Builder {
  279    165   
        crate::output::error_serialization_operation_output::Builder::default()
  280    166   
    }
  281    167   
}
  282    168   
  283    169   
#[allow(missing_docs)] // documentation missing in model
  284    170   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
  285         -
pub struct SimpleStructOperationOutput {
  286         -
    #[allow(missing_docs)] // documentation missing in model
  287         -
    pub blob: ::std::option::Option<::aws_smithy_types::Blob>,
  288         -
    #[allow(missing_docs)] // documentation missing in model
  289         -
    pub boolean: ::std::option::Option<bool>,
  290         -
    #[allow(missing_docs)] // documentation missing in model
  291         -
    pub string: ::std::option::Option<::std::string::String>,
  292         -
    #[allow(missing_docs)] // documentation missing in model
  293         -
    pub byte: ::std::option::Option<i8>,
  294         -
    #[allow(missing_docs)] // documentation missing in model
  295         -
    pub short: ::std::option::Option<i16>,
  296         -
    #[allow(missing_docs)] // documentation missing in model
  297         -
    pub integer: ::std::option::Option<i32>,
  298         -
    #[allow(missing_docs)] // documentation missing in model
  299         -
    pub long: ::std::option::Option<i64>,
  300         -
    #[allow(missing_docs)] // documentation missing in model
  301         -
    pub float: ::std::option::Option<f32>,
  302         -
    #[allow(missing_docs)] // documentation missing in model
  303         -
    pub double: ::std::option::Option<f64>,
  304         -
    #[allow(missing_docs)] // documentation missing in model
  305         -
    pub timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
  306         -
    #[allow(missing_docs)] // documentation missing in model
  307         -
    pub r#enum: ::std::option::Option<crate::model::Suit>,
  308         -
    #[allow(missing_docs)] // documentation missing in model
  309         -
    pub required_blob: ::aws_smithy_types::Blob,
         171  +
pub struct ComplexStructOperationOutput {
  310    172   
    #[allow(missing_docs)] // documentation missing in model
  311         -
    pub required_boolean: bool,
         173  +
    pub structure: ::std::option::Option<crate::model::SimpleStruct>,
  312    174   
    #[allow(missing_docs)] // documentation missing in model
  313         -
    pub required_string: ::std::string::String,
         175  +
    pub empty_structure: ::std::option::Option<crate::model::EmptyStruct>,
  314    176   
    #[allow(missing_docs)] // documentation missing in model
  315         -
    pub required_byte: i8,
         177  +
    pub list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
  316    178   
    #[allow(missing_docs)] // documentation missing in model
  317         -
    pub required_short: i16,
         179  +
    pub map: ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
  318    180   
    #[allow(missing_docs)] // documentation missing in model
  319         -
    pub required_integer: i32,
         181  +
    pub union: ::std::option::Option<crate::model::SimpleUnion>,
  320    182   
    #[allow(missing_docs)] // documentation missing in model
  321         -
    pub required_long: i64,
         183  +
    pub unit_union: ::std::option::Option<crate::model::UnitUnion>,
  322    184   
    #[allow(missing_docs)] // documentation missing in model
  323         -
    pub required_float: f32,
         185  +
    pub structure_list: ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
  324    186   
    #[allow(missing_docs)] // documentation missing in model
  325         -
    pub required_double: f64,
         187  +
    pub complex_list: ::std::vec::Vec<
         188  +
        ::std::collections::HashMap<::std::string::String, crate::model::ComplexUnion>,
         189  +
    >,
  326    190   
    #[allow(missing_docs)] // documentation missing in model
  327         -
    pub required_timestamp: ::aws_smithy_types::DateTime,
         191  +
    pub complex_map: ::std::collections::HashMap<::std::string::String, crate::model::ComplexUnion>,
  328    192   
    #[allow(missing_docs)] // documentation missing in model
  329         -
    pub required_enum: crate::model::Suit,
         193  +
    pub complex_union: ::std::boxed::Box<crate::model::ComplexUnion>,
  330    194   
}
  331         -
impl SimpleStructOperationOutput {
  332         -
    #[allow(missing_docs)] // documentation missing in model
  333         -
    pub fn blob(&self) -> ::std::option::Option<&::aws_smithy_types::Blob> {
  334         -
        self.blob.as_ref()
  335         -
    }
         195  +
impl ComplexStructOperationOutput {
  336    196   
    #[allow(missing_docs)] // documentation missing in model
  337         -
    pub fn boolean(&self) -> ::std::option::Option<bool> {
  338         -
        self.boolean
         197  +
    pub fn structure(&self) -> ::std::option::Option<&crate::model::SimpleStruct> {
         198  +
        self.structure.as_ref()
  339    199   
    }
  340    200   
    #[allow(missing_docs)] // documentation missing in model
  341         -
    pub fn string(&self) -> ::std::option::Option<&str> {
  342         -
        self.string.as_deref()
         201  +
    pub fn empty_structure(&self) -> ::std::option::Option<&crate::model::EmptyStruct> {
         202  +
        self.empty_structure.as_ref()
  343    203   
    }
  344    204   
    #[allow(missing_docs)] // documentation missing in model
  345         -
    pub fn byte(&self) -> ::std::option::Option<i8> {
  346         -
        self.byte
         205  +
    pub fn list(&self) -> ::std::option::Option<&[::std::string::String]> {
         206  +
        self.list.as_deref()
  347    207   
    }
  348    208   
    #[allow(missing_docs)] // documentation missing in model
  349         -
    pub fn short(&self) -> ::std::option::Option<i16> {
  350         -
        self.short
         209  +
    pub fn map(
         210  +
        &self,
         211  +
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, i32>> {
         212  +
        self.map.as_ref()
  351    213   
    }
  352    214   
    #[allow(missing_docs)] // documentation missing in model
  353         -
    pub fn integer(&self) -> ::std::option::Option<i32> {
  354         -
        self.integer
         215  +
    pub fn union(&self) -> ::std::option::Option<&crate::model::SimpleUnion> {
         216  +
        self.union.as_ref()
  355    217   
    }
  356    218   
    #[allow(missing_docs)] // documentation missing in model
  357         -
    pub fn long(&self) -> ::std::option::Option<i64> {
  358         -
        self.long
         219  +
    pub fn unit_union(&self) -> ::std::option::Option<&crate::model::UnitUnion> {
         220  +
        self.unit_union.as_ref()
  359    221   
    }
  360    222   
    #[allow(missing_docs)] // documentation missing in model
  361         -
    pub fn float(&self) -> ::std::option::Option<f32> {
  362         -
        self.float
         223  +
    pub fn structure_list(&self) -> ::std::option::Option<&[crate::model::SimpleStruct]> {
         224  +
        self.structure_list.as_deref()
  363    225   
    }
  364    226   
    #[allow(missing_docs)] // documentation missing in model
  365         -
    pub fn double(&self) -> ::std::option::Option<f64> {
  366         -
        self.double
         227  +
    pub fn complex_list(
         228  +
        &self,
         229  +
    ) -> &[::std::collections::HashMap<::std::string::String, crate::model::ComplexUnion>] {
         230  +
        use std::ops::Deref;
         231  +
        self.complex_list.deref()
  367    232   
    }
  368    233   
    #[allow(missing_docs)] // documentation missing in model
  369         -
    pub fn timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
  370         -
        self.timestamp.as_ref()
         234  +
    pub fn complex_map(
         235  +
        &self,
         236  +
    ) -> &::std::collections::HashMap<::std::string::String, crate::model::ComplexUnion> {
         237  +
        &self.complex_map
  371    238   
    }
  372    239   
    #[allow(missing_docs)] // documentation missing in model
  373         -
    pub fn r#enum(&self) -> ::std::option::Option<&crate::model::Suit> {
  374         -
        self.r#enum.as_ref()
         240  +
    pub fn complex_union(&self) -> &crate::model::ComplexUnion {
         241  +
        use std::ops::Deref;
         242  +
        self.complex_union.deref()
  375    243   
    }
  376         -
    #[allow(missing_docs)] // documentation missing in model
  377         -
    pub fn required_blob(&self) -> &::aws_smithy_types::Blob {
  378         -
        &self.required_blob
         244  +
}
         245  +
impl ComplexStructOperationOutput {
         246  +
    /// Creates a new builder-style object to manufacture [`ComplexStructOperationOutput`](crate::output::ComplexStructOperationOutput).
         247  +
    pub fn builder() -> crate::output::complex_struct_operation_output::Builder {
         248  +
        crate::output::complex_struct_operation_output::Builder::default()
  379    249   
    }
  380         -
    #[allow(missing_docs)] // documentation missing in model
  381         -
    pub fn required_boolean(&self) -> bool {
  382         -
        self.required_boolean
         250  +
}
         251  +
         252  +
#[allow(missing_docs)] // documentation missing in model
         253  +
#[derive(
         254  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         255  +
)]
         256  +
pub struct EmptyStructOperationOutput {}
         257  +
impl EmptyStructOperationOutput {
         258  +
    /// Creates a new builder-style object to manufacture [`EmptyStructOperationOutput`](crate::output::EmptyStructOperationOutput).
         259  +
    pub fn builder() -> crate::output::empty_struct_operation_output::Builder {
         260  +
        crate::output::empty_struct_operation_output::Builder::default()
  383    261   
    }
         262  +
}
         263  +
         264  +
#[allow(missing_docs)] // documentation missing in model
         265  +
#[derive(
         266  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         267  +
)]
         268  +
pub struct SingleMemberStructOperationOutput {
  384    269   
    #[allow(missing_docs)] // documentation missing in model
  385         -
    pub fn required_string(&self) -> &str {
  386         -
        use std::ops::Deref;
  387         -
        self.required_string.deref()
  388         -
    }
         270  +
    pub message: ::std::option::Option<::std::string::String>,
         271  +
}
         272  +
impl SingleMemberStructOperationOutput {
  389    273   
    #[allow(missing_docs)] // documentation missing in model
  390         -
    pub fn required_byte(&self) -> i8 {
  391         -
        self.required_byte
         274  +
    pub fn message(&self) -> ::std::option::Option<&str> {
         275  +
        self.message.as_deref()
  392    276   
    }
  393         -
    #[allow(missing_docs)] // documentation missing in model
  394         -
    pub fn required_short(&self) -> i16 {
  395         -
        self.required_short
         277  +
}
         278  +
impl SingleMemberStructOperationOutput {
         279  +
    /// Creates a new builder-style object to manufacture [`SingleMemberStructOperationOutput`](crate::output::SingleMemberStructOperationOutput).
         280  +
    pub fn builder() -> crate::output::single_member_struct_operation_output::Builder {
         281  +
        crate::output::single_member_struct_operation_output::Builder::default()
  396    282   
    }
         283  +
}
         284  +
         285  +
#[allow(missing_docs)] // documentation missing in model
         286  +
#[derive(
         287  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         288  +
)]
         289  +
pub struct RecursiveUnionOperationOutput {
  397    290   
    #[allow(missing_docs)] // documentation missing in model
  398         -
    pub fn required_integer(&self) -> i32 {
  399         -
        self.required_integer
  400         -
    }
         291  +
    pub nested: ::std::option::Option<crate::model::RecursiveOperationInputOutputNested1>,
         292  +
}
         293  +
impl RecursiveUnionOperationOutput {
  401    294   
    #[allow(missing_docs)] // documentation missing in model
  402         -
    pub fn required_long(&self) -> i64 {
  403         -
        self.required_long
         295  +
    pub fn nested(
         296  +
        &self,
         297  +
    ) -> ::std::option::Option<&crate::model::RecursiveOperationInputOutputNested1> {
         298  +
        self.nested.as_ref()
  404    299   
    }
  405         -
    #[allow(missing_docs)] // documentation missing in model
  406         -
    pub fn required_float(&self) -> f32 {
  407         -
        self.required_float
         300  +
}
         301  +
impl RecursiveUnionOperationOutput {
         302  +
    /// Creates a new builder-style object to manufacture [`RecursiveUnionOperationOutput`](crate::output::RecursiveUnionOperationOutput).
         303  +
    pub fn builder() -> crate::output::recursive_union_operation_output::Builder {
         304  +
        crate::output::recursive_union_operation_output::Builder::default()
  408    305   
    }
         306  +
}
         307  +
         308  +
#[allow(missing_docs)] // documentation missing in model
         309  +
#[derive(::std::fmt::Debug)]
         310  +
pub struct StreamingOperationOutput {
  409    311   
    #[allow(missing_docs)] // documentation missing in model
  410         -
    pub fn required_double(&self) -> f64 {
  411         -
        self.required_double
  412         -
    }
         312  +
    pub events: ::aws_smithy_http::event_stream::EventStreamSender<
         313  +
        crate::model::Events,
         314  +
        ::aws_smithy_http::event_stream::MessageStreamError,
         315  +
    >,
         316  +
}
         317  +
impl StreamingOperationOutput {
  413    318   
    #[allow(missing_docs)] // documentation missing in model
  414         -
    pub fn required_timestamp(&self) -> &::aws_smithy_types::DateTime {
  415         -
        &self.required_timestamp
         319  +
    pub fn events(
         320  +
        &self,
         321  +
    ) -> &::aws_smithy_http::event_stream::EventStreamSender<
         322  +
        crate::model::Events,
         323  +
        ::aws_smithy_http::event_stream::MessageStreamError,
         324  +
    > {
         325  +
        &self.events
  416    326   
    }
  417         -
    #[allow(missing_docs)] // documentation missing in model
  418         -
    pub fn required_enum(&self) -> &crate::model::Suit {
  419         -
        &self.required_enum
         327  +
}
         328  +
impl StreamingOperationOutput {
         329  +
    /// Creates a new builder-style object to manufacture [`StreamingOperationOutput`](crate::output::StreamingOperationOutput).
         330  +
    pub fn builder() -> crate::output::streaming_operation_output::Builder {
         331  +
        crate::output::streaming_operation_output::Builder::default()
  420    332   
    }
  421    333   
}
  422         -
impl SimpleStructOperationOutput {
  423         -
    /// Creates a new builder-style object to manufacture [`SimpleStructOperationOutput`](crate::output::SimpleStructOperationOutput).
  424         -
    pub fn builder() -> crate::output::simple_struct_operation_output::Builder {
  425         -
        crate::output::simple_struct_operation_output::Builder::default()
         334  +
         335  +
#[allow(missing_docs)] // documentation missing in model
         336  +
#[derive(::std::fmt::Debug)]
         337  +
pub struct StreamingOperationWithInitialDataOutput {
         338  +
    #[allow(missing_docs)] // documentation missing in model
         339  +
    pub events: ::aws_smithy_http::event_stream::EventStreamSender<
         340  +
        crate::model::Events,
         341  +
        ::aws_smithy_http::event_stream::MessageStreamError,
         342  +
    >,
         343  +
}
         344  +
impl StreamingOperationWithInitialDataOutput {
         345  +
    #[allow(missing_docs)] // documentation missing in model
         346  +
    pub fn events(
         347  +
        &self,
         348  +
    ) -> &::aws_smithy_http::event_stream::EventStreamSender<
         349  +
        crate::model::Events,
         350  +
        ::aws_smithy_http::event_stream::MessageStreamError,
         351  +
    > {
         352  +
        &self.events
  426    353   
    }
  427    354   
}
  428         -
/// See [`StreamingOperationWithOptionalDataOutput`](crate::output::StreamingOperationWithOptionalDataOutput).
  429         -
pub mod streaming_operation_with_optional_data_output {
         355  +
impl StreamingOperationWithInitialDataOutput {
         356  +
    /// Creates a new builder-style object to manufacture [`StreamingOperationWithInitialDataOutput`](crate::output::StreamingOperationWithInitialDataOutput).
         357  +
    pub fn builder() -> crate::output::streaming_operation_with_initial_data_output::Builder {
         358  +
        crate::output::streaming_operation_with_initial_data_output::Builder::default()
         359  +
    }
         360  +
}
         361  +
         362  +
#[allow(missing_docs)] // documentation missing in model
         363  +
#[derive(::std::fmt::Debug)]
         364  +
pub struct StreamingOperationWithInitialResponseOutput {
         365  +
    #[allow(missing_docs)] // documentation missing in model
         366  +
    pub response_data: ::std::string::String,
         367  +
    #[allow(missing_docs)] // documentation missing in model
         368  +
    pub events: ::aws_smithy_http::event_stream::EventStreamSender<
         369  +
        crate::model::Events,
         370  +
        ::aws_smithy_http::event_stream::MessageStreamError,
         371  +
    >,
         372  +
}
         373  +
impl StreamingOperationWithInitialResponseOutput {
         374  +
    #[allow(missing_docs)] // documentation missing in model
         375  +
    pub fn response_data(&self) -> &str {
         376  +
        use std::ops::Deref;
         377  +
        self.response_data.deref()
         378  +
    }
         379  +
    #[allow(missing_docs)] // documentation missing in model
         380  +
    pub fn events(
         381  +
        &self,
         382  +
    ) -> &::aws_smithy_http::event_stream::EventStreamSender<
         383  +
        crate::model::Events,
         384  +
        ::aws_smithy_http::event_stream::MessageStreamError,
         385  +
    > {
         386  +
        &self.events
         387  +
    }
         388  +
}
         389  +
impl StreamingOperationWithInitialResponseOutput {
         390  +
    /// Creates a new builder-style object to manufacture [`StreamingOperationWithInitialResponseOutput`](crate::output::StreamingOperationWithInitialResponseOutput).
         391  +
    pub fn builder() -> crate::output::streaming_operation_with_initial_response_output::Builder {
         392  +
        crate::output::streaming_operation_with_initial_response_output::Builder::default()
         393  +
    }
         394  +
}
         395  +
         396  +
#[allow(missing_docs)] // documentation missing in model
         397  +
#[derive(::std::fmt::Debug)]
         398  +
pub struct StreamingOperationWithOptionalDataOutput {
         399  +
    #[allow(missing_docs)] // documentation missing in model
         400  +
    pub optional_response_data: ::std::option::Option<::std::string::String>,
         401  +
    #[allow(missing_docs)] // documentation missing in model
         402  +
    pub events: ::aws_smithy_http::event_stream::EventStreamSender<
         403  +
        crate::model::Events,
         404  +
        ::aws_smithy_http::event_stream::MessageStreamError,
         405  +
    >,
         406  +
}
         407  +
impl StreamingOperationWithOptionalDataOutput {
         408  +
    #[allow(missing_docs)] // documentation missing in model
         409  +
    pub fn optional_response_data(&self) -> ::std::option::Option<&str> {
         410  +
        self.optional_response_data.as_deref()
         411  +
    }
         412  +
    #[allow(missing_docs)] // documentation missing in model
         413  +
    pub fn events(
         414  +
        &self,
         415  +
    ) -> &::aws_smithy_http::event_stream::EventStreamSender<
         416  +
        crate::model::Events,
         417  +
        ::aws_smithy_http::event_stream::MessageStreamError,
         418  +
    > {
         419  +
        &self.events
         420  +
    }
         421  +
}
         422  +
impl StreamingOperationWithOptionalDataOutput {
         423  +
    /// Creates a new builder-style object to manufacture [`StreamingOperationWithOptionalDataOutput`](crate::output::StreamingOperationWithOptionalDataOutput).
         424  +
    pub fn builder() -> crate::output::streaming_operation_with_optional_data_output::Builder {
         425  +
        crate::output::streaming_operation_with_optional_data_output::Builder::default()
         426  +
    }
         427  +
}
         428  +
/// See [`SimpleStructOperationOutput`](crate::output::SimpleStructOperationOutput).
         429  +
pub mod simple_struct_operation_output {
  430    430   
  431    431   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
  432    432   
    /// Holds one variant for each of the ways the builder can fail.
  433    433   
    #[non_exhaustive]
  434    434   
    #[allow(clippy::enum_variant_names)]
  435    435   
    pub enum ConstraintViolation {
  436         -
        /// `events` was not provided but it is required when building `StreamingOperationWithOptionalDataOutput`.
  437         -
        MissingEvents,
         436  +
        /// `required_blob` was not provided but it is required when building `SimpleStructOperationOutput`.
         437  +
        MissingRequiredBlob,
         438  +
        /// `required_boolean` was not provided but it is required when building `SimpleStructOperationOutput`.
         439  +
        MissingRequiredBoolean,
         440  +
        /// `required_string` was not provided but it is required when building `SimpleStructOperationOutput`.
         441  +
        MissingRequiredString,
         442  +
        /// `required_byte` was not provided but it is required when building `SimpleStructOperationOutput`.
         443  +
        MissingRequiredByte,
         444  +
        /// `required_short` was not provided but it is required when building `SimpleStructOperationOutput`.
         445  +
        MissingRequiredShort,
         446  +
        /// `required_integer` was not provided but it is required when building `SimpleStructOperationOutput`.
         447  +
        MissingRequiredInteger,
         448  +
        /// `required_long` was not provided but it is required when building `SimpleStructOperationOutput`.
         449  +
        MissingRequiredLong,
         450  +
        /// `required_float` was not provided but it is required when building `SimpleStructOperationOutput`.
         451  +
        MissingRequiredFloat,
         452  +
        /// `required_double` was not provided but it is required when building `SimpleStructOperationOutput`.
         453  +
        MissingRequiredDouble,
         454  +
        /// `required_timestamp` was not provided but it is required when building `SimpleStructOperationOutput`.
         455  +
        MissingRequiredTimestamp,
         456  +
        /// `required_enum` was not provided but it is required when building `SimpleStructOperationOutput`.
         457  +
        MissingRequiredEnum,
  438    458   
    }
  439    459   
    impl ::std::fmt::Display for ConstraintViolation {
  440    460   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  441    461   
            match self {
  442         -
                ConstraintViolation::MissingEvents => write!(f, "`events` was not provided but it is required when building `StreamingOperationWithOptionalDataOutput`"),
         462  +
                ConstraintViolation::MissingRequiredBlob => write!(f, "`required_blob` was not provided but it is required when building `SimpleStructOperationOutput`"),
         463  +
                ConstraintViolation::MissingRequiredBoolean => write!(f, "`required_boolean` was not provided but it is required when building `SimpleStructOperationOutput`"),
         464  +
                ConstraintViolation::MissingRequiredString => write!(f, "`required_string` was not provided but it is required when building `SimpleStructOperationOutput`"),
         465  +
                ConstraintViolation::MissingRequiredByte => write!(f, "`required_byte` was not provided but it is required when building `SimpleStructOperationOutput`"),
         466  +
                ConstraintViolation::MissingRequiredShort => write!(f, "`required_short` was not provided but it is required when building `SimpleStructOperationOutput`"),
         467  +
                ConstraintViolation::MissingRequiredInteger => write!(f, "`required_integer` was not provided but it is required when building `SimpleStructOperationOutput`"),
         468  +
                ConstraintViolation::MissingRequiredLong => write!(f, "`required_long` was not provided but it is required when building `SimpleStructOperationOutput`"),
         469  +
                ConstraintViolation::MissingRequiredFloat => write!(f, "`required_float` was not provided but it is required when building `SimpleStructOperationOutput`"),
         470  +
                ConstraintViolation::MissingRequiredDouble => write!(f, "`required_double` was not provided but it is required when building `SimpleStructOperationOutput`"),
         471  +
                ConstraintViolation::MissingRequiredTimestamp => write!(f, "`required_timestamp` was not provided but it is required when building `SimpleStructOperationOutput`"),
         472  +
                ConstraintViolation::MissingRequiredEnum => write!(f, "`required_enum` was not provided but it is required when building `SimpleStructOperationOutput`"),
  443    473   
            }
  444    474   
        }
  445    475   
    }
  446    476   
    impl ::std::error::Error for ConstraintViolation {}
  447         -
    impl ::std::convert::TryFrom<Builder> for crate::output::StreamingOperationWithOptionalDataOutput {
         477  +
    impl ::std::convert::TryFrom<Builder> for crate::output::SimpleStructOperationOutput {
  448    478   
        type Error = ConstraintViolation;
  449    479   
  450    480   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
  451    481   
            builder.build()
  452    482   
        }
  453    483   
    }
  454         -
    /// A builder for [`StreamingOperationWithOptionalDataOutput`](crate::output::StreamingOperationWithOptionalDataOutput).
  455         -
    #[derive(::std::default::Default, ::std::fmt::Debug)]
         484  +
    /// A builder for [`SimpleStructOperationOutput`](crate::output::SimpleStructOperationOutput).
         485  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
  456    486   
    pub struct Builder {
  457         -
        pub(crate) optional_response_data: ::std::option::Option<::std::string::String>,
  458         -
        pub(crate) events: ::std::option::Option<
  459         -
            ::aws_smithy_http::event_stream::EventStreamSender<
  460         -
                crate::model::Events,
  461         -
                ::aws_smithy_http::event_stream::MessageStreamError,
  462         -
            >,
  463         -
        >,
         487  +
        pub(crate) blob: ::std::option::Option<::aws_smithy_types::Blob>,
         488  +
        pub(crate) boolean: ::std::option::Option<bool>,
         489  +
        pub(crate) string: ::std::option::Option<::std::string::String>,
         490  +
        pub(crate) byte: ::std::option::Option<i8>,
         491  +
        pub(crate) short: ::std::option::Option<i16>,
         492  +
        pub(crate) integer: ::std::option::Option<i32>,
         493  +
        pub(crate) long: ::std::option::Option<i64>,
         494  +
        pub(crate) float: ::std::option::Option<f32>,
         495  +
        pub(crate) double: ::std::option::Option<f64>,
         496  +
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
         497  +
        pub(crate) r#enum: ::std::option::Option<crate::model::Suit>,
         498  +
        pub(crate) required_blob: ::std::option::Option<::aws_smithy_types::Blob>,
         499  +
        pub(crate) required_boolean: ::std::option::Option<bool>,
         500  +
        pub(crate) required_string: ::std::option::Option<::std::string::String>,
         501  +
        pub(crate) required_byte: ::std::option::Option<i8>,
         502  +
        pub(crate) required_short: ::std::option::Option<i16>,
         503  +
        pub(crate) required_integer: ::std::option::Option<i32>,
         504  +
        pub(crate) required_long: ::std::option::Option<i64>,
         505  +
        pub(crate) required_float: ::std::option::Option<f32>,
         506  +
        pub(crate) required_double: ::std::option::Option<f64>,
         507  +
        pub(crate) required_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
         508  +
        pub(crate) required_enum: ::std::option::Option<crate::model::Suit>,
  464    509   
    }
  465    510   
    impl Builder {
  466    511   
        #[allow(missing_docs)] // documentation missing in model
  467         -
        pub fn optional_response_data(
  468         -
            mut self,
  469         -
            input: ::std::option::Option<::std::string::String>,
  470         -
        ) -> Self {
  471         -
            self.optional_response_data = input;
         512  +
        pub fn blob(mut self, input: ::std::option::Option<::aws_smithy_types::Blob>) -> Self {
         513  +
            self.blob = input;
  472    514   
            self
  473    515   
        }
  474    516   
        #[allow(missing_docs)] // documentation missing in model
  475         -
        pub fn events(
  476         -
            mut self,
  477         -
            input: ::aws_smithy_http::event_stream::EventStreamSender<
  478         -
                crate::model::Events,
  479         -
                ::aws_smithy_http::event_stream::MessageStreamError,
  480         -
            >,
  481         -
        ) -> Self {
  482         -
            self.events = Some(input);
         517  +
        pub fn boolean(mut self, input: ::std::option::Option<bool>) -> Self {
         518  +
            self.boolean = input;
  483    519   
            self
  484    520   
        }
  485         -
        /// Consumes the builder and constructs a [`StreamingOperationWithOptionalDataOutput`](crate::output::StreamingOperationWithOptionalDataOutput).
  486         -
        ///
  487         -
        /// The builder fails to construct a [`StreamingOperationWithOptionalDataOutput`](crate::output::StreamingOperationWithOptionalDataOutput) if a [`ConstraintViolation`] occurs.
  488         -
        ///
  489         -
        pub fn build(
  490         -
            self,
  491         -
        ) -> Result<crate::output::StreamingOperationWithOptionalDataOutput, ConstraintViolation>
  492         -
        {
  493         -
            self.build_enforcing_all_constraints()
         521  +
        #[allow(missing_docs)] // documentation missing in model
         522  +
        pub fn string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         523  +
            self.string = input;
         524  +
            self
  494    525   
        }
  495         -
        fn build_enforcing_all_constraints(
  496         -
            self,
  497         -
        ) -> Result<crate::output::StreamingOperationWithOptionalDataOutput, ConstraintViolation>
  498         -
        {
  499         -
            Ok(crate::output::StreamingOperationWithOptionalDataOutput {
  500         -
                optional_response_data: self.optional_response_data,
  501         -
                events: self.events.ok_or(ConstraintViolation::MissingEvents)?,
  502         -
            })
         526  +
        #[allow(missing_docs)] // documentation missing in model
         527  +
        pub fn byte(mut self, input: ::std::option::Option<i8>) -> Self {
         528  +
            self.byte = input;
         529  +
            self
  503    530   
        }
  504         -
    }
  505         -
}
  506         -
/// See [`StreamingOperationWithInitialResponseOutput`](crate::output::StreamingOperationWithInitialResponseOutput).
  507         -
pub mod streaming_operation_with_initial_response_output {
  508         -
  509         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
  510         -
    /// Holds one variant for each of the ways the builder can fail.
  511         -
    #[non_exhaustive]
  512         -
    #[allow(clippy::enum_variant_names)]
  513         -
    pub enum ConstraintViolation {
  514         -
        /// `response_data` was not provided but it is required when building `StreamingOperationWithInitialResponseOutput`.
  515         -
        MissingResponseData,
  516         -
        /// `events` was not provided but it is required when building `StreamingOperationWithInitialResponseOutput`.
  517         -
        MissingEvents,
  518         -
    }
  519         -
    impl ::std::fmt::Display for ConstraintViolation {
  520         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  521         -
            match self {
  522         -
                ConstraintViolation::MissingResponseData => write!(f, "`response_data` was not provided but it is required when building `StreamingOperationWithInitialResponseOutput`"),
  523         -
                ConstraintViolation::MissingEvents => write!(f, "`events` was not provided but it is required when building `StreamingOperationWithInitialResponseOutput`"),
  524         -
            }
         531  +
        #[allow(missing_docs)] // documentation missing in model
         532  +
        pub fn short(mut self, input: ::std::option::Option<i16>) -> Self {
         533  +
            self.short = input;
         534  +
            self
  525    535   
        }
  526         -
    }
  527         -
    impl ::std::error::Error for ConstraintViolation {}
  528         -
    impl ::std::convert::TryFrom<Builder>
  529         -
        for crate::output::StreamingOperationWithInitialResponseOutput
  530         -
    {
  531         -
        type Error = ConstraintViolation;
  532         -
  533         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
  534         -
            builder.build()
         536  +
        #[allow(missing_docs)] // documentation missing in model
         537  +
        pub fn integer(mut self, input: ::std::option::Option<i32>) -> Self {
         538  +
            self.integer = input;
         539  +
            self
  535    540   
        }
  536         -
    }
  537         -
    /// A builder for [`StreamingOperationWithInitialResponseOutput`](crate::output::StreamingOperationWithInitialResponseOutput).
  538         -
    #[derive(::std::default::Default, ::std::fmt::Debug)]
  539         -
    pub struct Builder {
  540         -
        pub(crate) response_data: ::std::option::Option<::std::string::String>,
  541         -
        pub(crate) events: ::std::option::Option<
  542         -
            ::aws_smithy_http::event_stream::EventStreamSender<
  543         -
                crate::model::Events,
  544         -
                ::aws_smithy_http::event_stream::MessageStreamError,
  545         -
            >,
  546         -
        >,
  547         -
    }
  548         -
    impl Builder {
  549    541   
        #[allow(missing_docs)] // documentation missing in model
  550         -
        pub fn response_data(mut self, input: ::std::string::String) -> Self {
  551         -
            self.response_data = Some(input);
         542  +
        pub fn long(mut self, input: ::std::option::Option<i64>) -> Self {
         543  +
            self.long = input;
  552    544   
            self
  553    545   
        }
  554    546   
        #[allow(missing_docs)] // documentation missing in model
  555         -
        pub fn events(
         547  +
        pub fn float(mut self, input: ::std::option::Option<f32>) -> Self {
         548  +
            self.float = input;
         549  +
            self
         550  +
        }
         551  +
        #[allow(missing_docs)] // documentation missing in model
         552  +
        pub fn double(mut self, input: ::std::option::Option<f64>) -> Self {
         553  +
            self.double = input;
         554  +
            self
         555  +
        }
         556  +
        #[allow(missing_docs)] // documentation missing in model
         557  +
        pub fn timestamp(
  556    558   
            mut self,
  557         -
            input: ::aws_smithy_http::event_stream::EventStreamSender<
  558         -
                crate::model::Events,
  559         -
                ::aws_smithy_http::event_stream::MessageStreamError,
  560         -
            >,
         559  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
  561    560   
        ) -> Self {
  562         -
            self.events = Some(input);
         561  +
            self.timestamp = input;
  563    562   
            self
  564    563   
        }
  565         -
        /// Consumes the builder and constructs a [`StreamingOperationWithInitialResponseOutput`](crate::output::StreamingOperationWithInitialResponseOutput).
         564  +
        #[allow(missing_docs)] // documentation missing in model
         565  +
        pub fn r#enum(mut self, input: ::std::option::Option<crate::model::Suit>) -> Self {
         566  +
            self.r#enum = input;
         567  +
            self
         568  +
        }
         569  +
        #[allow(missing_docs)] // documentation missing in model
         570  +
        pub fn required_blob(mut self, input: ::aws_smithy_types::Blob) -> Self {
         571  +
            self.required_blob = Some(input);
         572  +
            self
         573  +
        }
         574  +
        #[allow(missing_docs)] // documentation missing in model
         575  +
        pub fn required_boolean(mut self, input: bool) -> Self {
         576  +
            self.required_boolean = Some(input);
         577  +
            self
         578  +
        }
         579  +
        #[allow(missing_docs)] // documentation missing in model
         580  +
        pub fn required_string(mut self, input: ::std::string::String) -> Self {
         581  +
            self.required_string = Some(input);
         582  +
            self
         583  +
        }
         584  +
        #[allow(missing_docs)] // documentation missing in model
         585  +
        pub fn required_byte(mut self, input: i8) -> Self {
         586  +
            self.required_byte = Some(input);
         587  +
            self
         588  +
        }
         589  +
        #[allow(missing_docs)] // documentation missing in model
         590  +
        pub fn required_short(mut self, input: i16) -> Self {
         591  +
            self.required_short = Some(input);
         592  +
            self
         593  +
        }
         594  +
        #[allow(missing_docs)] // documentation missing in model
         595  +
        pub fn required_integer(mut self, input: i32) -> Self {
         596  +
            self.required_integer = Some(input);
         597  +
            self
         598  +
        }
         599  +
        #[allow(missing_docs)] // documentation missing in model
         600  +
        pub fn required_long(mut self, input: i64) -> Self {
         601  +
            self.required_long = Some(input);
         602  +
            self
         603  +
        }
         604  +
        #[allow(missing_docs)] // documentation missing in model
         605  +
        pub fn required_float(mut self, input: f32) -> Self {
         606  +
            self.required_float = Some(input);
         607  +
            self
         608  +
        }
         609  +
        #[allow(missing_docs)] // documentation missing in model
         610  +
        pub fn required_double(mut self, input: f64) -> Self {
         611  +
            self.required_double = Some(input);
         612  +
            self
         613  +
        }
         614  +
        #[allow(missing_docs)] // documentation missing in model
         615  +
        pub fn required_timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
         616  +
            self.required_timestamp = Some(input);
         617  +
            self
         618  +
        }
         619  +
        #[allow(missing_docs)] // documentation missing in model
         620  +
        pub fn required_enum(mut self, input: crate::model::Suit) -> Self {
         621  +
            self.required_enum = Some(input);
         622  +
            self
         623  +
        }
         624  +
        /// Consumes the builder and constructs a [`SimpleStructOperationOutput`](crate::output::SimpleStructOperationOutput).
  566    625   
        ///
  567         -
        /// The builder fails to construct a [`StreamingOperationWithInitialResponseOutput`](crate::output::StreamingOperationWithInitialResponseOutput) if a [`ConstraintViolation`] occurs.
         626  +
        /// The builder fails to construct a [`SimpleStructOperationOutput`](crate::output::SimpleStructOperationOutput) if a [`ConstraintViolation`] occurs.
  568    627   
        ///
  569    628   
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
  570    629   
        pub fn build(
  571    630   
            self,
  572         -
        ) -> Result<crate::output::StreamingOperationWithInitialResponseOutput, ConstraintViolation>
  573         -
        {
         631  +
        ) -> Result<crate::output::SimpleStructOperationOutput, ConstraintViolation> {
  574    632   
            self.build_enforcing_all_constraints()
  575    633   
        }
  576    634   
        fn build_enforcing_all_constraints(
  577    635   
            self,
  578         -
        ) -> Result<crate::output::StreamingOperationWithInitialResponseOutput, ConstraintViolation>
  579         -
        {
  580         -
            Ok(crate::output::StreamingOperationWithInitialResponseOutput {
  581         -
                response_data: self
  582         -
                    .response_data
  583         -
                    .ok_or(ConstraintViolation::MissingResponseData)?,
  584         -
                events: self.events.ok_or(ConstraintViolation::MissingEvents)?,
         636  +
        ) -> Result<crate::output::SimpleStructOperationOutput, ConstraintViolation> {
         637  +
            Ok(crate::output::SimpleStructOperationOutput {
         638  +
                blob: self.blob,
         639  +
                boolean: self.boolean,
         640  +
                string: self.string,
         641  +
                byte: self.byte,
         642  +
                short: self.short,
         643  +
                integer: self.integer,
         644  +
                long: self.long,
         645  +
                float: self.float,
         646  +
                double: self.double,
         647  +
                timestamp: self.timestamp,
         648  +
                r#enum: self.r#enum,
         649  +
                required_blob: self
         650  +
                    .required_blob
         651  +
                    .ok_or(ConstraintViolation::MissingRequiredBlob)?,
         652  +
                required_boolean: self
         653  +
                    .required_boolean
         654  +
                    .ok_or(ConstraintViolation::MissingRequiredBoolean)?,
         655  +
                required_string: self
         656  +
                    .required_string
         657  +
                    .ok_or(ConstraintViolation::MissingRequiredString)?,
         658  +
                required_byte: self
         659  +
                    .required_byte
         660  +
                    .ok_or(ConstraintViolation::MissingRequiredByte)?,
         661  +
                required_short: self
         662  +
                    .required_short
         663  +
                    .ok_or(ConstraintViolation::MissingRequiredShort)?,
         664  +
                required_integer: self
         665  +
                    .required_integer
         666  +
                    .ok_or(ConstraintViolation::MissingRequiredInteger)?,
         667  +
                required_long: self
         668  +
                    .required_long
         669  +
                    .ok_or(ConstraintViolation::MissingRequiredLong)?,
         670  +
                required_float: self
         671  +
                    .required_float
         672  +
                    .ok_or(ConstraintViolation::MissingRequiredFloat)?,
         673  +
                required_double: self
         674  +
                    .required_double
         675  +
                    .ok_or(ConstraintViolation::MissingRequiredDouble)?,
         676  +
                required_timestamp: self
         677  +
                    .required_timestamp
         678  +
                    .ok_or(ConstraintViolation::MissingRequiredTimestamp)?,
         679  +
                required_enum: self
         680  +
                    .required_enum
         681  +
                    .ok_or(ConstraintViolation::MissingRequiredEnum)?,
  585    682   
            })
  586    683   
        }
  587    684   
    }
  588    685   
}
  589         -
/// See [`StreamingOperationWithInitialDataOutput`](crate::output::StreamingOperationWithInitialDataOutput).
  590         -
pub mod streaming_operation_with_initial_data_output {
  591         -
  592         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
  593         -
    /// Holds one variant for each of the ways the builder can fail.
  594         -
    #[non_exhaustive]
  595         -
    #[allow(clippy::enum_variant_names)]
  596         -
    pub enum ConstraintViolation {
  597         -
        /// `events` was not provided but it is required when building `StreamingOperationWithInitialDataOutput`.
  598         -
        MissingEvents,
  599         -
    }
  600         -
    impl ::std::fmt::Display for ConstraintViolation {
  601         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  602         -
            match self {
  603         -
                ConstraintViolation::MissingEvents => write!(f, "`events` was not provided but it is required when building `StreamingOperationWithInitialDataOutput`"),
  604         -
            }
  605         -
        }
  606         -
    }
  607         -
    impl ::std::error::Error for ConstraintViolation {}
  608         -
    impl ::std::convert::TryFrom<Builder> for crate::output::StreamingOperationWithInitialDataOutput {
  609         -
        type Error = ConstraintViolation;
         686  +
/// See [`ErrorSerializationOperationOutput`](crate::output::ErrorSerializationOperationOutput).
         687  +
pub mod error_serialization_operation_output {
  610    688   
  611         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
         689  +
    impl ::std::convert::From<Builder> for crate::output::ErrorSerializationOperationOutput {
         690  +
        fn from(builder: Builder) -> Self {
  612    691   
            builder.build()
  613    692   
        }
  614    693   
    }
  615         -
    /// A builder for [`StreamingOperationWithInitialDataOutput`](crate::output::StreamingOperationWithInitialDataOutput).
  616         -
    #[derive(::std::default::Default, ::std::fmt::Debug)]
         694  +
    /// A builder for [`ErrorSerializationOperationOutput`](crate::output::ErrorSerializationOperationOutput).
         695  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
  617    696   
    pub struct Builder {
  618         -
        pub(crate) events: ::std::option::Option<
  619         -
            ::aws_smithy_http::event_stream::EventStreamSender<
  620         -
                crate::model::Events,
  621         -
                ::aws_smithy_http::event_stream::MessageStreamError,
  622         -
            >,
  623         -
        >,
         697  +
        pub(crate) error_shape: ::std::option::Option<crate::error::ValidationException>,
  624    698   
    }
  625    699   
    impl Builder {
  626         -
        #[allow(missing_docs)] // documentation missing in model
  627         -
        pub fn events(
         700  +
        /// A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.
         701  +
        pub fn error_shape(
  628    702   
            mut self,
  629         -
            input: ::aws_smithy_http::event_stream::EventStreamSender<
  630         -
                crate::model::Events,
  631         -
                ::aws_smithy_http::event_stream::MessageStreamError,
  632         -
            >,
         703  +
            input: ::std::option::Option<crate::error::ValidationException>,
  633    704   
        ) -> Self {
  634         -
            self.events = Some(input);
         705  +
            self.error_shape = input;
  635    706   
            self
  636         -
        }
  637         -
        /// Consumes the builder and constructs a [`StreamingOperationWithInitialDataOutput`](crate::output::StreamingOperationWithInitialDataOutput).
  638         -
        ///
  639         -
        /// The builder fails to construct a [`StreamingOperationWithInitialDataOutput`](crate::output::StreamingOperationWithInitialDataOutput) if a [`ConstraintViolation`] occurs.
  640         -
        ///
  641         -
        pub fn build(
  642         -
            self,
  643         -
        ) -> Result<crate::output::StreamingOperationWithInitialDataOutput, ConstraintViolation>
  644         -
        {
         707  +
        }
         708  +
        /// Consumes the builder and constructs a [`ErrorSerializationOperationOutput`](crate::output::ErrorSerializationOperationOutput).
         709  +
        pub fn build(self) -> crate::output::ErrorSerializationOperationOutput {
  645    710   
            self.build_enforcing_all_constraints()
  646    711   
        }
  647    712   
        fn build_enforcing_all_constraints(
  648    713   
            self,
  649         -
        ) -> Result<crate::output::StreamingOperationWithInitialDataOutput, ConstraintViolation>
  650         -
        {
  651         -
            Ok(crate::output::StreamingOperationWithInitialDataOutput {
  652         -
                events: self.events.ok_or(ConstraintViolation::MissingEvents)?,
  653         -
            })
         714  +
        ) -> crate::output::ErrorSerializationOperationOutput {
         715  +
            crate::output::ErrorSerializationOperationOutput {
         716  +
                error_shape: self.error_shape,
         717  +
            }
  654    718   
        }
  655    719   
    }
  656    720   
}
  657         -
/// See [`StreamingOperationOutput`](crate::output::StreamingOperationOutput).
  658         -
pub mod streaming_operation_output {
         721  +
/// See [`ComplexStructOperationOutput`](crate::output::ComplexStructOperationOutput).
         722  +
pub mod complex_struct_operation_output {
  659    723   
  660    724   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
  661    725   
    /// Holds one variant for each of the ways the builder can fail.
  662    726   
    #[non_exhaustive]
  663    727   
    #[allow(clippy::enum_variant_names)]
  664    728   
    pub enum ConstraintViolation {
  665         -
        /// `events` was not provided but it is required when building `StreamingOperationOutput`.
  666         -
        MissingEvents,
         729  +
        /// `complex_list` was not provided but it is required when building `ComplexStructOperationOutput`.
         730  +
        MissingComplexList,
         731  +
        /// `complex_map` was not provided but it is required when building `ComplexStructOperationOutput`.
         732  +
        MissingComplexMap,
         733  +
        /// `complex_union` was not provided but it is required when building `ComplexStructOperationOutput`.
         734  +
        MissingComplexUnion,
  667    735   
    }
  668    736   
    impl ::std::fmt::Display for ConstraintViolation {
  669    737   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  670    738   
            match self {
  671         -
                ConstraintViolation::MissingEvents => write!(f, "`events` was not provided but it is required when building `StreamingOperationOutput`"),
         739  +
                ConstraintViolation::MissingComplexList => write!(f, "`complex_list` was not provided but it is required when building `ComplexStructOperationOutput`"),
         740  +
                ConstraintViolation::MissingComplexMap => write!(f, "`complex_map` was not provided but it is required when building `ComplexStructOperationOutput`"),
         741  +
                ConstraintViolation::MissingComplexUnion => write!(f, "`complex_union` was not provided but it is required when building `ComplexStructOperationOutput`"),
  672    742   
            }
  673    743   
        }
  674    744   
    }
  675    745   
    impl ::std::error::Error for ConstraintViolation {}
  676         -
    impl ::std::convert::TryFrom<Builder> for crate::output::StreamingOperationOutput {
         746  +
    impl ::std::convert::TryFrom<Builder> for crate::output::ComplexStructOperationOutput {
  677    747   
        type Error = ConstraintViolation;
  678    748   
  679    749   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
  680    750   
            builder.build()
  681    751   
        }
  682    752   
    }
  683         -
    /// A builder for [`StreamingOperationOutput`](crate::output::StreamingOperationOutput).
  684         -
    #[derive(::std::default::Default, ::std::fmt::Debug)]
         753  +
    /// A builder for [`ComplexStructOperationOutput`](crate::output::ComplexStructOperationOutput).
         754  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
  685    755   
    pub struct Builder {
  686         -
        pub(crate) events: ::std::option::Option<
  687         -
            ::aws_smithy_http::event_stream::EventStreamSender<
  688         -
                crate::model::Events,
  689         -
                ::aws_smithy_http::event_stream::MessageStreamError,
         756  +
        pub(crate) structure: ::std::option::Option<crate::model::SimpleStruct>,
         757  +
        pub(crate) empty_structure: ::std::option::Option<crate::model::EmptyStruct>,
         758  +
        pub(crate) list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         759  +
        pub(crate) map:
         760  +
            ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
         761  +
        pub(crate) union: ::std::option::Option<crate::model::SimpleUnion>,
         762  +
        pub(crate) unit_union: ::std::option::Option<crate::model::UnitUnion>,
         763  +
        pub(crate) structure_list:
         764  +
            ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
         765  +
        pub(crate) complex_list: ::std::option::Option<
         766  +
            ::std::vec::Vec<
         767  +
                ::std::collections::HashMap<::std::string::String, crate::model::ComplexUnion>,
  690    768   
            >,
  691    769   
        >,
         770  +
        pub(crate) complex_map: ::std::option::Option<
         771  +
            ::std::collections::HashMap<::std::string::String, crate::model::ComplexUnion>,
         772  +
        >,
         773  +
        pub(crate) complex_union:
         774  +
            ::std::option::Option<::std::boxed::Box<crate::model::ComplexUnion>>,
  692    775   
    }
  693    776   
    impl Builder {
  694    777   
        #[allow(missing_docs)] // documentation missing in model
  695         -
        pub fn events(
         778  +
        pub fn structure(
  696    779   
            mut self,
  697         -
            input: ::aws_smithy_http::event_stream::EventStreamSender<
  698         -
                crate::model::Events,
  699         -
                ::aws_smithy_http::event_stream::MessageStreamError,
         780  +
            input: ::std::option::Option<crate::model::SimpleStruct>,
         781  +
        ) -> Self {
         782  +
            self.structure = input;
         783  +
            self
         784  +
        }
         785  +
        #[allow(missing_docs)] // documentation missing in model
         786  +
        pub fn empty_structure(
         787  +
            mut self,
         788  +
            input: ::std::option::Option<crate::model::EmptyStruct>,
         789  +
        ) -> Self {
         790  +
            self.empty_structure = input;
         791  +
            self
         792  +
        }
         793  +
        #[allow(missing_docs)] // documentation missing in model
         794  +
        pub fn list(
         795  +
            mut self,
         796  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         797  +
        ) -> Self {
         798  +
            self.list = input;
         799  +
            self
         800  +
        }
         801  +
        #[allow(missing_docs)] // documentation missing in model
         802  +
        pub fn map(
         803  +
            mut self,
         804  +
            input: ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
         805  +
        ) -> Self {
         806  +
            self.map = input;
         807  +
            self
         808  +
        }
         809  +
        #[allow(missing_docs)] // documentation missing in model
         810  +
        pub fn union(mut self, input: ::std::option::Option<crate::model::SimpleUnion>) -> Self {
         811  +
            self.union = input;
         812  +
            self
         813  +
        }
         814  +
        #[allow(missing_docs)] // documentation missing in model
         815  +
        pub fn unit_union(mut self, input: ::std::option::Option<crate::model::UnitUnion>) -> Self {
         816  +
            self.unit_union = input;
         817  +
            self
         818  +
        }
         819  +
        #[allow(missing_docs)] // documentation missing in model
         820  +
        pub fn structure_list(
         821  +
            mut self,
         822  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
         823  +
        ) -> Self {
         824  +
            self.structure_list = input;
         825  +
            self
         826  +
        }
         827  +
        #[allow(missing_docs)] // documentation missing in model
         828  +
        pub fn complex_list(
         829  +
            mut self,
         830  +
            input: ::std::vec::Vec<
         831  +
                ::std::collections::HashMap<::std::string::String, crate::model::ComplexUnion>,
  700    832   
            >,
  701    833   
        ) -> Self {
  702         -
            self.events = Some(input);
         834  +
            self.complex_list = Some(input);
  703    835   
            self
  704    836   
        }
  705         -
        /// Consumes the builder and constructs a [`StreamingOperationOutput`](crate::output::StreamingOperationOutput).
         837  +
        #[allow(missing_docs)] // documentation missing in model
         838  +
        pub fn complex_map(
         839  +
            mut self,
         840  +
            input: ::std::collections::HashMap<::std::string::String, crate::model::ComplexUnion>,
         841  +
        ) -> Self {
         842  +
            self.complex_map = Some(input);
         843  +
            self
         844  +
        }
         845  +
        #[allow(missing_docs)] // documentation missing in model
         846  +
        pub fn complex_union(
         847  +
            mut self,
         848  +
            input: ::std::boxed::Box<crate::model::ComplexUnion>,
         849  +
        ) -> Self {
         850  +
            self.complex_union = Some(input);
         851  +
            self
         852  +
        }
         853  +
        /// Consumes the builder and constructs a [`ComplexStructOperationOutput`](crate::output::ComplexStructOperationOutput).
  706    854   
        ///
  707         -
        /// The builder fails to construct a [`StreamingOperationOutput`](crate::output::StreamingOperationOutput) if a [`ConstraintViolation`] occurs.
         855  +
        /// The builder fails to construct a [`ComplexStructOperationOutput`](crate::output::ComplexStructOperationOutput) if a [`ConstraintViolation`] occurs.
  708    856   
        ///
  709         -
        pub fn build(self) -> Result<crate::output::StreamingOperationOutput, ConstraintViolation> {
         857  +
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
         858  +
        pub fn build(
         859  +
            self,
         860  +
        ) -> Result<crate::output::ComplexStructOperationOutput, ConstraintViolation> {
  710    861   
            self.build_enforcing_all_constraints()
  711    862   
        }
  712    863   
        fn build_enforcing_all_constraints(
  713    864   
            self,
  714         -
        ) -> Result<crate::output::StreamingOperationOutput, ConstraintViolation> {
  715         -
            Ok(crate::output::StreamingOperationOutput {
  716         -
                events: self.events.ok_or(ConstraintViolation::MissingEvents)?,
         865  +
        ) -> Result<crate::output::ComplexStructOperationOutput, ConstraintViolation> {
         866  +
            Ok(crate::output::ComplexStructOperationOutput {
         867  +
                structure: self.structure,
         868  +
                empty_structure: self.empty_structure,
         869  +
                list: self.list,
         870  +
                map: self.map,
         871  +
                union: self.union,
         872  +
                unit_union: self.unit_union,
         873  +
                structure_list: self.structure_list,
         874  +
                complex_list: self
         875  +
                    .complex_list
         876  +
                    .ok_or(ConstraintViolation::MissingComplexList)?,
         877  +
                complex_map: self
         878  +
                    .complex_map
         879  +
                    .ok_or(ConstraintViolation::MissingComplexMap)?,
         880  +
                complex_union: self
         881  +
                    .complex_union
         882  +
                    .ok_or(ConstraintViolation::MissingComplexUnion)?,
  717    883   
            })
  718    884   
        }
  719    885   
    }
  720    886   
}
  721         -
/// See [`RecursiveUnionOperationOutput`](crate::output::RecursiveUnionOperationOutput).
  722         -
pub mod recursive_union_operation_output {
         887  +
/// See [`EmptyStructOperationOutput`](crate::output::EmptyStructOperationOutput).
         888  +
pub mod empty_struct_operation_output {
  723    889   
  724         -
    impl ::std::convert::From<Builder> for crate::output::RecursiveUnionOperationOutput {
         890  +
    impl ::std::convert::From<Builder> for crate::output::EmptyStructOperationOutput {
  725    891   
        fn from(builder: Builder) -> Self {
  726    892   
            builder.build()
  727    893   
        }
  728    894   
    }
  729         -
    /// A builder for [`RecursiveUnionOperationOutput`](crate::output::RecursiveUnionOperationOutput).
         895  +
    /// A builder for [`EmptyStructOperationOutput`](crate::output::EmptyStructOperationOutput).
  730    896   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
  731         -
    pub struct Builder {
  732         -
        pub(crate) nested:
  733         -
            ::std::option::Option<crate::model::RecursiveOperationInputOutputNested1>,
  734         -
    }
         897  +
    pub struct Builder {}
  735    898   
    impl Builder {
  736         -
        #[allow(missing_docs)] // documentation missing in model
  737         -
        pub fn nested(
  738         -
            mut self,
  739         -
            input: ::std::option::Option<crate::model::RecursiveOperationInputOutputNested1>,
  740         -
        ) -> Self {
  741         -
            self.nested = input;
  742         -
            self
  743         -
        }
  744         -
        /// Consumes the builder and constructs a [`RecursiveUnionOperationOutput`](crate::output::RecursiveUnionOperationOutput).
  745         -
        pub fn build(self) -> crate::output::RecursiveUnionOperationOutput {
         899  +
        /// Consumes the builder and constructs a [`EmptyStructOperationOutput`](crate::output::EmptyStructOperationOutput).
         900  +
        pub fn build(self) -> crate::output::EmptyStructOperationOutput {
  746    901   
            self.build_enforcing_all_constraints()
  747    902   
        }
  748         -
        fn build_enforcing_all_constraints(self) -> crate::output::RecursiveUnionOperationOutput {
  749         -
            crate::output::RecursiveUnionOperationOutput {
  750         -
                nested: self.nested,
  751         -
            }
         903  +
        fn build_enforcing_all_constraints(self) -> crate::output::EmptyStructOperationOutput {
         904  +
            crate::output::EmptyStructOperationOutput {}
  752    905   
        }
  753    906   
    }
  754    907   
}
  755    908   
/// See [`SingleMemberStructOperationOutput`](crate::output::SingleMemberStructOperationOutput).
  756    909   
pub mod single_member_struct_operation_output {
  757    910   
  758    911   
    impl ::std::convert::From<Builder> for crate::output::SingleMemberStructOperationOutput {
  759    912   
        fn from(builder: Builder) -> Self {
  760    913   
            builder.build()
  761    914   
        }
  762    915   
    }
  763    916   
    /// A builder for [`SingleMemberStructOperationOutput`](crate::output::SingleMemberStructOperationOutput).
  764    917   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
  765    918   
    pub struct Builder {
  766    919   
        pub(crate) message: ::std::option::Option<::std::string::String>,
  767    920   
    }
  768    921   
    impl Builder {
  769    922   
        #[allow(missing_docs)] // documentation missing in model
  770    923   
        pub fn message(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  771    924   
            self.message = input;
  772    925   
            self
  773    926   
        }
  774    927   
        /// Consumes the builder and constructs a [`SingleMemberStructOperationOutput`](crate::output::SingleMemberStructOperationOutput).
  775    928   
        pub fn build(self) -> crate::output::SingleMemberStructOperationOutput {
  776    929   
            self.build_enforcing_all_constraints()
  777    930   
        }
  778    931   
        fn build_enforcing_all_constraints(
  779    932   
            self,
  780    933   
        ) -> crate::output::SingleMemberStructOperationOutput {
  781    934   
            crate::output::SingleMemberStructOperationOutput {
  782    935   
                message: self.message,
  783    936   
            }
  784    937   
        }
  785    938   
    }
  786    939   
}
  787         -
/// See [`EmptyStructOperationOutput`](crate::output::EmptyStructOperationOutput).
  788         -
pub mod empty_struct_operation_output {
         940  +
/// See [`RecursiveUnionOperationOutput`](crate::output::RecursiveUnionOperationOutput).
         941  +
pub mod recursive_union_operation_output {
  789    942   
  790         -
    impl ::std::convert::From<Builder> for crate::output::EmptyStructOperationOutput {
         943  +
    impl ::std::convert::From<Builder> for crate::output::RecursiveUnionOperationOutput {
  791    944   
        fn from(builder: Builder) -> Self {
  792    945   
            builder.build()
  793    946   
        }
  794    947   
    }
  795         -
    /// A builder for [`EmptyStructOperationOutput`](crate::output::EmptyStructOperationOutput).
  796         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
  797         -
    pub struct Builder {}
         948  +
    /// A builder for [`RecursiveUnionOperationOutput`](crate::output::RecursiveUnionOperationOutput).
         949  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         950  +
    pub struct Builder {
         951  +
        pub(crate) nested:
         952  +
            ::std::option::Option<crate::model::RecursiveOperationInputOutputNested1>,
         953  +
    }
         954  +
    impl Builder {
         955  +
        #[allow(missing_docs)] // documentation missing in model
         956  +
        pub fn nested(
         957  +
            mut self,
         958  +
            input: ::std::option::Option<crate::model::RecursiveOperationInputOutputNested1>,
         959  +
        ) -> Self {
         960  +
            self.nested = input;
         961  +
            self
         962  +
        }
         963  +
        /// Consumes the builder and constructs a [`RecursiveUnionOperationOutput`](crate::output::RecursiveUnionOperationOutput).
         964  +
        pub fn build(self) -> crate::output::RecursiveUnionOperationOutput {
         965  +
            self.build_enforcing_all_constraints()
         966  +
        }
         967  +
        fn build_enforcing_all_constraints(self) -> crate::output::RecursiveUnionOperationOutput {
         968  +
            crate::output::RecursiveUnionOperationOutput {
         969  +
                nested: self.nested,
         970  +
            }
         971  +
        }
         972  +
    }
         973  +
}
         974  +
/// See [`StreamingOperationOutput`](crate::output::StreamingOperationOutput).
         975  +
pub mod streaming_operation_output {
         976  +
         977  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
         978  +
    /// Holds one variant for each of the ways the builder can fail.
         979  +
    #[non_exhaustive]
         980  +
    #[allow(clippy::enum_variant_names)]
         981  +
    pub enum ConstraintViolation {
         982  +
        /// `events` was not provided but it is required when building `StreamingOperationOutput`.
         983  +
        MissingEvents,
         984  +
    }
         985  +
    impl ::std::fmt::Display for ConstraintViolation {
         986  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
         987  +
            match self {
         988  +
                ConstraintViolation::MissingEvents => write!(f, "`events` was not provided but it is required when building `StreamingOperationOutput`"),
         989  +
            }
         990  +
        }
         991  +
    }
         992  +
    impl ::std::error::Error for ConstraintViolation {}
         993  +
    impl ::std::convert::TryFrom<Builder> for crate::output::StreamingOperationOutput {
         994  +
        type Error = ConstraintViolation;
         995  +
         996  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
         997  +
            builder.build()
         998  +
        }
         999  +
    }
        1000  +
    /// A builder for [`StreamingOperationOutput`](crate::output::StreamingOperationOutput).
        1001  +
    #[derive(::std::default::Default, ::std::fmt::Debug)]
        1002  +
    pub struct Builder {
        1003  +
        pub(crate) events: ::std::option::Option<
        1004  +
            ::aws_smithy_http::event_stream::EventStreamSender<
        1005  +
                crate::model::Events,
        1006  +
                ::aws_smithy_http::event_stream::MessageStreamError,
        1007  +
            >,
        1008  +
        >,
        1009  +
    }
  798   1010   
    impl Builder {
  799         -
        /// Consumes the builder and constructs a [`EmptyStructOperationOutput`](crate::output::EmptyStructOperationOutput).
  800         -
        pub fn build(self) -> crate::output::EmptyStructOperationOutput {
        1011  +
        #[allow(missing_docs)] // documentation missing in model
        1012  +
        pub fn events(
        1013  +
            mut self,
        1014  +
            input: ::aws_smithy_http::event_stream::EventStreamSender<
        1015  +
                crate::model::Events,
        1016  +
                ::aws_smithy_http::event_stream::MessageStreamError,
        1017  +
            >,
        1018  +
        ) -> Self {
        1019  +
            self.events = Some(input);
        1020  +
            self
        1021  +
        }
        1022  +
        /// Consumes the builder and constructs a [`StreamingOperationOutput`](crate::output::StreamingOperationOutput).
        1023  +
        ///
        1024  +
        /// The builder fails to construct a [`StreamingOperationOutput`](crate::output::StreamingOperationOutput) if a [`ConstraintViolation`] occurs.
        1025  +
        ///
        1026  +
        pub fn build(self) -> Result<crate::output::StreamingOperationOutput, ConstraintViolation> {
  801   1027   
            self.build_enforcing_all_constraints()
  802   1028   
        }
  803         -
        fn build_enforcing_all_constraints(self) -> crate::output::EmptyStructOperationOutput {
  804         -
            crate::output::EmptyStructOperationOutput {}
        1029  +
        fn build_enforcing_all_constraints(
        1030  +
            self,
        1031  +
        ) -> Result<crate::output::StreamingOperationOutput, ConstraintViolation> {
        1032  +
            Ok(crate::output::StreamingOperationOutput {
        1033  +
                events: self.events.ok_or(ConstraintViolation::MissingEvents)?,
        1034  +
            })
  805   1035   
        }
  806   1036   
    }
  807   1037   
}
  808         -
/// See [`ComplexStructOperationOutput`](crate::output::ComplexStructOperationOutput).
  809         -
pub mod complex_struct_operation_output {
        1038  +
/// See [`StreamingOperationWithInitialDataOutput`](crate::output::StreamingOperationWithInitialDataOutput).
        1039  +
pub mod streaming_operation_with_initial_data_output {
  810   1040   
  811   1041   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
  812   1042   
    /// Holds one variant for each of the ways the builder can fail.
  813   1043   
    #[non_exhaustive]
  814   1044   
    #[allow(clippy::enum_variant_names)]
  815   1045   
    pub enum ConstraintViolation {
  816         -
        /// `complex_list` was not provided but it is required when building `ComplexStructOperationOutput`.
  817         -
        MissingComplexList,
  818         -
        /// `complex_map` was not provided but it is required when building `ComplexStructOperationOutput`.
  819         -
        MissingComplexMap,
  820         -
        /// `complex_union` was not provided but it is required when building `ComplexStructOperationOutput`.
  821         -
        MissingComplexUnion,
        1046  +
        /// `events` was not provided but it is required when building `StreamingOperationWithInitialDataOutput`.
        1047  +
        MissingEvents,
  822   1048   
    }
  823   1049   
    impl ::std::fmt::Display for ConstraintViolation {
  824   1050   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  825   1051   
            match self {
  826         -
                ConstraintViolation::MissingComplexList => write!(f, "`complex_list` was not provided but it is required when building `ComplexStructOperationOutput`"),
  827         -
                ConstraintViolation::MissingComplexMap => write!(f, "`complex_map` was not provided but it is required when building `ComplexStructOperationOutput`"),
  828         -
                ConstraintViolation::MissingComplexUnion => write!(f, "`complex_union` was not provided but it is required when building `ComplexStructOperationOutput`"),
        1052  +
                ConstraintViolation::MissingEvents => write!(f, "`events` was not provided but it is required when building `StreamingOperationWithInitialDataOutput`"),
  829   1053   
            }
  830   1054   
        }
  831   1055   
    }
  832   1056   
    impl ::std::error::Error for ConstraintViolation {}
  833         -
    impl ::std::convert::TryFrom<Builder> for crate::output::ComplexStructOperationOutput {
        1057  +
    impl ::std::convert::TryFrom<Builder> for crate::output::StreamingOperationWithInitialDataOutput {
  834   1058   
        type Error = ConstraintViolation;
  835   1059   
  836   1060   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
  837   1061   
            builder.build()
  838   1062   
        }
  839   1063   
    }
  840         -
    /// A builder for [`ComplexStructOperationOutput`](crate::output::ComplexStructOperationOutput).
  841         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1064  +
    /// A builder for [`StreamingOperationWithInitialDataOutput`](crate::output::StreamingOperationWithInitialDataOutput).
        1065  +
    #[derive(::std::default::Default, ::std::fmt::Debug)]
  842   1066   
    pub struct Builder {
  843         -
        pub(crate) structure: ::std::option::Option<crate::model::SimpleStruct>,
  844         -
        pub(crate) empty_structure: ::std::option::Option<crate::model::EmptyStruct>,
  845         -
        pub(crate) list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
  846         -
        pub(crate) map:
  847         -
            ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
  848         -
        pub(crate) union: ::std::option::Option<crate::model::SimpleUnion>,
  849         -
        pub(crate) unit_union: ::std::option::Option<crate::model::UnitUnion>,
  850         -
        pub(crate) structure_list:
  851         -
            ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
  852         -
        pub(crate) complex_list: ::std::option::Option<
  853         -
            ::std::vec::Vec<
  854         -
                ::std::collections::HashMap<::std::string::String, crate::model::ComplexUnion>,
        1067  +
        pub(crate) events: ::std::option::Option<
        1068  +
            ::aws_smithy_http::event_stream::EventStreamSender<
        1069  +
                crate::model::Events,
        1070  +
                ::aws_smithy_http::event_stream::MessageStreamError,
  855   1071   
            >,
  856   1072   
        >,
  857         -
        pub(crate) complex_map: ::std::option::Option<
  858         -
            ::std::collections::HashMap<::std::string::String, crate::model::ComplexUnion>,
  859         -
        >,
  860         -
        pub(crate) complex_union:
  861         -
            ::std::option::Option<::std::boxed::Box<crate::model::ComplexUnion>>,
  862   1073   
    }
  863   1074   
    impl Builder {
  864   1075   
        #[allow(missing_docs)] // documentation missing in model
  865         -
        pub fn structure(
  866         -
            mut self,
  867         -
            input: ::std::option::Option<crate::model::SimpleStruct>,
  868         -
        ) -> Self {
  869         -
            self.structure = input;
  870         -
            self
  871         -
        }
  872         -
        #[allow(missing_docs)] // documentation missing in model
  873         -
        pub fn empty_structure(
  874         -
            mut self,
  875         -
            input: ::std::option::Option<crate::model::EmptyStruct>,
  876         -
        ) -> Self {
  877         -
            self.empty_structure = input;
  878         -
            self
  879         -
        }
  880         -
        #[allow(missing_docs)] // documentation missing in model
  881         -
        pub fn list(
  882         -
            mut self,
  883         -
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
  884         -
        ) -> Self {
  885         -
            self.list = input;
  886         -
            self
  887         -
        }
  888         -
        #[allow(missing_docs)] // documentation missing in model
  889         -
        pub fn map(
  890         -
            mut self,
  891         -
            input: ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
  892         -
        ) -> Self {
  893         -
            self.map = input;
  894         -
            self
  895         -
        }
  896         -
        #[allow(missing_docs)] // documentation missing in model
  897         -
        pub fn union(mut self, input: ::std::option::Option<crate::model::SimpleUnion>) -> Self {
  898         -
            self.union = input;
  899         -
            self
  900         -
        }
  901         -
        #[allow(missing_docs)] // documentation missing in model
  902         -
        pub fn unit_union(mut self, input: ::std::option::Option<crate::model::UnitUnion>) -> Self {
  903         -
            self.unit_union = input;
  904         -
            self
  905         -
        }
  906         -
        #[allow(missing_docs)] // documentation missing in model
  907         -
        pub fn structure_list(
  908         -
            mut self,
  909         -
            input: ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
  910         -
        ) -> Self {
  911         -
            self.structure_list = input;
  912         -
            self
  913         -
        }
  914         -
        #[allow(missing_docs)] // documentation missing in model
  915         -
        pub fn complex_list(
        1076  +
        pub fn events(
  916   1077   
            mut self,
  917         -
            input: ::std::vec::Vec<
  918         -
                ::std::collections::HashMap<::std::string::String, crate::model::ComplexUnion>,
        1078  +
            input: ::aws_smithy_http::event_stream::EventStreamSender<
        1079  +
                crate::model::Events,
        1080  +
                ::aws_smithy_http::event_stream::MessageStreamError,
  919   1081   
            >,
  920   1082   
        ) -> Self {
  921         -
            self.complex_list = Some(input);
  922         -
            self
  923         -
        }
  924         -
        #[allow(missing_docs)] // documentation missing in model
  925         -
        pub fn complex_map(
  926         -
            mut self,
  927         -
            input: ::std::collections::HashMap<::std::string::String, crate::model::ComplexUnion>,
  928         -
        ) -> Self {
  929         -
            self.complex_map = Some(input);
  930         -
            self
  931         -
        }
  932         -
        #[allow(missing_docs)] // documentation missing in model
  933         -
        pub fn complex_union(
  934         -
            mut self,
  935         -
            input: ::std::boxed::Box<crate::model::ComplexUnion>,
  936         -
        ) -> Self {
  937         -
            self.complex_union = Some(input);
        1083  +
            self.events = Some(input);
  938   1084   
            self
  939   1085   
        }
  940         -
        /// Consumes the builder and constructs a [`ComplexStructOperationOutput`](crate::output::ComplexStructOperationOutput).
        1086  +
        /// Consumes the builder and constructs a [`StreamingOperationWithInitialDataOutput`](crate::output::StreamingOperationWithInitialDataOutput).
  941   1087   
        ///
  942         -
        /// The builder fails to construct a [`ComplexStructOperationOutput`](crate::output::ComplexStructOperationOutput) if a [`ConstraintViolation`] occurs.
        1088  +
        /// The builder fails to construct a [`StreamingOperationWithInitialDataOutput`](crate::output::StreamingOperationWithInitialDataOutput) if a [`ConstraintViolation`] occurs.
  943   1089   
        ///
  944         -
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
  945   1090   
        pub fn build(
  946   1091   
            self,
  947         -
        ) -> Result<crate::output::ComplexStructOperationOutput, ConstraintViolation> {
        1092  +
        ) -> Result<crate::output::StreamingOperationWithInitialDataOutput, ConstraintViolation>
        1093  +
        {
  948   1094   
            self.build_enforcing_all_constraints()
  949   1095   
        }
  950   1096   
        fn build_enforcing_all_constraints(
  951   1097   
            self,
  952         -
        ) -> Result<crate::output::ComplexStructOperationOutput, ConstraintViolation> {
  953         -
            Ok(crate::output::ComplexStructOperationOutput {
  954         -
                structure: self.structure,
  955         -
                empty_structure: self.empty_structure,
  956         -
                list: self.list,
  957         -
                map: self.map,
  958         -
                union: self.union,
  959         -
                unit_union: self.unit_union,
  960         -
                structure_list: self.structure_list,
  961         -
                complex_list: self
  962         -
                    .complex_list
  963         -
                    .ok_or(ConstraintViolation::MissingComplexList)?,
  964         -
                complex_map: self
  965         -
                    .complex_map
  966         -
                    .ok_or(ConstraintViolation::MissingComplexMap)?,
  967         -
                complex_union: self
  968         -
                    .complex_union
  969         -
                    .ok_or(ConstraintViolation::MissingComplexUnion)?,
        1098  +
        ) -> Result<crate::output::StreamingOperationWithInitialDataOutput, ConstraintViolation>
        1099  +
        {
        1100  +
            Ok(crate::output::StreamingOperationWithInitialDataOutput {
        1101  +
                events: self.events.ok_or(ConstraintViolation::MissingEvents)?,
  970   1102   
            })
  971   1103   
        }
  972   1104   
    }
  973   1105   
}
  974         -
/// See [`ErrorSerializationOperationOutput`](crate::output::ErrorSerializationOperationOutput).
  975         -
pub mod error_serialization_operation_output {
        1106  +
/// See [`StreamingOperationWithInitialResponseOutput`](crate::output::StreamingOperationWithInitialResponseOutput).
        1107  +
pub mod streaming_operation_with_initial_response_output {
  976   1108   
  977         -
    impl ::std::convert::From<Builder> for crate::output::ErrorSerializationOperationOutput {
  978         -
        fn from(builder: Builder) -> Self {
        1109  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        1110  +
    /// Holds one variant for each of the ways the builder can fail.
        1111  +
    #[non_exhaustive]
        1112  +
    #[allow(clippy::enum_variant_names)]
        1113  +
    pub enum ConstraintViolation {
        1114  +
        /// `response_data` was not provided but it is required when building `StreamingOperationWithInitialResponseOutput`.
        1115  +
        MissingResponseData,
        1116  +
        /// `events` was not provided but it is required when building `StreamingOperationWithInitialResponseOutput`.
        1117  +
        MissingEvents,
        1118  +
    }
        1119  +
    impl ::std::fmt::Display for ConstraintViolation {
        1120  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        1121  +
            match self {
        1122  +
                ConstraintViolation::MissingResponseData => write!(f, "`response_data` was not provided but it is required when building `StreamingOperationWithInitialResponseOutput`"),
        1123  +
                ConstraintViolation::MissingEvents => write!(f, "`events` was not provided but it is required when building `StreamingOperationWithInitialResponseOutput`"),
        1124  +
            }
        1125  +
        }
        1126  +
    }
        1127  +
    impl ::std::error::Error for ConstraintViolation {}
        1128  +
    impl ::std::convert::TryFrom<Builder>
        1129  +
        for crate::output::StreamingOperationWithInitialResponseOutput
        1130  +
    {
        1131  +
        type Error = ConstraintViolation;
        1132  +
        1133  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
  979   1134   
            builder.build()
  980   1135   
        }
  981   1136   
    }
  982         -
    /// A builder for [`ErrorSerializationOperationOutput`](crate::output::ErrorSerializationOperationOutput).
  983         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1137  +
    /// A builder for [`StreamingOperationWithInitialResponseOutput`](crate::output::StreamingOperationWithInitialResponseOutput).
        1138  +
    #[derive(::std::default::Default, ::std::fmt::Debug)]
  984   1139   
    pub struct Builder {
  985         -
        pub(crate) error_shape: ::std::option::Option<crate::error::ValidationException>,
        1140  +
        pub(crate) response_data: ::std::option::Option<::std::string::String>,
        1141  +
        pub(crate) events: ::std::option::Option<
        1142  +
            ::aws_smithy_http::event_stream::EventStreamSender<
        1143  +
                crate::model::Events,
        1144  +
                ::aws_smithy_http::event_stream::MessageStreamError,
        1145  +
            >,
        1146  +
        >,
  986   1147   
    }
  987   1148   
    impl Builder {
  988         -
        /// A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.
  989         -
        pub fn error_shape(
        1149  +
        #[allow(missing_docs)] // documentation missing in model
        1150  +
        pub fn response_data(mut self, input: ::std::string::String) -> Self {
        1151  +
            self.response_data = Some(input);
        1152  +
            self
        1153  +
        }
        1154  +
        #[allow(missing_docs)] // documentation missing in model
        1155  +
        pub fn events(
  990   1156   
            mut self,
  991         -
            input: ::std::option::Option<crate::error::ValidationException>,
        1157  +
            input: ::aws_smithy_http::event_stream::EventStreamSender<
        1158  +
                crate::model::Events,
        1159  +
                ::aws_smithy_http::event_stream::MessageStreamError,
        1160  +
            >,
  992   1161   
        ) -> Self {
  993         -
            self.error_shape = input;
        1162  +
            self.events = Some(input);
  994   1163   
            self
  995   1164   
        }
  996         -
        /// Consumes the builder and constructs a [`ErrorSerializationOperationOutput`](crate::output::ErrorSerializationOperationOutput).
  997         -
        pub fn build(self) -> crate::output::ErrorSerializationOperationOutput {
        1165  +
        /// Consumes the builder and constructs a [`StreamingOperationWithInitialResponseOutput`](crate::output::StreamingOperationWithInitialResponseOutput).
        1166  +
        ///
        1167  +
        /// The builder fails to construct a [`StreamingOperationWithInitialResponseOutput`](crate::output::StreamingOperationWithInitialResponseOutput) if a [`ConstraintViolation`] occurs.
        1168  +
        ///
        1169  +
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
        1170  +
        pub fn build(
        1171  +
            self,
        1172  +
        ) -> Result<crate::output::StreamingOperationWithInitialResponseOutput, ConstraintViolation>
        1173  +
        {
  998   1174   
            self.build_enforcing_all_constraints()
  999   1175   
        }
 1000   1176   
        fn build_enforcing_all_constraints(
 1001   1177   
            self,
 1002         -
        ) -> crate::output::ErrorSerializationOperationOutput {
 1003         -
            crate::output::ErrorSerializationOperationOutput {
 1004         -
                error_shape: self.error_shape,
 1005         -
            }
        1178  +
        ) -> Result<crate::output::StreamingOperationWithInitialResponseOutput, ConstraintViolation>
        1179  +
        {
        1180  +
            Ok(crate::output::StreamingOperationWithInitialResponseOutput {
        1181  +
                response_data: self
        1182  +
                    .response_data
        1183  +
                    .ok_or(ConstraintViolation::MissingResponseData)?,
        1184  +
                events: self.events.ok_or(ConstraintViolation::MissingEvents)?,
        1185  +
            })
 1006   1186   
        }
 1007   1187   
    }
 1008   1188   
}
 1009         -
/// See [`SimpleStructOperationOutput`](crate::output::SimpleStructOperationOutput).
 1010         -
pub mod simple_struct_operation_output {
        1189  +
/// See [`StreamingOperationWithOptionalDataOutput`](crate::output::StreamingOperationWithOptionalDataOutput).
        1190  +
pub mod streaming_operation_with_optional_data_output {
 1011   1191   
 1012   1192   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 1013   1193   
    /// Holds one variant for each of the ways the builder can fail.
 1014   1194   
    #[non_exhaustive]
 1015   1195   
    #[allow(clippy::enum_variant_names)]
 1016   1196   
    pub enum ConstraintViolation {
 1017         -
        /// `required_blob` was not provided but it is required when building `SimpleStructOperationOutput`.
 1018         -
        MissingRequiredBlob,
 1019         -
        /// `required_boolean` was not provided but it is required when building `SimpleStructOperationOutput`.
 1020         -
        MissingRequiredBoolean,
 1021         -
        /// `required_string` was not provided but it is required when building `SimpleStructOperationOutput`.
 1022         -
        MissingRequiredString,
 1023         -
        /// `required_byte` was not provided but it is required when building `SimpleStructOperationOutput`.
 1024         -
        MissingRequiredByte,
 1025         -
        /// `required_short` was not provided but it is required when building `SimpleStructOperationOutput`.
 1026         -
        MissingRequiredShort,
 1027         -
        /// `required_integer` was not provided but it is required when building `SimpleStructOperationOutput`.
 1028         -
        MissingRequiredInteger,
 1029         -
        /// `required_long` was not provided but it is required when building `SimpleStructOperationOutput`.
 1030         -
        MissingRequiredLong,
 1031         -
        /// `required_float` was not provided but it is required when building `SimpleStructOperationOutput`.
 1032         -
        MissingRequiredFloat,
 1033         -
        /// `required_double` was not provided but it is required when building `SimpleStructOperationOutput`.
 1034         -
        MissingRequiredDouble,
 1035         -
        /// `required_timestamp` was not provided but it is required when building `SimpleStructOperationOutput`.
 1036         -
        MissingRequiredTimestamp,
 1037         -
        /// `required_enum` was not provided but it is required when building `SimpleStructOperationOutput`.
 1038         -
        MissingRequiredEnum,
        1197  +
        /// `events` was not provided but it is required when building `StreamingOperationWithOptionalDataOutput`.
        1198  +
        MissingEvents,
 1039   1199   
    }
 1040   1200   
    impl ::std::fmt::Display for ConstraintViolation {
 1041   1201   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 1042   1202   
            match self {
 1043         -
                ConstraintViolation::MissingRequiredBlob => write!(f, "`required_blob` was not provided but it is required when building `SimpleStructOperationOutput`"),
 1044         -
                ConstraintViolation::MissingRequiredBoolean => write!(f, "`required_boolean` was not provided but it is required when building `SimpleStructOperationOutput`"),
 1045         -
                ConstraintViolation::MissingRequiredString => write!(f, "`required_string` was not provided but it is required when building `SimpleStructOperationOutput`"),
 1046         -
                ConstraintViolation::MissingRequiredByte => write!(f, "`required_byte` was not provided but it is required when building `SimpleStructOperationOutput`"),
 1047         -
                ConstraintViolation::MissingRequiredShort => write!(f, "`required_short` was not provided but it is required when building `SimpleStructOperationOutput`"),
 1048         -
                ConstraintViolation::MissingRequiredInteger => write!(f, "`required_integer` was not provided but it is required when building `SimpleStructOperationOutput`"),
 1049         -
                ConstraintViolation::MissingRequiredLong => write!(f, "`required_long` was not provided but it is required when building `SimpleStructOperationOutput`"),
 1050         -
                ConstraintViolation::MissingRequiredFloat => write!(f, "`required_float` was not provided but it is required when building `SimpleStructOperationOutput`"),
 1051         -
                ConstraintViolation::MissingRequiredDouble => write!(f, "`required_double` was not provided but it is required when building `SimpleStructOperationOutput`"),
 1052         -
                ConstraintViolation::MissingRequiredTimestamp => write!(f, "`required_timestamp` was not provided but it is required when building `SimpleStructOperationOutput`"),
 1053         -
                ConstraintViolation::MissingRequiredEnum => write!(f, "`required_enum` was not provided but it is required when building `SimpleStructOperationOutput`"),
        1203  +
                ConstraintViolation::MissingEvents => write!(f, "`events` was not provided but it is required when building `StreamingOperationWithOptionalDataOutput`"),
 1054   1204   
            }
 1055   1205   
        }
 1056   1206   
    }
 1057   1207   
    impl ::std::error::Error for ConstraintViolation {}
 1058         -
    impl ::std::convert::TryFrom<Builder> for crate::output::SimpleStructOperationOutput {
        1208  +
    impl ::std::convert::TryFrom<Builder> for crate::output::StreamingOperationWithOptionalDataOutput {
 1059   1209   
        type Error = ConstraintViolation;
 1060   1210   
 1061   1211   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 1062   1212   
            builder.build()
 1063   1213   
        }
 1064   1214   
    }
 1065         -
    /// A builder for [`SimpleStructOperationOutput`](crate::output::SimpleStructOperationOutput).
 1066         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1215  +
    /// A builder for [`StreamingOperationWithOptionalDataOutput`](crate::output::StreamingOperationWithOptionalDataOutput).
        1216  +
    #[derive(::std::default::Default, ::std::fmt::Debug)]
 1067   1217   
    pub struct Builder {
 1068         -
        pub(crate) blob: ::std::option::Option<::aws_smithy_types::Blob>,
 1069         -
        pub(crate) boolean: ::std::option::Option<bool>,
 1070         -
        pub(crate) string: ::std::option::Option<::std::string::String>,
 1071         -
        pub(crate) byte: ::std::option::Option<i8>,
 1072         -
        pub(crate) short: ::std::option::Option<i16>,
 1073         -
        pub(crate) integer: ::std::option::Option<i32>,
 1074         -
        pub(crate) long: ::std::option::Option<i64>,
 1075         -
        pub(crate) float: ::std::option::Option<f32>,
 1076         -
        pub(crate) double: ::std::option::Option<f64>,
 1077         -
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
 1078         -
        pub(crate) r#enum: ::std::option::Option<crate::model::Suit>,
 1079         -
        pub(crate) required_blob: ::std::option::Option<::aws_smithy_types::Blob>,
 1080         -
        pub(crate) required_boolean: ::std::option::Option<bool>,
 1081         -
        pub(crate) required_string: ::std::option::Option<::std::string::String>,
 1082         -
        pub(crate) required_byte: ::std::option::Option<i8>,
 1083         -
        pub(crate) required_short: ::std::option::Option<i16>,
 1084         -
        pub(crate) required_integer: ::std::option::Option<i32>,
 1085         -
        pub(crate) required_long: ::std::option::Option<i64>,
 1086         -
        pub(crate) required_float: ::std::option::Option<f32>,
 1087         -
        pub(crate) required_double: ::std::option::Option<f64>,
 1088         -
        pub(crate) required_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
 1089         -
        pub(crate) required_enum: ::std::option::Option<crate::model::Suit>,
        1218  +
        pub(crate) optional_response_data: ::std::option::Option<::std::string::String>,
        1219  +
        pub(crate) events: ::std::option::Option<
        1220  +
            ::aws_smithy_http::event_stream::EventStreamSender<
        1221  +
                crate::model::Events,
        1222  +
                ::aws_smithy_http::event_stream::MessageStreamError,
        1223  +
            >,
        1224  +
        >,
 1090   1225   
    }
 1091   1226   
    impl Builder {
 1092   1227   
        #[allow(missing_docs)] // documentation missing in model
 1093         -
        pub fn blob(mut self, input: ::std::option::Option<::aws_smithy_types::Blob>) -> Self {
 1094         -
            self.blob = input;
 1095         -
            self
 1096         -
        }
 1097         -
        #[allow(missing_docs)] // documentation missing in model
 1098         -
        pub fn boolean(mut self, input: ::std::option::Option<bool>) -> Self {
 1099         -
            self.boolean = input;
 1100         -
            self
 1101         -
        }
 1102         -
        #[allow(missing_docs)] // documentation missing in model
 1103         -
        pub fn string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 1104         -
            self.string = input;
 1105         -
            self
 1106         -
        }
 1107         -
        #[allow(missing_docs)] // documentation missing in model
 1108         -
        pub fn byte(mut self, input: ::std::option::Option<i8>) -> Self {
 1109         -
            self.byte = input;
 1110         -
            self
 1111         -
        }
 1112         -
        #[allow(missing_docs)] // documentation missing in model
 1113         -
        pub fn short(mut self, input: ::std::option::Option<i16>) -> Self {
 1114         -
            self.short = input;
 1115         -
            self
 1116         -
        }
 1117         -
        #[allow(missing_docs)] // documentation missing in model
 1118         -
        pub fn integer(mut self, input: ::std::option::Option<i32>) -> Self {
 1119         -
            self.integer = input;
 1120         -
            self
 1121         -
        }
 1122         -
        #[allow(missing_docs)] // documentation missing in model
 1123         -
        pub fn long(mut self, input: ::std::option::Option<i64>) -> Self {
 1124         -
            self.long = input;
 1125         -
            self
 1126         -
        }
 1127         -
        #[allow(missing_docs)] // documentation missing in model
 1128         -
        pub fn float(mut self, input: ::std::option::Option<f32>) -> Self {
 1129         -
            self.float = input;
 1130         -
            self
 1131         -
        }
 1132         -
        #[allow(missing_docs)] // documentation missing in model
 1133         -
        pub fn double(mut self, input: ::std::option::Option<f64>) -> Self {
 1134         -
            self.double = input;
 1135         -
            self
 1136         -
        }
 1137         -
        #[allow(missing_docs)] // documentation missing in model
 1138         -
        pub fn timestamp(
        1228  +
        pub fn optional_response_data(
 1139   1229   
            mut self,
 1140         -
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
        1230  +
            input: ::std::option::Option<::std::string::String>,
 1141   1231   
        ) -> Self {
 1142         -
            self.timestamp = input;
 1143         -
            self
 1144         -
        }
 1145         -
        #[allow(missing_docs)] // documentation missing in model
 1146         -
        pub fn r#enum(mut self, input: ::std::option::Option<crate::model::Suit>) -> Self {
 1147         -
            self.r#enum = input;
 1148         -
            self
 1149         -
        }
 1150         -
        #[allow(missing_docs)] // documentation missing in model
 1151         -
        pub fn required_blob(mut self, input: ::aws_smithy_types::Blob) -> Self {
 1152         -
            self.required_blob = Some(input);
 1153         -
            self
 1154         -
        }
 1155         -
        #[allow(missing_docs)] // documentation missing in model
 1156         -
        pub fn required_boolean(mut self, input: bool) -> Self {
 1157         -
            self.required_boolean = Some(input);
 1158         -
            self
 1159         -
        }
 1160         -
        #[allow(missing_docs)] // documentation missing in model
 1161         -
        pub fn required_string(mut self, input: ::std::string::String) -> Self {
 1162         -
            self.required_string = Some(input);
 1163         -
            self
 1164         -
        }
 1165         -
        #[allow(missing_docs)] // documentation missing in model
 1166         -
        pub fn required_byte(mut self, input: i8) -> Self {
 1167         -
            self.required_byte = Some(input);
 1168         -
            self
 1169         -
        }
 1170         -
        #[allow(missing_docs)] // documentation missing in model
 1171         -
        pub fn required_short(mut self, input: i16) -> Self {
 1172         -
            self.required_short = Some(input);
 1173         -
            self
 1174         -
        }
 1175         -
        #[allow(missing_docs)] // documentation missing in model
 1176         -
        pub fn required_integer(mut self, input: i32) -> Self {
 1177         -
            self.required_integer = Some(input);
 1178         -
            self
 1179         -
        }
 1180         -
        #[allow(missing_docs)] // documentation missing in model
 1181         -
        pub fn required_long(mut self, input: i64) -> Self {
 1182         -
            self.required_long = Some(input);
 1183         -
            self
 1184         -
        }
 1185         -
        #[allow(missing_docs)] // documentation missing in model
 1186         -
        pub fn required_float(mut self, input: f32) -> Self {
 1187         -
            self.required_float = Some(input);
 1188         -
            self
 1189         -
        }
 1190         -
        #[allow(missing_docs)] // documentation missing in model
 1191         -
        pub fn required_double(mut self, input: f64) -> Self {
 1192         -
            self.required_double = Some(input);
 1193         -
            self
 1194         -
        }
 1195         -
        #[allow(missing_docs)] // documentation missing in model
 1196         -
        pub fn required_timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
 1197         -
            self.required_timestamp = Some(input);
        1232  +
            self.optional_response_data = input;
 1198   1233   
            self
 1199   1234   
        }
 1200   1235   
        #[allow(missing_docs)] // documentation missing in model
 1201         -
        pub fn required_enum(mut self, input: crate::model::Suit) -> Self {
 1202         -
            self.required_enum = Some(input);
        1236  +
        pub fn events(
        1237  +
            mut self,
        1238  +
            input: ::aws_smithy_http::event_stream::EventStreamSender<
        1239  +
                crate::model::Events,
        1240  +
                ::aws_smithy_http::event_stream::MessageStreamError,
        1241  +
            >,
        1242  +
        ) -> Self {
        1243  +
            self.events = Some(input);
 1203   1244   
            self
 1204   1245   
        }
 1205         -
        /// Consumes the builder and constructs a [`SimpleStructOperationOutput`](crate::output::SimpleStructOperationOutput).
        1246  +
        /// Consumes the builder and constructs a [`StreamingOperationWithOptionalDataOutput`](crate::output::StreamingOperationWithOptionalDataOutput).
 1206   1247   
        ///
 1207         -
        /// The builder fails to construct a [`SimpleStructOperationOutput`](crate::output::SimpleStructOperationOutput) if a [`ConstraintViolation`] occurs.
        1248  +
        /// The builder fails to construct a [`StreamingOperationWithOptionalDataOutput`](crate::output::StreamingOperationWithOptionalDataOutput) if a [`ConstraintViolation`] occurs.
 1208   1249   
        ///
 1209         -
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
 1210   1250   
        pub fn build(
 1211   1251   
            self,
 1212         -
        ) -> Result<crate::output::SimpleStructOperationOutput, ConstraintViolation> {
        1252  +
        ) -> Result<crate::output::StreamingOperationWithOptionalDataOutput, ConstraintViolation>
        1253  +
        {
 1213   1254   
            self.build_enforcing_all_constraints()
 1214   1255   
        }
 1215   1256   
        fn build_enforcing_all_constraints(
 1216   1257   
            self,
 1217         -
        ) -> Result<crate::output::SimpleStructOperationOutput, ConstraintViolation> {
 1218         -
            Ok(crate::output::SimpleStructOperationOutput {
 1219         -
                blob: self.blob,
 1220         -
                boolean: self.boolean,
 1221         -
                string: self.string,
 1222         -
                byte: self.byte,
 1223         -
                short: self.short,
 1224         -
                integer: self.integer,
 1225         -
                long: self.long,
 1226         -
                float: self.float,
 1227         -
                double: self.double,
 1228         -
                timestamp: self.timestamp,
 1229         -
                r#enum: self.r#enum,
 1230         -
                required_blob: self
 1231         -
                    .required_blob
 1232         -
                    .ok_or(ConstraintViolation::MissingRequiredBlob)?,
 1233         -
                required_boolean: self
 1234         -
                    .required_boolean
 1235         -
                    .ok_or(ConstraintViolation::MissingRequiredBoolean)?,
 1236         -
                required_string: self
 1237         -
                    .required_string
 1238         -
                    .ok_or(ConstraintViolation::MissingRequiredString)?,
 1239         -
                required_byte: self
 1240         -
                    .required_byte
 1241         -
                    .ok_or(ConstraintViolation::MissingRequiredByte)?,
 1242         -
                required_short: self
 1243         -
                    .required_short
 1244         -
                    .ok_or(ConstraintViolation::MissingRequiredShort)?,
 1245         -
                required_integer: self
 1246         -
                    .required_integer
 1247         -
                    .ok_or(ConstraintViolation::MissingRequiredInteger)?,
 1248         -
                required_long: self
 1249         -
                    .required_long
 1250         -
                    .ok_or(ConstraintViolation::MissingRequiredLong)?,
 1251         -
                required_float: self
 1252         -
                    .required_float
 1253         -
                    .ok_or(ConstraintViolation::MissingRequiredFloat)?,
 1254         -
                required_double: self
 1255         -
                    .required_double
 1256         -
                    .ok_or(ConstraintViolation::MissingRequiredDouble)?,
 1257         -
                required_timestamp: self
 1258         -
                    .required_timestamp
 1259         -
                    .ok_or(ConstraintViolation::MissingRequiredTimestamp)?,
 1260         -
                required_enum: self
 1261         -
                    .required_enum
 1262         -
                    .ok_or(ConstraintViolation::MissingRequiredEnum)?,
        1258  +
        ) -> Result<crate::output::StreamingOperationWithOptionalDataOutput, ConstraintViolation>
        1259  +
        {
        1260  +
            Ok(crate::output::StreamingOperationWithOptionalDataOutput {
        1261  +
                optional_response_data: self.optional_response_data,
        1262  +
                events: self.events.ok_or(ConstraintViolation::MissingEvents)?,
 1263   1263   
            })
 1264   1264   
        }
 1265   1265   
    }
 1266   1266   
}