Server Test

Server Test

rev. d06a46cae0f385cdae37a9f8264db3469a090ab5

Files changed:

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

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

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

@@ -0,1 +0,1491 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           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
          12  +
    }
          13  +
}
          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()
          18  +
    }
          19  +
}
          20  +
          21  +
#[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  +
    #[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  +
    >,
          34  +
}
          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  +
    }
          42  +
    #[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()
          52  +
    }
          53  +
}
          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()
          58  +
    }
          59  +
}
          60  +
          61  +
#[allow(missing_docs)] // documentation missing in model
          62  +
#[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,
          90  +
    #[allow(missing_docs)] // documentation missing in model
          91  +
    pub default_int_enum: i32,
          92  +
    #[allow(missing_docs)] // documentation missing in model
          93  +
    pub empty_string: ::std::string::String,
          94  +
    #[allow(missing_docs)] // documentation missing in model
          95  +
    pub false_boolean: bool,
          96  +
    #[allow(missing_docs)] // documentation missing in model
          97  +
    pub empty_blob: ::aws_smithy_types::Blob,
          98  +
    #[allow(missing_docs)] // documentation missing in model
          99  +
    pub zero_byte: i8,
         100  +
    #[allow(missing_docs)] // documentation missing in model
         101  +
    pub zero_short: i16,
         102  +
    #[allow(missing_docs)] // documentation missing in model
         103  +
    pub zero_integer: i32,
         104  +
    #[allow(missing_docs)] // documentation missing in model
         105  +
    pub zero_long: i64,
         106  +
    #[allow(missing_docs)] // documentation missing in model
         107  +
    pub zero_float: f32,
         108  +
    #[allow(missing_docs)] // documentation missing in model
         109  +
    pub zero_double: f64,
         110  +
}
         111  +
impl OperationWithDefaultsOutput {
         112  +
    #[allow(missing_docs)] // documentation missing in model
         113  +
    pub fn default_string(&self) -> &str {
         114  +
        use std::ops::Deref;
         115  +
        self.default_string.deref()
         116  +
    }
         117  +
    #[allow(missing_docs)] // documentation missing in model
         118  +
    pub fn default_boolean(&self) -> bool {
         119  +
        self.default_boolean
         120  +
    }
         121  +
    #[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()
         125  +
    }
         126  +
    #[allow(missing_docs)] // documentation missing in model
         127  +
    pub fn default_timestamp(&self) -> &::aws_smithy_types::DateTime {
         128  +
        &self.default_timestamp
         129  +
    }
         130  +
    #[allow(missing_docs)] // documentation missing in model
         131  +
    pub fn default_blob(&self) -> &::aws_smithy_types::Blob {
         132  +
        &self.default_blob
         133  +
    }
         134  +
    #[allow(missing_docs)] // documentation missing in model
         135  +
    pub fn default_byte(&self) -> i8 {
         136  +
        self.default_byte
         137  +
    }
         138  +
    #[allow(missing_docs)] // documentation missing in model
         139  +
    pub fn default_short(&self) -> i16 {
         140  +
        self.default_short
         141  +
    }
         142  +
    #[allow(missing_docs)] // documentation missing in model
         143  +
    pub fn default_integer(&self) -> i32 {
         144  +
        self.default_integer
         145  +
    }
         146  +
    #[allow(missing_docs)] // documentation missing in model
         147  +
    pub fn default_long(&self) -> i64 {
         148  +
        self.default_long
         149  +
    }
         150  +
    #[allow(missing_docs)] // documentation missing in model
         151  +
    pub fn default_float(&self) -> f32 {
         152  +
        self.default_float
         153  +
    }
         154  +
    #[allow(missing_docs)] // documentation missing in model
         155  +
    pub fn default_double(&self) -> f64 {
         156  +
        self.default_double
         157  +
    }
         158  +
    #[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  +
    }
         164  +
    #[allow(missing_docs)] // documentation missing in model
         165  +
    pub fn default_enum(&self) -> &crate::model::TestEnum {
         166  +
        &self.default_enum
         167  +
    }
         168  +
    #[allow(missing_docs)] // documentation missing in model
         169  +
    pub fn default_int_enum(&self) -> i32 {
         170  +
        self.default_int_enum
         171  +
    }
         172  +
    #[allow(missing_docs)] // documentation missing in model
         173  +
    pub fn empty_string(&self) -> &str {
         174  +
        use std::ops::Deref;
         175  +
        self.empty_string.deref()
         176  +
    }
         177  +
    #[allow(missing_docs)] // documentation missing in model
         178  +
    pub fn false_boolean(&self) -> bool {
         179  +
        self.false_boolean
         180  +
    }
         181  +
    #[allow(missing_docs)] // documentation missing in model
         182  +
    pub fn empty_blob(&self) -> &::aws_smithy_types::Blob {
         183  +
        &self.empty_blob
         184  +
    }
         185  +
    #[allow(missing_docs)] // documentation missing in model
         186  +
    pub fn zero_byte(&self) -> i8 {
         187  +
        self.zero_byte
         188  +
    }
         189  +
    #[allow(missing_docs)] // documentation missing in model
         190  +
    pub fn zero_short(&self) -> i16 {
         191  +
        self.zero_short
         192  +
    }
         193  +
    #[allow(missing_docs)] // documentation missing in model
         194  +
    pub fn zero_integer(&self) -> i32 {
         195  +
        self.zero_integer
         196  +
    }
         197  +
    #[allow(missing_docs)] // documentation missing in model
         198  +
    pub fn zero_long(&self) -> i64 {
         199  +
        self.zero_long
         200  +
    }
         201  +
    #[allow(missing_docs)] // documentation missing in model
         202  +
    pub fn zero_float(&self) -> f32 {
         203  +
        self.zero_float
         204  +
    }
         205  +
    #[allow(missing_docs)] // documentation missing in model
         206  +
    pub fn zero_double(&self) -> f64 {
         207  +
        self.zero_double
         208  +
    }
         209  +
}
         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()
         214  +
    }
         215  +
}
         216  +
         217  +
