Server Test

Server Test

rev. 7254d43655ed63111c94f599437f2b0d3f55446e

Files changed:

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

@@ -1,1 +379,379 @@
    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 Float16;
           3  +
pub struct NoInputOutput;
    4      4   
    5         -
impl ::aws_smithy_http_server::operation::OperationShape for Float16 {
           5  +
impl ::aws_smithy_http_server::operation::OperationShape for NoInputOutput {
    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#Float16",
           8  +
            "smithy.protocoltests.rpcv2Cbor#NoInputOutput",
    9      9   
            "smithy.protocoltests.rpcv2Cbor",
   10         -
            "Float16",
          10  +
            "NoInputOutput",
   11     11   
        );
   12     12   
   13         -
    type Input = crate::input::Float16Input;
   14         -
    type Output = crate::output::Float16Output;
          13  +
    type Input = crate::input::NoInputOutputInput;
          14  +
    type Output = crate::output::NoInputOutputOutput;
   15     15   
    type Error = std::convert::Infallible;
   16     16   
}
   17     17   
   18         -
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for Float16 {
          18  +
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for NoInputOutput {
   19     19   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
   20     20   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
   21     21   
   22     22   
    fn request_fmt() -> Self::RequestFmt {
   23     23   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
   24     24   
    }
   25     25   
   26     26   
    fn response_fmt() -> Self::ResponseFmt {
   27     27   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
   28     28   
    }
   29     29   
}
   30     30   
   31     31   
#[allow(missing_docs)] // documentation missing in model
   32         -
pub struct SparseNullsOperation;
          32  +
pub struct EmptyInputOutput;
   33     33   
   34         -
impl ::aws_smithy_http_server::operation::OperationShape for SparseNullsOperation {
          34  +
impl ::aws_smithy_http_server::operation::OperationShape for EmptyInputOutput {
   35     35   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
   36     36   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
   37         -
            "smithy.protocoltests.rpcv2Cbor#SparseNullsOperation",
          37  +
            "smithy.protocoltests.rpcv2Cbor#EmptyInputOutput",
   38     38   
            "smithy.protocoltests.rpcv2Cbor",
   39         -
            "SparseNullsOperation",
          39  +
            "EmptyInputOutput",
   40     40   
        );
   41     41   
   42         -
    type Input = crate::input::SparseNullsOperationInput;
   43         -
    type Output = crate::output::SparseNullsOperationOutput;
          42  +
    type Input = crate::input::EmptyInputOutputInput;
          43  +
    type Output = crate::output::EmptyInputOutputOutput;
   44     44   
    type Error = std::convert::Infallible;
   45     45   
}
   46     46   
   47         -
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for SparseNullsOperation {
          47  +
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for EmptyInputOutput {
   48     48   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
   49     49   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
   50     50   
   51     51   
    fn request_fmt() -> Self::RequestFmt {
   52     52   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
   53     53   
    }
   54     54   
   55     55   
    fn response_fmt() -> Self::ResponseFmt {
   56     56   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
   57     57   
    }
   58     58   
}
   59     59   
   60     60   
#[allow(missing_docs)] // documentation missing in model
   61         -
pub struct OperationWithDefaults;
          61  +
pub struct OptionalInputOutput;
   62     62   
   63         -
impl ::aws_smithy_http_server::operation::OperationShape for OperationWithDefaults {
          63  +
impl ::aws_smithy_http_server::operation::OperationShape for OptionalInputOutput {
   64     64   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
   65     65   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
   66         -
            "smithy.protocoltests.rpcv2Cbor#OperationWithDefaults",
          66  +
            "smithy.protocoltests.rpcv2Cbor#OptionalInputOutput",
   67     67   
            "smithy.protocoltests.rpcv2Cbor",
   68         -
            "OperationWithDefaults",
          68  +
            "OptionalInputOutput",
   69     69   
        );
   70     70   
   71         -
    type Input = crate::input::OperationWithDefaultsInput;
   72         -
    type Output = crate::output::OperationWithDefaultsOutput;
   73         -
    type Error = crate::error::OperationWithDefaultsError;
          71  +
    type Input = crate::input::OptionalInputOutputInput;
          72  +
    type Output = crate::output::OptionalInputOutputOutput;
          73  +
    type Error = std::convert::Infallible;
   74     74   
}
   75     75   
   76         -
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for OperationWithDefaults {
          76  +
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for OptionalInputOutput {
   77     77   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
   78     78   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
   79     79   
   80     80   
    fn request_fmt() -> Self::RequestFmt {
   81     81   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
   82     82   
    }
   83     83   
   84     84   
    fn response_fmt() -> Self::ResponseFmt {
   85     85   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
   86     86   
    }
   87     87   
}
   88     88   
   89     89   
#[allow(missing_docs)] // documentation missing in model
   90         -
pub struct FractionalSeconds;
          90  +
pub struct SimpleScalarProperties;
   91     91   
   92         -
impl ::aws_smithy_http_server::operation::OperationShape for FractionalSeconds {
          92  +
impl ::aws_smithy_http_server::operation::OperationShape for SimpleScalarProperties {
   93     93   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
   94     94   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
   95         -
            "smithy.protocoltests.rpcv2Cbor#FractionalSeconds",
          95  +
            "smithy.protocoltests.rpcv2Cbor#SimpleScalarProperties",
   96     96   
            "smithy.protocoltests.rpcv2Cbor",
   97         -
            "FractionalSeconds",
          97  +
            "SimpleScalarProperties",
   98     98   
        );
   99     99   
  100         -
    type Input = crate::input::FractionalSecondsInput;
  101         -
    type Output = crate::output::FractionalSecondsOutput;
         100  +
    type Input = crate::input::SimpleScalarPropertiesInput;
         101  +
    type Output = crate::output::SimpleScalarPropertiesOutput;
  102    102   
    type Error = std::convert::Infallible;
  103    103   
}
  104    104   
  105         -
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for FractionalSeconds {
         105  +
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity
         106  +
    for SimpleScalarProperties
         107  +
{
  106    108   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  107    109   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  108    110   
  109    111   
    fn request_fmt() -> Self::RequestFmt {
  110    112   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  111    113   
    }
  112    114   
  113    115   
    fn response_fmt() -> Self::ResponseFmt {
  114    116   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  115    117   
    }
  116    118   
}
  117    119   
  118         -
/// This operation has three possible return values: 1. A successful response in the form of GreetingWithErrorsOutput 2. An InvalidGreeting error. 3. A ComplexError error. Implementations must be able to successfully take a response and properly deserialize successful and error responses.
  119         -
pub struct GreetingWithErrors;
         120  +
/// This test case serializes JSON lists for the following cases for both input and output: 1. Normal lists. 2. Normal sets. 3. Lists of lists. 4. Lists of structures.
         121  +
pub struct RpcV2CborLists;
  120    122   
  121         -
impl ::aws_smithy_http_server::operation::OperationShape for GreetingWithErrors {
         123  +
impl ::aws_smithy_http_server::operation::OperationShape for RpcV2CborLists {
  122    124   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  123    125   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  124         -
            "smithy.protocoltests.rpcv2Cbor#GreetingWithErrors",
         126  +
            "smithy.protocoltests.rpcv2Cbor#RpcV2CborLists",
  125    127   
            "smithy.protocoltests.rpcv2Cbor",
  126         -
            "GreetingWithErrors",
         128  +
            "RpcV2CborLists",
  127    129   
        );
  128    130   
  129         -
    type Input = crate::input::GreetingWithErrorsInput;
  130         -
    type Output = crate::output::GreetingWithErrorsOutput;
  131         -
    type Error = crate::error::GreetingWithErrorsError;
         131  +
    type Input = crate::input::RpcV2CborListsInput;
         132  +
    type Output = crate::output::RpcV2CborListsOutput;
         133  +
    type Error = crate::error::RpcV2CborListsError;
  132    134   
}
  133    135   
  134         -
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for GreetingWithErrors {
         136  +
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for RpcV2CborLists {
  135    137   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  136    138   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  137    139   
  138    140   
    fn request_fmt() -> Self::RequestFmt {
  139    141   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  140    142   
    }
  141    143   
  142    144   
    fn response_fmt() -> Self::ResponseFmt {
  143    145   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  144    146   
    }
  145    147   
}
  146    148   
  147         -
#[allow(missing_docs)] // documentation missing in model
  148         -
pub struct RecursiveShapes;
         149  +
/// The example tests basic map serialization.
         150  +
pub struct RpcV2CborDenseMaps;
  149    151   
  150         -
impl ::aws_smithy_http_server::operation::OperationShape for RecursiveShapes {
         152  +
impl ::aws_smithy_http_server::operation::OperationShape for RpcV2CborDenseMaps {
  151    153   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  152    154   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  153         -
            "smithy.protocoltests.rpcv2Cbor#RecursiveShapes",
         155  +
            "smithy.protocoltests.rpcv2Cbor#RpcV2CborDenseMaps",
  154    156   
            "smithy.protocoltests.rpcv2Cbor",
  155         -
            "RecursiveShapes",
         157  +
            "RpcV2CborDenseMaps",
  156    158   
        );
  157    159   
  158         -
    type Input = crate::input::RecursiveShapesInput;
  159         -
    type Output = crate::output::RecursiveShapesOutput;
  160         -
    type Error = std::convert::Infallible;
         160  +
    type Input = crate::input::RpcV2CborDenseMapsInput;
         161  +
    type Output = crate::output::RpcV2CborDenseMapsOutput;
         162  +
    type Error = crate::error::RpcV2CborDenseMapsError;
  161    163   
}
  162    164   
  163         -
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for RecursiveShapes {
         165  +
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for RpcV2CborDenseMaps {
  164    166   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  165    167   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  166    168   
  167    169   
    fn request_fmt() -> Self::RequestFmt {
  168    170   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  169    171   
    }
  170    172   
  171    173   
    fn response_fmt() -> Self::ResponseFmt {
  172    174   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  173    175   
    }
  174    176   
}
  175    177   
  176    178   
#[allow(missing_docs)] // documentation missing in model
  177    179   
pub struct RpcV2CborSparseMaps;
  178    180   
  179    181   
impl ::aws_smithy_http_server::operation::OperationShape for RpcV2CborSparseMaps {
  180    182   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  181    183   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  182    184   
            "smithy.protocoltests.rpcv2Cbor#RpcV2CborSparseMaps",
  183    185   
            "smithy.protocoltests.rpcv2Cbor",
  184    186   
            "RpcV2CborSparseMaps",
  185    187   
        );
  186    188   
  187    189   
    type Input = crate::input::RpcV2CborSparseMapsInput;
  188    190   
    type Output = crate::output::RpcV2CborSparseMapsOutput;
  189    191   
    type Error = crate::error::RpcV2CborSparseMapsError;
  190    192   
}
  191    193   
  192    194   
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for RpcV2CborSparseMaps {
  193    195   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  194    196   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  195    197   
  196    198   
    fn request_fmt() -> Self::RequestFmt {
  197    199   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  198    200   
    }
  199    201   
  200    202   
    fn response_fmt() -> Self::ResponseFmt {
  201    203   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  202    204   
    }
  203    205   
}
  204    206   
  205         -
/// The example tests basic map serialization.
  206         -
pub struct RpcV2CborDenseMaps;
         207  +
#[allow(missing_docs)] // documentation missing in model
         208  +
pub struct RecursiveShapes;
  207    209   
  208         -
impl ::aws_smithy_http_server::operation::OperationShape for RpcV2CborDenseMaps {
         210  +
impl ::aws_smithy_http_server::operation::OperationShape for RecursiveShapes {
  209    211   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  210    212   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  211         -
            "smithy.protocoltests.rpcv2Cbor#RpcV2CborDenseMaps",
         213  +
            "smithy.protocoltests.rpcv2Cbor#RecursiveShapes",
  212    214   
            "smithy.protocoltests.rpcv2Cbor",
  213         -
            "RpcV2CborDenseMaps",
         215  +
            "RecursiveShapes",
  214    216   
        );
  215    217   
  216         -
    type Input = crate::input::RpcV2CborDenseMapsInput;
  217         -
    type Output = crate::output::RpcV2CborDenseMapsOutput;
  218         -
    type Error = crate::error::RpcV2CborDenseMapsError;
         218  +
    type Input = crate::input::RecursiveShapesInput;
         219  +
    type Output = crate::output::RecursiveShapesOutput;
         220  +
    type Error = std::convert::Infallible;
  219    221   
}
  220    222   
  221         -
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for RpcV2CborDenseMaps {
         223  +
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for RecursiveShapes {
  222    224   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  223    225   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  224    226   
  225    227   
    fn request_fmt() -> Self::RequestFmt {
  226    228   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  227    229   
    }
  228    230   
  229    231   
    fn response_fmt() -> Self::ResponseFmt {
  230    232   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  231    233   
    }
  232    234   
}
  233    235   
  234         -
/// This test case serializes JSON lists for the following cases for both input and output: 1. Normal lists. 2. Normal sets. 3. Lists of lists. 4. Lists of structures.
  235         -
pub struct RpcV2CborLists;
         236  +
/// This operation has three possible return values: 1. A successful response in the form of GreetingWithErrorsOutput 2. An InvalidGreeting error. 3. A ComplexError error. Implementations must be able to successfully take a response and properly deserialize successful and error responses.
         237  +
pub struct GreetingWithErrors;
  236    238   
  237         -
impl ::aws_smithy_http_server::operation::OperationShape for RpcV2CborLists {
         239  +
impl ::aws_smithy_http_server::operation::OperationShape for GreetingWithErrors {
  238    240   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  239    241   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  240         -
            "smithy.protocoltests.rpcv2Cbor#RpcV2CborLists",
         242  +
            "smithy.protocoltests.rpcv2Cbor#GreetingWithErrors",
  241    243   
            "smithy.protocoltests.rpcv2Cbor",
  242         -
            "RpcV2CborLists",
         244  +
            "GreetingWithErrors",
  243    245   
        );
  244    246   
  245         -
    type Input = crate::input::RpcV2CborListsInput;
  246         -
    type Output = crate::output::RpcV2CborListsOutput;
  247         -
    type Error = crate::error::RpcV2CborListsError;
         247  +
    type Input = crate::input::GreetingWithErrorsInput;
         248  +
    type Output = crate::output::GreetingWithErrorsOutput;
         249  +
    type Error = crate::error::GreetingWithErrorsError;
  248    250   
}
  249    251   
  250         -
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for RpcV2CborLists {
         252  +
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for GreetingWithErrors {
  251    253   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  252    254   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  253    255   
  254    256   
    fn request_fmt() -> Self::RequestFmt {
  255    257   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  256    258   
    }
  257    259   
  258    260   
    fn response_fmt() -> Self::ResponseFmt {
  259    261   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  260    262   
    }
  261    263   
}
  262    264   
  263    265   
#[allow(missing_docs)] // documentation missing in model
  264         -
pub struct SimpleScalarProperties;
         266  +
pub struct FractionalSeconds;
  265    267   
  266         -
impl ::aws_smithy_http_server::operation::OperationShape for SimpleScalarProperties {
         268  +
impl ::aws_smithy_http_server::operation::OperationShape for FractionalSeconds {
  267    269   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  268    270   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  269         -
            "smithy.protocoltests.rpcv2Cbor#SimpleScalarProperties",
         271  +
            "smithy.protocoltests.rpcv2Cbor#FractionalSeconds",
  270    272   
            "smithy.protocoltests.rpcv2Cbor",
  271         -
            "SimpleScalarProperties",
         273  +
            "FractionalSeconds",
  272    274   
        );
  273    275   
  274         -
    type Input = crate::input::SimpleScalarPropertiesInput;
  275         -
    type Output = crate::output::SimpleScalarPropertiesOutput;
         276  +
    type Input = crate::input::FractionalSecondsInput;
         277  +
    type Output = crate::output::FractionalSecondsOutput;
  276    278   
    type Error = std::convert::Infallible;
  277    279   
}
  278    280   
  279         -
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity
  280         -
    for SimpleScalarProperties
  281         -
{
         281  +
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for FractionalSeconds {
  282    282   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  283    283   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  284    284   
  285    285   
    fn request_fmt() -> Self::RequestFmt {
  286    286   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  287    287   
    }
  288    288   
  289    289   
    fn response_fmt() -> Self::ResponseFmt {
  290    290   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  291    291   
    }
  292    292   
}
  293    293   
  294    294   
#[allow(missing_docs)] // documentation missing in model
  295         -
pub struct OptionalInputOutput;
         295  +
pub struct OperationWithDefaults;
  296    296   
  297         -
impl ::aws_smithy_http_server::operation::OperationShape for OptionalInputOutput {
         297  +
impl ::aws_smithy_http_server::operation::OperationShape for OperationWithDefaults {
  298    298   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  299    299   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  300         -
            "smithy.protocoltests.rpcv2Cbor#OptionalInputOutput",
         300  +
            "smithy.protocoltests.rpcv2Cbor#OperationWithDefaults",
  301    301   
            "smithy.protocoltests.rpcv2Cbor",
  302         -
            "OptionalInputOutput",
         302  +
            "OperationWithDefaults",
  303    303   
        );
  304    304   
  305         -
    type Input = crate::input::OptionalInputOutputInput;
  306         -
    type Output = crate::output::OptionalInputOutputOutput;
  307         -
    type Error = std::convert::Infallible;
         305  +
    type Input = crate::input::OperationWithDefaultsInput;
         306  +
    type Output = crate::output::OperationWithDefaultsOutput;
         307  +
    type Error = crate::error::OperationWithDefaultsError;
  308    308   
}
  309    309   
  310         -
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for OptionalInputOutput {
         310  +
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for OperationWithDefaults {
  311    311   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  312    312   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  313    313   
  314    314   
    fn request_fmt() -> Self::RequestFmt {
  315    315   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  316    316   
    }
  317    317   
  318    318   
    fn response_fmt() -> Self::ResponseFmt {
  319    319   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  320    320   
    }
  321    321   
}
  322    322   
  323    323   
#[allow(missing_docs)] // documentation missing in model
  324         -
pub struct EmptyInputOutput;
         324  +
pub struct SparseNullsOperation;
  325    325   
  326         -
impl ::aws_smithy_http_server::operation::OperationShape for EmptyInputOutput {
         326  +
impl ::aws_smithy_http_server::operation::OperationShape for SparseNullsOperation {
  327    327   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  328    328   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  329         -
            "smithy.protocoltests.rpcv2Cbor#EmptyInputOutput",
         329  +
            "smithy.protocoltests.rpcv2Cbor#SparseNullsOperation",
  330    330   
            "smithy.protocoltests.rpcv2Cbor",
  331         -
            "EmptyInputOutput",
         331  +
            "SparseNullsOperation",
  332    332   
        );
  333    333   
  334         -
    type Input = crate::input::EmptyInputOutputInput;
  335         -
    type Output = crate::output::EmptyInputOutputOutput;
         334  +
    type Input = crate::input::SparseNullsOperationInput;
         335  +
    type Output = crate::output::SparseNullsOperationOutput;
  336    336   
    type Error = std::convert::Infallible;
  337    337   
}
  338    338   
  339         -
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for EmptyInputOutput {
         339  +
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for SparseNullsOperation {
  340    340   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  341    341   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  342    342   
  343    343   
    fn request_fmt() -> Self::RequestFmt {
  344    344   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  345    345   
    }
  346    346   
  347    347   
    fn response_fmt() -> Self::ResponseFmt {
  348    348   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  349    349   
    }
  350    350   
}
  351    351   
  352    352   
#[allow(missing_docs)] // documentation missing in model
  353         -
pub struct NoInputOutput;
         353  +
pub struct Float16;
  354    354   
  355         -
impl ::aws_smithy_http_server::operation::OperationShape for NoInputOutput {
         355  +
impl ::aws_smithy_http_server::operation::OperationShape for Float16 {
  356    356   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  357    357   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  358         -
            "smithy.protocoltests.rpcv2Cbor#NoInputOutput",
         358  +
            "smithy.protocoltests.rpcv2Cbor#Float16",
  359    359   
            "smithy.protocoltests.rpcv2Cbor",
  360         -
            "NoInputOutput",
         360  +
            "Float16",
  361    361   
        );
  362    362   
  363         -
    type Input = crate::input::NoInputOutputInput;
  364         -
    type Output = crate::output::NoInputOutputOutput;
         363  +
    type Input = crate::input::Float16Input;
         364  +
    type Output = crate::output::Float16Output;
  365    365   
    type Error = std::convert::Infallible;
  366    366   
}
  367    367   
  368         -
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for NoInputOutput {
         368  +
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for Float16 {
  369    369   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  370    370   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  371    371   
  372    372   
    fn request_fmt() -> Self::RequestFmt {
  373    373   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  374    374   
    }
  375    375   
  376    376   
    fn response_fmt() -> Self::ResponseFmt {
  377    377   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  378    378   
    }

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

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