#[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 {
         222  +
    #[allow(missing_docs)] // documentation missing in model
         223  +
    pub datetime: ::std::option::Option<::aws_smithy_types::DateTime>,
         224  +
}
         225  +
impl FractionalSecondsOutput {
         226  +
    #[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 {
         243  +
    #[allow(missing_docs)] // documentation missing in model
         244  +
    pub greeting: ::std::option::Option<::std::string::String>,
         245  +
}
         246  +
impl GreetingWithErrorsOutput {
         247  +
    #[allow(missing_docs)] // documentation missing in model
         248  +
    pub fn greeting(&self) -> ::std::option::Option<&str> {
         249  +
        self.greeting.as_deref()
         250  +
    }
         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()
         256  +
    }
         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  +
    #[allow(missing_docs)] // documentation missing in model
         265  +
    pub nested: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
         266  +
}
         267  +
impl RecursiveShapesOutput {
         268  +
    #[allow(missing_docs)] // documentation missing in model
         269  +
    pub fn nested(
         270  +
        &self,
         271  +
    ) -> ::std::option::Option<&crate::model::RecursiveShapesInputOutputNested1> {
         272  +
        self.nested.as_ref()
         273  +
    }
         274  +
}
         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()
         279  +
    }
         280  +
}
         281  +
         282  +
#[allow(missing_docs)] // documentation missing in model
         283  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         284  +
pub struct RpcV2CborSparseMapsOutput {
         285  +
    #[allow(missing_docs)] // documentation missing in model
         286  +
    pub sparse_struct_map: ::std::option::Option<
         287  +
        ::std::collections::HashMap<
         288  +
            ::std::string::String,
         289  +
            ::std::option::Option<crate::model::GreetingStruct>,
         290  +
        >,
         291  +
    >,
         292  +
    #[allow(missing_docs)] // documentation missing in model
         293  +
    pub sparse_number_map: ::std::option::Option<
         294  +
        ::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
         295  +
    >,
         296  +
    #[allow(missing_docs)] // documentation missing in model
         297  +
    pub sparse_boolean_map: ::std::option::Option<
         298  +
        ::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
         299  +
    >,
         300  +
    #[allow(missing_docs)] // documentation missing in model
         301  +
    pub sparse_string_map: ::std::option::Option<
         302  +
        ::std::collections::HashMap<
         303  +
            ::std::string::String,
         304  +
            ::std::option::Option<::std::string::String>,
         305  +
        >,
         306  +
    >,
         307  +
    #[allow(missing_docs)] // documentation missing in model
         308  +
    pub sparse_set_map: ::std::option::Option<
         309  +
        ::std::collections::HashMap<
         310  +
            ::std::string::String,
         311  +
            ::std::option::Option<crate::model::StringSet>,
         312  +
        >,
         313  +
    >,
         314  +
}
         315  +
impl RpcV2CborSparseMapsOutput {
         316  +
    #[allow(missing_docs)] // documentation missing in model
         317  +
    pub fn sparse_struct_map(
         318  +
        &self,
         319  +
    ) -> ::std::option::Option<
         320  +
        &::std::collections::HashMap<
         321  +
            ::std::string::String,
         322  +
            ::std::option::Option<crate::model::GreetingStruct>,
         323  +
        >,
         324  +
    > {
         325  +
        self.sparse_struct_map.as_ref()
         326  +
    }
         327  +
    #[allow(missing_docs)] // documentation missing in model
         328  +
    pub fn sparse_number_map(
         329  +
        &self,
         330  +
    ) -> ::std::option::Option<
         331  +
        &::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
         332  +
    > {
         333  +
        self.sparse_number_map.as_ref()
         334  +
    }
         335  +
    #[allow(missing_docs)] // documentation missing in model
         336  +
    pub fn sparse_boolean_map(
         337  +
        &self,
         338  +
    ) -> ::std::option::Option<
         339  +
        &::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
         340  +
    > {
         341  +
        self.sparse_boolean_map.as_ref()
         342  +
    }
         343  +
    #[allow(missing_docs)] // documentation missing in model
         344  +
    pub fn sparse_string_map(
         345  +
        &self,
         346  +
    ) -> ::std::option::Option<
         347  +
        &::std::collections::HashMap<
         348  +
            ::std::string::String,
         349  +
            ::std::option::Option<::std::string::String>,
         350  +
        >,
         351  +
    > {
         352  +
        self.sparse_string_map.as_ref()
         353  +
    }
         354  +
    #[allow(missing_docs)] // documentation missing in model
         355  +
    pub fn sparse_set_map(
         356  +
        &self,
         357  +
    ) -> ::std::option::Option<
         358  +
        &::std::collections::HashMap<
         359  +
            ::std::string::String,
         360  +
            ::std::option::Option<crate::model::StringSet>,
         361  +
        >,
         362  +
    > {
         363  +
        self.sparse_set_map.as_ref()
         364  +
    }
         365  +
}
         366  +
impl RpcV2CborSparseMapsOutput {
         367  +
    /// Creates a new builder-style object to manufacture [`RpcV2CborSparseMapsOutput`](crate::output::RpcV2CborSparseMapsOutput).
         368  +
    pub fn builder() -> crate::output::rpc_v2_cbor_sparse_maps_output::Builder {
         369  +
        crate::output::rpc_v2_cbor_sparse_maps_output::Builder::default()
         370  +
    }
         371  +
}
         372  +
         373  +
#[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  +
    >,
         390  +
    #[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  +
    >,
         394  +
}
         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  +
    }
         404  +
    #[allow(missing_docs)] // documentation missing in model
         405  +
    pub fn dense_number_map(
         406  +
        &self,
         407  +
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, i32>> {
         408  +
        self.dense_number_map.as_ref()
         409  +
    }
         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()
         415  +
    }
         416  +
    #[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  +
    }
         424  +
    #[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()
         431  +
    }
         432  +
}
         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()
         437  +
    }
         438  +
}
         439  +
         440  +
#[allow(missing_docs)] // documentation missing in model
         441  +
#[derive(
         442  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         443  +
)]
         444  +
pub struct RpcV2CborListsOutput {
         445  +
    #[allow(missing_docs)] // documentation missing in model
         446  +
    pub string_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         447  +
    #[allow(missing_docs)] // documentation missing in model
         448  +
    pub string_set: ::std::option::Option<crate::model::StringSet>,
         449  +
    #[allow(missing_docs)] // documentation missing in model
         450  +
    pub integer_list: ::std::option::Option<::std::vec::Vec<i32>>,
         451  +
    #[allow(missing_docs)] // documentation missing in model
         452  +
    pub boolean_list: ::std::option::Option<::std::vec::Vec<bool>>,
         453  +
    #[allow(missing_docs)] // documentation missing in model
         454  +
    pub timestamp_list: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::DateTime>>,
         455  +
    #[allow(missing_docs)] // documentation missing in model
         456  +
    pub enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
         457  +
    #[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>>>,
         462  +
    #[allow(missing_docs)] // documentation missing in model
         463  +
    pub structure_list: ::std::option::Option<::std::vec::Vec<crate::model::StructureListMember>>,
         464  +
    #[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 {
         468  +
    #[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  +
    }
         472  +
    #[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  +
    }
         476  +
    #[allow(missing_docs)] // documentation missing in model
         477  +
    pub fn integer_list(&self) -> ::std::option::Option<&[i32]> {
         478  +
        self.integer_list.as_deref()
         479  +
    }
         480  +
    #[allow(missing_docs)] // documentation missing in model
         481  +
    pub fn boolean_list(&self) -> ::std::option::Option<&[bool]> {
         482  +
        self.boolean_list.as_deref()
         483  +
    }
         484  +
    #[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  +
    }
         488  +
    #[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  +
    }
         492  +
    #[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  +
    }
         502  +
    #[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()
         505  +
    }
         506  +
    #[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()
         509  +
    }
         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()
         515  +
    }
         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  +
    #[allow(missing_docs)] // documentation missing in model
         522  +
    pub true_boolean_value: ::std::option::Option<bool>,
         523  +
    #[allow(missing_docs)] // documentation missing in model
         524  +
    pub false_boolean_value: ::std::option::Option<bool>,
         525  +
    #[allow(missing_docs)] // documentation missing in model
         526  +
    pub byte_value: ::std::option::Option<i8>,
         527  +
    #[allow(missing_docs)] // documentation missing in model
         528  +
    pub double_value: ::std::option::Option<f64>,
         529  +
    #[allow(missing_docs)] // documentation missing in model
         530  +
    pub float_value: ::std::option::Option<f32>,
         531  +
    #[allow(missing_docs)] // documentation missing in model
         532  +
    pub integer_value: ::std::option::Option<i32>,
         533  +
    #[allow(missing_docs)] // documentation missing in model
         534  +
    pub long_value: ::std::option::Option<i64>,
         535  +
    #[allow(missing_docs)] // documentation missing in model
         536  +
    pub short_value: ::std::option::Option<i16>,
         537  +
    #[allow(missing_docs)] // documentation missing in model
         538  +
    pub string_value: ::std::option::Option<::std::string::String>,
         539  +
    #[allow(missing_docs)] // documentation missing in model
         540  +
    pub blob_value: ::std::option::Option<::aws_smithy_types::Blob>,
         541  +
}
         542  +
impl SimpleScalarPropertiesOutput {
         543  +
    #[allow(missing_docs)] // documentation missing in model
         544  +
    pub fn true_boolean_value(&self) -> ::std::option::Option<bool> {
         545  +
        self.true_boolean_value
         546  +
    }
         547  +
    #[allow(missing_docs)] // documentation missing in model
         548  +
    pub fn false_boolean_value(&self) -> ::std::option::Option<bool> {
         549  +
        self.false_boolean_value
         550  +
    }
         551  +
    #[allow(missing_docs)] // documentation missing in model
         552  +
    pub fn byte_value(&self) -> ::std::option::Option<i8> {
         553  +
        self.byte_value
         554  +
    }
         555  +
    #[allow(missing_docs)] // documentation missing in model
         556  +
    pub fn double_value(&self) -> ::std::option::Option<f64> {
         557  +
        self.double_value
         558  +
    }
         559  +
    #[allow(missing_docs)] // documentation missing in model
         560  +
    pub fn float_value(&self) -> ::std::option::Option<f32> {
         561  +
        self.float_value
         562  +
    }
         563  +
    #[allow(missing_docs)] // documentation missing in model
         564  +
    pub fn integer_value(&self) -> ::std::option::Option<i32> {
         565  +
        self.integer_value
         566  +
    }
         567  +
    #[allow(missing_docs)] // documentation missing in model
         568  +
    pub fn long_value(&self) -> ::std::option::Option<i64> {
         569  +
        self.long_value
         570  +
    }
         571  +
    #[allow(missing_docs)] // documentation missing in model
         572  +
    pub fn short_value(&self) -> ::std::option::Option<i16> {
         573  +
        self.short_value
         574  +
    }
         575  +
    #[allow(missing_docs)] // documentation missing in model
         576  +
    pub fn string_value(&self) -> ::std::option::Option<&str> {
         577  +
        self.string_value.as_deref()
         578  +
    }
         579  +
    #[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()
         582  +
    }
         583  +
}
         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()
         588  +
    }
         589  +
}
         590  +
         591  +
#[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 {
         596  +
    #[allow(missing_docs)] // documentation missing in model
         597  +
    pub value: ::std::option::Option<::std::string::String>,
         598  +
}
         599  +
impl OptionalInputOutputOutput {
         600  +
    #[allow(missing_docs)] // documentation missing in model
         601  +
    pub fn value(&self) -> ::std::option::Option<&str> {
         602  +
        self.value.as_deref()
         603  +
    }
         604  +
}
         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()
         609  +
    }
         610  +
}
         611  +
         612  +
#[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()
         621  +
    }
         622  +
}
         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()
         633  +
    }
         634  +
}
         635  +
/// See [`Float16Output`](crate::output::Float16Output).
         636  +
pub mod float16_output {
         637  +
         638  +
    impl ::std::convert::From<Builder> for crate::output::Float16Output {
         639  +
        fn from(builder: Builder) -> Self {
         640  +
            builder.build()
         641  +
        }
         642  +
    }
         643  +
    /// A builder for [`Float16Output`](crate::output::Float16Output).
         644  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         645  +
    pub struct Builder {
         646  +
        pub(crate) value: ::std::option::Option<f64>,
         647  +
    }
         648  +
    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 {
         656  +
            self.build_enforcing_all_constraints()
         657  +
        }
         658  +
        fn build_enforcing_all_constraints(self) -> crate::output::Float16Output {
         659  +
            crate::output::Float16Output { value: self.value }
         660  +
        }
         661  +
    }
         662  +
}
         663  +
/// See [`SparseNullsOperationOutput`](crate::output::SparseNullsOperationOutput).
         664  +
pub mod sparse_nulls_operation_output {
         665  +
         666  +
    impl ::std::convert::From<Builder> for crate::output::SparseNullsOperationOutput {
         667  +
        fn from(builder: Builder) -> Self {
         668  +
            builder.build()
         669  +
        }
         670  +
    }
         671  +
    /// A builder for [`SparseNullsOperationOutput`](crate::output::SparseNullsOperationOutput).
         672  +
    #[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  +
    }
         683  +
    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 {
         709  +
            self.build_enforcing_all_constraints()
         710  +
        }
         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  +
            }
         716  +
        }
         717  +
    }
         718  +
}
         719  +
/// See [`OperationWithDefaultsOutput`](crate::output::OperationWithDefaultsOutput).
         720  +
pub mod operation_with_defaults_output {
         721  +
         722  +
    impl ::std::convert::From<Builder> for crate::output::OperationWithDefaultsOutput {
         723  +
        fn from(builder: Builder) -> Self {
         724  +
            builder.build()
         725  +
        }
         726  +
    }
         727  +
    /// A builder for [`OperationWithDefaultsOutput`](crate::output::OperationWithDefaultsOutput).
         728  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         729  +
    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>,
         755  +
    }
         756  +
    impl Builder {
         757  +
        #[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);
         760  +
            self
         761  +
        }
         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
         766  +
        }
         767  +
        #[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);
         770  +
            self
         771  +
        }
         772  +
        #[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);
         775  +
            self
         776  +
        }
         777  +
        #[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);
         780  +
            self
         781  +
        }
         782  +
        #[allow(missing_docs)] // documentation missing in model
         783  +
        pub fn default_byte(mut self, input: i8) -> Self {
         784  +
            self.default_byte = Some(input);
         785  +
            self
         786  +
        }
         787  +
        #[allow(missing_docs)] // documentation missing in model
         788  +
        pub fn default_short(mut self, input: i16) -> Self {
         789  +
            self.default_short = Some(input);
         790  +
            self
         791  +
        }
         792  +
        #[allow(missing_docs)] // documentation missing in model
         793  +
        pub fn default_integer(mut self, input: i32) -> Self {
         794  +
            self.default_integer = Some(input);
         795  +
            self
         796  +
        }
         797  +
        #[allow(missing_docs)] // documentation missing in model
         798  +
        pub fn default_long(mut self, input: i64) -> Self {
         799  +
            self.default_long = Some(input);
         800  +
            self
         801  +
        }
         802  +
        #[allow(missing_docs)] // documentation missing in model
         803  +
        pub fn default_float(mut self, input: f32) -> Self {
         804  +
            self.default_float = Some(input);
         805  +
            self
         806  +
        }
         807  +
        #[allow(missing_docs)] // documentation missing in model
         808  +
        pub fn default_double(mut self, input: f64) -> Self {
         809  +
            self.default_double = Some(input);
         810  +
            self
         811  +
        }
         812  +
        #[allow(missing_docs)] // documentation missing in model
         813  +
        pub fn default_map(
         814  +
            mut self,
         815  +
            input: ::std::collections::HashMap<::std::string::String, ::std::string::String>,
         816  +
        ) -> Self {
         817  +
            self.default_map = Some(input);
         818  +
            self
         819  +
        }
         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
         824  +
        }
         825  +
        #[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  +
            self
         829  +
        }
         830  +
        #[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);
         833  +
            self
         834  +
        }
         835  +
        #[allow(missing_docs)] // documentation missing in model
         836  +
        pub fn false_boolean(mut self, input: bool) -> Self {
         837  +
            self.false_boolean = Some(input);
         838  +
            self
         839  +
        }
         840  +
        #[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);
         843  +
            self
         844  +
        }
         845  +
        #[allow(missing_docs)] // documentation missing in model
         846  +
        pub fn zero_byte(mut self, input: i8) -> Self {
         847  +
            self.zero_byte = Some(input);
         848  +
            self
         849  +
        }
         850  +
        #[allow(missing_docs)] // documentation missing in model
         851  +
        pub fn zero_short(mut self, input: i16) -> Self {
         852  +
            self.zero_short = Some(input);
         853  +
            self
         854  +
        }
         855  +
        #[allow(missing_docs)] // documentation missing in model
         856  +
        pub fn zero_integer(mut self, input: i32) -> Self {
         857  +
            self.zero_integer = Some(input);
         858  +
            self
         859  +
        }
         860  +
        #[allow(missing_docs)] // documentation missing in model
         861  +
        pub fn zero_long(mut self, input: i64) -> Self {
         862  +
            self.zero_long = Some(input);
         863  +
            self
         864  +
        }
         865  +
        #[allow(missing_docs)] // documentation missing in model
         866  +
        pub fn zero_float(mut self, input: f32) -> Self {
         867  +
            self.zero_float = Some(input);
         868  +
            self
         869  +
        }
         870  +
        #[allow(missing_docs)] // documentation missing in model
         871  +
        pub fn zero_double(mut self, input: f64) -> Self {
         872  +
            self.zero_double = Some(input);
         873  +
            self
         874  +
        }
         875  +
        /// Consumes the builder and constructs a [`OperationWithDefaultsOutput`](crate::output::OperationWithDefaultsOutput).
         876  +
        pub fn build(self) -> crate::output::OperationWithDefaultsOutput {
         877  +
            self.build_enforcing_all_constraints()
         878  +
        }
         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),
         914  +
            }
         915  +
        }
         916  +
    }
         917  +
}
         918  +
/// See [`FractionalSecondsOutput`](crate::output::FractionalSecondsOutput).
         919  +
pub mod fractional_seconds_output {
         920  +
         921  +
    impl ::std::convert::From<Builder> for crate::output::FractionalSecondsOutput {
         922  +
        fn from(builder: Builder) -> Self {
         923  +
            builder.build()
         924  +
        }
         925  +
    }
         926  +
    /// A builder for [`FractionalSecondsOutput`](crate::output::FractionalSecondsOutput).
         927  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         928  +
    pub struct Builder {
         929  +
        pub(crate) datetime: ::std::option::Option<::aws_smithy_types::DateTime>,
         930  +
    }
         931  +
    impl Builder {
         932  +
        #[allow(missing_docs)] // documentation missing in model
         933  +
        pub fn datetime(
         934  +
            mut self,
         935  +
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
         936  +
        ) -> Self {
         937  +
            self.datetime = input;
         938  +
            self
         939  +
        }
         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  +
        #[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;
         968  +
            self
         969  +
        }
         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()
         987  +
        }
         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  +
        #[allow(missing_docs)] // documentation missing in model
         996  +
        pub fn nested(
         997  +
            mut self,
         998  +
            input: ::std::option::Option<crate::model::RecursiveShapesInputOutputNested1>,
         999  +
        ) -> Self {
        1000  +
            self.nested = input;
        1001  +
            self
        1002  +
        }
        1003  +
        /// Consumes the builder and constructs a [`RecursiveShapesOutput`](crate::output::RecursiveShapesOutput).
        1004  +
        pub fn build(self) -> crate::output::RecursiveShapesOutput {
        1005  +
            self.build_enforcing_all_constraints()
        1006  +
        }
        1007  +
        fn build_enforcing_all_constraints(self) -> crate::output::RecursiveShapesOutput {
        1008  +
            crate::output::RecursiveShapesOutput {
        1009  +
                nested: self.nested,
        1010  +
            }
        1011  +
        }
        1012  +
    }
        1013  +
}
        1014  +
/// See [`RpcV2CborSparseMapsOutput`](crate::output::RpcV2CborSparseMapsOutput).
        1015  +
pub mod rpc_v2_cbor_sparse_maps_output {
        1016  +
        1017  +
    impl ::std::convert::From<Builder> for crate::output::RpcV2CborSparseMapsOutput {
        1018  +
        fn from(builder: Builder) -> Self {
        1019  +
            builder.build()
        1020  +
        }
        1021  +
    }
        1022  +
    /// A builder for [`RpcV2CborSparseMapsOutput`](crate::output::RpcV2CborSparseMapsOutput).
        1023  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1024  +
    pub struct Builder {
        1025  +
        pub(crate) sparse_struct_map: ::std::option::Option<
        1026  +
            ::std::collections::HashMap<
        1027  +
                ::std::string::String,
        1028  +
                ::std::option::Option<crate::model::GreetingStruct>,
        1029  +
            >,
        1030  +
        >,
        1031  +
        pub(crate) sparse_number_map: ::std::option::Option<
        1032  +
            ::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
        1033  +
        >,
        1034  +
        pub(crate) sparse_boolean_map: ::std::option::Option<
        1035  +
            ::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
        1036  +
        >,
        1037  +
        pub(crate) sparse_string_map: ::std::option::Option<
        1038  +
            ::std::collections::HashMap<
        1039  +
                ::std::string::String,
        1040  +
                ::std::option::Option<::std::string::String>,
        1041  +
            >,
        1042  +
        >,
        1043  +
        pub(crate) sparse_set_map: ::std::option::Option<
        1044  +
            ::std::collections::HashMap<
        1045  +
                ::std::string::String,
        1046  +
                ::std::option::Option<crate::model::StringSet>,
        1047  +
            >,
        1048  +
        >,
        1049  +
    }
        1050  +
    impl Builder {
        1051  +
        #[allow(missing_docs)] // documentation missing in model
        1052  +
        pub fn sparse_struct_map(
        1053  +
            mut self,
        1054  +
            input: ::std::option::Option<
        1055  +
                ::std::collections::HashMap<
        1056  +
                    ::std::string::String,
        1057  +
                    ::std::option::Option<crate::model::GreetingStruct>,
        1058  +
                >,
        1059  +
            >,
        1060  +
        ) -> Self {
        1061  +
            self.sparse_struct_map = input;
        1062  +
            self
        1063  +
        }
        1064  +
        #[allow(missing_docs)] // documentation missing in model
        1065  +
        pub fn sparse_number_map(
        1066  +
            mut self,
        1067  +
            input: ::std::option::Option<
        1068  +
                ::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>,
        1069  +
            >,
        1070  +
        ) -> Self {
        1071  +
            self.sparse_number_map = input;
        1072  +
            self
        1073  +
        }
        1074  +
        #[allow(missing_docs)] // documentation missing in model
        1075  +
        pub fn sparse_boolean_map(
        1076  +
            mut self,
        1077  +
            input: ::std::option::Option<
        1078  +
                ::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
        1079  +
            >,
        1080  +
        ) -> Self {
        1081  +
            self.sparse_boolean_map = input;
        1082  +
            self
        1083  +
        }
        1084  +
        #[allow(missing_docs)] // documentation missing in model
        1085  +
        pub fn sparse_string_map(
        1086  +
            mut self,
        1087  +
            input: ::std::option::Option<
        1088  +
                ::std::collections::HashMap<
        1089  +
                    ::std::string::String,
        1090  +
                    ::std::option::Option<::std::string::String>,
        1091  +
                >,
        1092  +
            >,
        1093  +
        ) -> Self {
        1094  +
            self.sparse_string_map = input;
        1095  +
            self
        1096  +
        }
        1097  +
        #[allow(missing_docs)] // documentation missing in model
        1098  +
        pub fn sparse_set_map(
        1099  +
            mut self,
        1100  +
            input: ::std::option::Option<
        1101  +
                ::std::collections::HashMap<
        1102  +
                    ::std::string::String,
        1103  +
                    ::std::option::Option<crate::model::StringSet>,
        1104  +
                >,
        1105  +
            >,
        1106  +
        ) -> Self {
        1107  +
            self.sparse_set_map = input;
        1108  +
            self
        1109  +
        }
        1110  +
        /// Consumes the builder and constructs a [`RpcV2CborSparseMapsOutput`](crate::output::RpcV2CborSparseMapsOutput).
        1111  +
        pub fn build(self) -> crate::output::RpcV2CborSparseMapsOutput {
        1112  +
            self.build_enforcing_all_constraints()
        1113  +
        }
        1114  +
        fn build_enforcing_all_constraints(self) -> crate::output::RpcV2CborSparseMapsOutput {
        1115  +
            crate::output::RpcV2CborSparseMapsOutput {
        1116  +
                sparse_struct_map: self.sparse_struct_map,
        1117  +
                sparse_number_map: self.sparse_number_map,
        1118  +
                sparse_boolean_map: self.sparse_boolean_map,
        1119  +
                sparse_string_map: self.sparse_string_map,
        1120  +
                sparse_set_map: self.sparse_set_map,
        1121  +
            }
        1122  +
        }
        1123  +
    }
        1124  +
}
        1125  +
/// See [`RpcV2CborDenseMapsOutput`](crate::output::RpcV2CborDenseMapsOutput).
        1126  +
pub mod rpc_v2_cbor_dense_maps_output {
        1127  +
        1128  +
    impl ::std::convert::From<Builder> for crate::output::RpcV2CborDenseMapsOutput {
        1129  +
        fn from(builder: Builder) -> Self {
        1130  +
            builder.build()
        1131  +
        }
        1132  +
    }
        1133  +
    /// A builder for [`RpcV2CborDenseMapsOutput`](crate::output::RpcV2CborDenseMapsOutput).
        1134  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1135  +
    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  +
        >,
        1149  +
    }
        1150  +
    impl Builder {
        1151  +
        #[allow(missing_docs)] // documentation missing in model
        1152  +
        pub fn dense_struct_map(
        1153  +
            mut self,
        1154  +
            input: ::std::option::Option<
        1155  +
                ::std::collections::HashMap<::std::string::String, crate::model::GreetingStruct>,
        1156  +
            >,
        1157  +
        ) -> Self {
        1158  +
            self.dense_struct_map = input;
        1159  +
            self
        1160  +
        }
        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
        1168  +
        }
        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
        1176  +
        }
        1177  +
        #[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;
        1185  +
            self
        1186  +
        }
        1187  +
        #[allow(missing_docs)] // documentation missing in model
        1188  +
        pub fn dense_set_map(
        1189  +
            mut self,
        1190  +
            input: ::std::option::Option<
        1191  +
                ::std::collections::HashMap<::std::string::String, crate::model::StringSet>,
        1192  +
            >,
        1193  +
        ) -> Self {
        1194  +
            self.dense_set_map = input;
        1195  +
            self
        1196  +
        }
        1197  +
        /// Consumes the builder and constructs a [`RpcV2CborDenseMapsOutput`](crate::output::RpcV2CborDenseMapsOutput).
        1198  +
        pub fn build(self) -> crate::output::RpcV2CborDenseMapsOutput {
        1199  +
            self.build_enforcing_all_constraints()
        1200  +
        }
        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,
        1208  +
            }
        1209  +
        }
        1210  +
    }
        1211  +
}
        1212  +
/// See [`RpcV2CborListsOutput`](crate::output::RpcV2CborListsOutput).
        1213  +
pub mod rpc_v2_cbor_lists_output {
        1214  +
        1215  +
    impl ::std::convert::From<Builder> for crate::output::RpcV2CborListsOutput {
        1216  +
        fn from(builder: Builder) -> Self {
        1217  +
            builder.build()
        1218  +
        }
        1219  +
    }
        1220  +
    /// A builder for [`RpcV2CborListsOutput`](crate::output::RpcV2CborListsOutput).
        1221  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1222  +
    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>>,
        1236  +
    }
        1237  +
    impl Builder {
        1238  +
        #[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;
        1244  +
            self
        1245  +
        }
        1246  +
        #[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;
        1249  +
            self
        1250  +
        }
        1251  +
        #[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;
        1254  +
            self
        1255  +
        }
        1256  +
        #[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;
        1259  +
            self
        1260  +
        }
        1261  +
        #[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;
        1267  +
            self
        1268  +
        }
        1269  +
        #[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;
        1275  +
            self
        1276  +
        }
        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;
        1280  +
            self
        1281  +
        }
        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;
        1288  +
            self
        1289  +
        }
        1290  +
        #[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;
        1296  +
            self
        1297  +
        }
        1298  +
        #[allow(missing_docs)] // documentation missing in model
        1299  +
        pub fn blob_list(
        1300  +
            mut self,
        1301  +
            input: ::std::option::Option<::std::vec::Vec<::aws_smithy_types::Blob>>,
        1302  +
        ) -> Self {
        1303  +
            self.blob_list = input;
        1304  +
            self
        1305  +
        }
        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()
        1332  +
        }
        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  +
        #[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;
        1352  +
            self
        1353  +
        }
        1354  +
        #[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;
        1357  +
            self
        1358  +
        }
        1359  +
        #[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;
        1362  +
            self
        1363  +
        }
        1364  +
        #[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;
        1367  +
            self
        1368  +
        }
        1369  +
        #[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;
        1372  +
            self
        1373  +
        }
        1374  +
        #[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;
        1377  +
            self
        1378  +
        }
        1379  +
        #[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;
        1382  +
            self
        1383  +
        }
        1384  +
        #[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;
        1387  +
            self
        1388  +
        }
        1389  +
        #[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;
        1392  +
            self
        1393  +
        }
        1394  +
        #[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;
        1400  +
            self
        1401  +
        }
        1402  +
        /// Consumes the builder and constructs a [`SimpleScalarPropertiesOutput`](crate::output::SimpleScalarPropertiesOutput).
        1403  +
        pub fn build(self) -> crate::output::SimpleScalarPropertiesOutput {
        1404  +
            self.build_enforcing_all_constraints()
        1405  +
        }
        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,
        1418  +
            }
        1419  +
        }
        1420  +
    }
        1421  +
}
        1422  +
/// See [`OptionalInputOutputOutput`](crate::output::OptionalInputOutputOutput).
        1423  +
pub mod optional_input_output_output {
        1424  +
        1425  +
    impl ::std::convert::From<Builder> for crate::output::OptionalInputOutputOutput {
        1426  +
        fn from(builder: Builder) -> Self {
        1427  +
            builder.build()
        1428  +
        }
        1429  +
    }
        1430  +
    /// A builder for [`OptionalInputOutputOutput`](crate::output::OptionalInputOutputOutput).
        1431  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1432  +
    pub struct Builder {
        1433  +
        pub(crate) value: ::std::option::Option<::std::string::String>,
        1434  +
    }
        1435  +
    impl Builder {
        1436  +
        #[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;
        1439  +
            self
        1440  +
        }
        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()
        1456  +
        }
        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 {
        1464  +
            self.build_enforcing_all_constraints()
        1465  +
        }
        1466  +
        fn build_enforcing_all_constraints(self) -> crate::output::EmptyInputOutputOutput {
        1467  +
            crate::output::EmptyInputOutputOutput {}
        1468  +
        }
        1469  +
    }
        1470  +
}
        1471  +
/// See [`NoInputOutputOutput`](crate::output::NoInputOutputOutput).
        1472  +
pub mod no_input_output_output {
        1473  +
        1474  +
    impl ::std::convert::From<Builder> for crate::output::NoInputOutputOutput {
        1475  +
        fn from(builder: Builder) -> Self {
        1476  +
            builder.build()
        1477  +
        }
        1478  +
    }
        1479  +
    /// A builder for [`NoInputOutputOutput`](crate::output::NoInputOutputOutput).
        1480  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1481  +
    pub struct Builder {}
        1482  +
    impl Builder {
        1483  +
        /// Consumes the builder and constructs a [`NoInputOutputOutput`](crate::output::NoInputOutputOutput).
        1484  +
        pub fn build(self) -> crate::output::NoInputOutputOutput {
        1485  +
            self.build_enforcing_all_constraints()
        1486  +
        }
        1487  +
        fn build_enforcing_all_constraints(self) -> crate::output::NoInputOutputOutput {
        1488  +
            crate::output::NoInputOutputOutput {}
        1489  +
        }
        1490  +
    }
        1491  +
}