Client Test

Client Test

rev. dfb5149b65b7bcc09edd15b8e071ad43b5ac5943 (ignoring whitespace)

Files changed:

tmp-codegen-diff/codegen-client-test/rest_xml_namespace/rust-client-codegen/src/protocol_serde/shape_simple_scalar_properties_input.rs

@@ -1,1 +50,122 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* XmlBindingTraitSerializerGenerator.kt:427 */
    2      3   
pub fn ser_simple_scalar_properties_input_input_input(
    3      4   
    input: &crate::operation::simple_scalar_properties::SimpleScalarPropertiesInput,
    4      5   
    writer: ::aws_smithy_xml::encode::ElWriter,
    5      6   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
           7  +
    /* RustType.kt:516 */
    6      8   
    #[allow(unused_mut)]
           9  +
    /* XmlBindingTraitSerializerGenerator.kt:299 */
    7     10   
    let mut scope = writer.finish();
          11  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
    8     12   
    if let Some(var_1) = &input.nested {
          13  +
        /* XmlBindingTraitSerializerGenerator.kt:399 */
    9     14   
        let inner_writer = scope.start_el("Nested").write_ns("https://example.com", Some("xsi"));
          15  +
        /* XmlBindingTraitSerializerGenerator.kt:440 */
   10     16   
        crate::protocol_serde::shape_nested_with_namespace::ser_nested_with_namespace(var_1, inner_writer)?
          17  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
   11     18   
    }
          19  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
   12     20   
    if let Some(var_2) = &input.byte_value {
          21  +
        /* XmlBindingTraitSerializerGenerator.kt:359 */
   13     22   
        let mut inner_writer = scope.start_el("byteValue").finish();
   14         -
        inner_writer.data(::aws_smithy_types::primitive::Encoder::from(*var_2).encode());
          23  +
        /* XmlBindingTraitSerializerGenerator.kt:360 */
          24  +
        inner_writer.data(
          25  +
            /* XmlBindingTraitSerializerGenerator.kt:325 */
          26  +
            ::aws_smithy_types::primitive::Encoder::from(*var_2).encode(), /* XmlBindingTraitSerializerGenerator.kt:360 */
          27  +
        );
          28  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
   15     29   
    }
          30  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
   16     31   
    if let Some(var_3) = &input.double_value {
          32  +
        /* XmlBindingTraitSerializerGenerator.kt:359 */
   17     33   
        let mut inner_writer = scope.start_el("DoubleDribble").finish();
   18         -
        inner_writer.data(::aws_smithy_types::primitive::Encoder::from(*var_3).encode());
          34  +
        /* XmlBindingTraitSerializerGenerator.kt:360 */
          35  +
        inner_writer.data(
          36  +
            /* XmlBindingTraitSerializerGenerator.kt:325 */
          37  +
            ::aws_smithy_types::primitive::Encoder::from(*var_3).encode(), /* XmlBindingTraitSerializerGenerator.kt:360 */
          38  +
        );
          39  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
   19     40   
    }
          41  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
   20     42   
    if let Some(var_4) = &input.false_boolean_value {
          43  +
        /* XmlBindingTraitSerializerGenerator.kt:359 */
   21     44   
        let mut inner_writer = scope.start_el("falseBooleanValue").finish();
   22         -
        inner_writer.data(::aws_smithy_types::primitive::Encoder::from(*var_4).encode());
          45  +
        /* XmlBindingTraitSerializerGenerator.kt:360 */
          46  +
        inner_writer.data(
          47  +
            /* XmlBindingTraitSerializerGenerator.kt:325 */
          48  +
            ::aws_smithy_types::primitive::Encoder::from(*var_4).encode(), /* XmlBindingTraitSerializerGenerator.kt:360 */
          49  +
        );
          50  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
   23     51   
    }
          52  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
   24     53   
    if let Some(var_5) = &input.float_value {
          54  +
        /* XmlBindingTraitSerializerGenerator.kt:359 */
   25     55   
        let mut inner_writer = scope.start_el("floatValue").finish();
   26         -
        inner_writer.data(::aws_smithy_types::primitive::Encoder::from(*var_5).encode());
          56  +
        /* XmlBindingTraitSerializerGenerator.kt:360 */
          57  +
        inner_writer.data(
          58  +
            /* XmlBindingTraitSerializerGenerator.kt:325 */
          59  +
            ::aws_smithy_types::primitive::Encoder::from(*var_5).encode(), /* XmlBindingTraitSerializerGenerator.kt:360 */
          60  +
        );
          61  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
   27     62   
    }
          63  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
   28     64   
    if let Some(var_6) = &input.integer_value {
          65  +
        /* XmlBindingTraitSerializerGenerator.kt:359 */
   29     66   
        let mut inner_writer = scope.start_el("integerValue").finish();
   30         -
        inner_writer.data(::aws_smithy_types::primitive::Encoder::from(*var_6).encode());
          67  +
        /* XmlBindingTraitSerializerGenerator.kt:360 */
          68  +
        inner_writer.data(
          69  +
            /* XmlBindingTraitSerializerGenerator.kt:325 */
          70  +
            ::aws_smithy_types::primitive::Encoder::from(*var_6).encode(), /* XmlBindingTraitSerializerGenerator.kt:360 */
          71  +
        );
          72  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
   31     73   
    }
          74  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
   32     75   
    if let Some(var_7) = &input.long_value {
          76  +
        /* XmlBindingTraitSerializerGenerator.kt:359 */
   33     77   
        let mut inner_writer = scope.start_el("longValue").finish();
   34         -
        inner_writer.data(::aws_smithy_types::primitive::Encoder::from(*var_7).encode());
          78  +
        /* XmlBindingTraitSerializerGenerator.kt:360 */
          79  +
        inner_writer.data(
          80  +
            /* XmlBindingTraitSerializerGenerator.kt:325 */
          81  +
            ::aws_smithy_types::primitive::Encoder::from(*var_7).encode(), /* XmlBindingTraitSerializerGenerator.kt:360 */
          82  +
        );
          83  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
   35     84   
    }
          85  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
   36     86   
    if let Some(var_8) = &input.short_value {
          87  +
        /* XmlBindingTraitSerializerGenerator.kt:359 */
   37     88   
        let mut inner_writer = scope.start_el("shortValue").finish();
   38         -
        inner_writer.data(::aws_smithy_types::primitive::Encoder::from(*var_8).encode());
          89  +
        /* XmlBindingTraitSerializerGenerator.kt:360 */
          90  +
        inner_writer.data(
          91  +
            /* XmlBindingTraitSerializerGenerator.kt:325 */
          92  +
            ::aws_smithy_types::primitive::Encoder::from(*var_8).encode(), /* XmlBindingTraitSerializerGenerator.kt:360 */
          93  +
        );
          94  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
   39     95   
    }
          96  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
   40     97   
    if let Some(var_9) = &input.string_value {
          98  +
        /* XmlBindingTraitSerializerGenerator.kt:359 */
   41     99   
        let mut inner_writer = scope.start_el("stringValue").finish();
   42         -
        inner_writer.data(var_9.as_str());
         100  +
        /* XmlBindingTraitSerializerGenerator.kt:360 */
         101  +
        inner_writer.data(
         102  +
            /* XmlBindingTraitSerializerGenerator.kt:321 */ var_9.as_str(), /* XmlBindingTraitSerializerGenerator.kt:360 */
         103  +
        );
         104  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
   43    105   
    }
         106  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
   44    107   
    if let Some(var_10) = &input.true_boolean_value {
         108  +
        /* XmlBindingTraitSerializerGenerator.kt:359 */
   45    109   
        let mut inner_writer = scope.start_el("trueBooleanValue").finish();
   46         -
        inner_writer.data(::aws_smithy_types::primitive::Encoder::from(*var_10).encode());
         110  +
        /* XmlBindingTraitSerializerGenerator.kt:360 */
         111  +
        inner_writer.data(
         112  +
            /* XmlBindingTraitSerializerGenerator.kt:325 */
         113  +
            ::aws_smithy_types::primitive::Encoder::from(*var_10).encode(), /* XmlBindingTraitSerializerGenerator.kt:360 */
         114  +
        );
         115  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
   47    116   
    }
         117  +
    /* XmlBindingTraitSerializerGenerator.kt:304 */
   48    118   
    scope.finish();
         119  +
    /* XmlBindingTraitSerializerGenerator.kt:437 */
   49    120   
    Ok(())
         121  +
    /* XmlBindingTraitSerializerGenerator.kt:427 */
   50    122   
}

tmp-codegen-diff/codegen-client-test/rest_xml_namespace/rust-client-codegen/src/protocol_serde/shape_simple_scalar_properties_output.rs

@@ -1,1 +7,11 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* HttpBindingGenerator.kt:153 */
    2      3   
pub(crate) fn de_foo_header(
    3      4   
    header_map: &::aws_smithy_runtime_api::http::Headers,
    4      5   
) -> ::std::result::Result<::std::option::Option<::std::string::String>, ::aws_smithy_http::header::ParseError> {
           6  +
    /* HttpBindingGenerator.kt:160 */
    5      7   
    let headers = header_map.get_all("X-Foo");
           8  +
    /* HttpBindingGenerator.kt:375 */
    6      9   
    ::aws_smithy_http::header::one_or_none(headers)
          10  +
    /* HttpBindingGenerator.kt:153 */
    7     11   
}

tmp-codegen-diff/codegen-client-test/rest_xml_namespace/rust-client-codegen/src/types.rs

@@ -1,1 +7,9 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* CodegenDelegator.kt:255 */
    2      3   
pub use crate::types::_nested_with_namespace::NestedWithNamespace;
    3      4   
           5  +
/* RustModule.kt:172 */
    4      6   
mod _nested_with_namespace;
    5      7   
    6         -
/// Builders
           8  +
/// /* CodegenDelegator.kt:51 */Builders
    7      9   
pub mod builders;

tmp-codegen-diff/codegen-client-test/rest_xml_namespace/rust-client-codegen/src/types/_nested_with_namespace.rs

@@ -1,1 +47,88 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* StructureGenerator.kt:197 */
    2      3   
#[allow(missing_docs)] // documentation missing in model
           4  +
/* RustType.kt:516 */
    3      5   
#[non_exhaustive]
           6  +
/* RustType.kt:516 */
    4      7   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    5         -
pub struct NestedWithNamespace {
           8  +
pub /* StructureGenerator.kt:201 */ struct NestedWithNamespace {
           9  +
    /* StructureGenerator.kt:231 */
    6     10   
    #[allow(missing_docs)] // documentation missing in model
    7     11   
    pub attr_field: ::std::option::Option<::std::string::String>,
          12  +
    /* StructureGenerator.kt:201 */
    8     13   
}
          14  +
/* StructureGenerator.kt:135 */
    9     15   
impl NestedWithNamespace {
          16  +
    /* StructureGenerator.kt:231 */
   10     17   
    #[allow(missing_docs)] // documentation missing in model
          18  +
                           /* StructureGenerator.kt:166 */
   11     19   
    pub fn attr_field(&self) -> ::std::option::Option<&str> {
          20  +
        /* StructureGenerator.kt:169 */
   12     21   
        self.attr_field.as_deref()
          22  +
        /* StructureGenerator.kt:166 */
   13     23   
    }
          24  +
    /* StructureGenerator.kt:135 */
   14     25   
}
          26  +
/* ClientCodegenVisitor.kt:237 */
   15     27   
impl NestedWithNamespace {
   16         -
    /// Creates a new builder-style object to manufacture [`NestedWithNamespace`](crate::types::NestedWithNamespace).
          28  +
    /// /* BuilderGenerator.kt:173 */Creates a new builder-style object to manufacture [`NestedWithNamespace`](crate::types::NestedWithNamespace).
          29  +
    /* BuilderGenerator.kt:175 */
   17     30   
    pub fn builder() -> crate::types::builders::NestedWithNamespaceBuilder {
          31  +
        /* BuilderGenerator.kt:176 */
   18     32   
        crate::types::builders::NestedWithNamespaceBuilder::default()
          33  +
        /* BuilderGenerator.kt:175 */
   19     34   
    }
          35  +
    /* ClientCodegenVisitor.kt:237 */
   20     36   
}
   21     37   
   22         -
/// A builder for [`NestedWithNamespace`](crate::types::NestedWithNamespace).
          38  +
/// /* BuilderGenerator.kt:342 */A builder for [`NestedWithNamespace`](crate::types::NestedWithNamespace).
          39  +
/* RustType.kt:516 */
   23     40   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          41  +
/* RustType.kt:516 */
   24     42   
#[non_exhaustive]
          43  +
/* BuilderGenerator.kt:345 */
   25     44   
pub struct NestedWithNamespaceBuilder {
   26         -
    pub(crate) attr_field: ::std::option::Option<::std::string::String>,
          45  +
    /* BuilderGenerator.kt:275 */ pub(crate) attr_field: ::std::option::Option<::std::string::String>,
          46  +
    /* BuilderGenerator.kt:345 */
   27     47   
}
          48  +
/* BuilderGenerator.kt:355 */
   28     49   
impl NestedWithNamespaceBuilder {
          50  +
    /* BuilderGenerator.kt:286 */
   29     51   
    #[allow(missing_docs)] // documentation missing in model
          52  +
                           /* BuilderGenerator.kt:291 */
   30     53   
    pub fn attr_field(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
          54  +
        /* BuilderGenerator.kt:292 */
   31     55   
        self.attr_field = ::std::option::Option::Some(input.into());
          56  +
        /* BuilderGenerator.kt:293 */
   32     57   
        self
          58  +
        /* BuilderGenerator.kt:291 */
   33     59   
    }
          60  +
    /* BuilderGenerator.kt:312 */
   34     61   
    #[allow(missing_docs)] // documentation missing in model
          62  +
                           /* BuilderGenerator.kt:314 */
   35     63   
    pub fn set_attr_field(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
          64  +
        /* BuilderGenerator.kt:315 */
   36     65   
        self.attr_field = input;
   37     66   
        self
          67  +
        /* BuilderGenerator.kt:314 */
   38     68   
    }
          69  +
    /* BuilderGenerator.kt:334 */
   39     70   
    #[allow(missing_docs)] // documentation missing in model
          71  +
                           /* BuilderGenerator.kt:336 */
   40     72   
    pub fn get_attr_field(&self) -> &::std::option::Option<::std::string::String> {
          73  +
        /* BuilderGenerator.kt:337 */
   41     74   
        &self.attr_field
          75  +
        /* BuilderGenerator.kt:336 */
   42     76   
    }
   43         -
    /// Consumes the builder and constructs a [`NestedWithNamespace`](crate::types::NestedWithNamespace).
          77  +
    /// /* BuilderGenerator.kt:240 */Consumes the builder and constructs a [`NestedWithNamespace`](crate::types::NestedWithNamespace).
          78  +
    /* BuilderGenerator.kt:253 */
   44     79   
    pub fn build(self) -> crate::types::NestedWithNamespace {
   45         -
        crate::types::NestedWithNamespace { attr_field: self.attr_field }
          80  +
        /* BuilderGenerator.kt:477 */
          81  +
        crate::types::NestedWithNamespace {
          82  +
            /* BuilderGenerator.kt:481 */ attr_field: self.attr_field,
          83  +
            /* BuilderGenerator.kt:477 */
   46     84   
        }
          85  +
        /* BuilderGenerator.kt:253 */
          86  +
    }
          87  +
    /* BuilderGenerator.kt:355 */
   47     88   
}

tmp-codegen-diff/codegen-client-test/rest_xml_namespace/rust-client-codegen/src/types/builders.rs

@@ -1,1 +2,3 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* CodegenDelegator.kt:255 */
    2      3   
pub use crate::types::_nested_with_namespace::NestedWithNamespaceBuilder;

tmp-codegen-diff/codegen-client-test/rpcv2Cbor/rust-client-codegen/src/client.rs

@@ -1,1 +31,32 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* FluentClientGenerator.kt:105 */
    2      3   
#[derive(Debug)]
    3      4   
pub(crate) struct Handle {
    4      5   
    pub(crate) conf: crate::Config,
    5      6   
    #[allow(dead_code)] // unused when a service does not provide any operations
    6      7   
    pub(crate) runtime_plugins: ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
    7      8   
}
    8      9   
    9     10   
///
   10     11   
/// An ergonomic client for RpcV2 Protocol Service.
   11     12   
///
@@ -77,78 +158,172 @@
   97     98   
    fn validate_config(handle: &Handle) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
   98     99   
        let mut cfg = ::aws_smithy_types::config_bag::ConfigBag::base();
   99    100   
        handle
  100    101   
            .runtime_plugins
  101    102   
            .apply_client_configuration(&mut cfg)?
  102    103   
            .validate_base_client_config(&cfg)?;
  103    104   
        Ok(())
  104    105   
    }
  105    106   
}
  106    107   
  107         -
/// Operation customization and supporting types.
         108  +
/// /* ClientRustModule.kt:161 */Operation customization and supporting types.
  108    109   
///
  109         -
/// The underlying HTTP requests made during an operation can be customized
         110  +
/// /* ClientRustModule.kt:170 */The underlying HTTP requests made during an operation can be customized
  110    111   
/// by calling the `customize()` method on the builder returned from a client
  111    112   
/// operation call. For example, this can be used to add an additional HTTP header:
  112    113   
///
  113    114   
/// ```ignore
  114    115   
/// # async fn wrapper() -> ::std::result::Result<(), rpcv2cbor::Error> {
  115    116   
/// # let client: rpcv2cbor::Client = unimplemented!();
  116    117   
/// use ::http::header::{HeaderName, HeaderValue};
  117    118   
///
  118    119   
/// let result = client.empty_input_output()
  119    120   
///     .customize()
  120    121   
///     .mutate_request(|req| {
  121    122   
///         // Add `x-example-header` with value
  122    123   
///         req.headers_mut()
  123    124   
///             .insert(
  124    125   
///                 HeaderName::from_static("x-example-header"),
  125    126   
///                 HeaderValue::from_static("1"),
  126    127   
///             );
  127    128   
///     })
  128    129   
///     .send()
  129    130   
///     .await;
  130    131   
/// # }
  131    132   
/// ```
  132    133   
pub mod customize;
  133    134   
         135  +
/* RustModule.kt:172 */
  134    136   
mod empty_input_output;
  135    137   
         138  +
/* RustModule.kt:172 */
  136    139   
mod float16;
  137    140   
         141  +
/* RustModule.kt:172 */
  138    142   
mod fractional_seconds;
  139    143   
         144  +
/* RustModule.kt:172 */
  140    145   
mod greeting_with_errors;
  141    146   
         147  +
/* RustModule.kt:172 */
  142    148   
mod no_input_output;
  143    149   
         150  +
/* RustModule.kt:172 */
  144    151   
mod operation_with_defaults;
  145    152   
         153  +
/* RustModule.kt:172 */
  146    154   
mod optional_input_output;
  147    155   
         156  +
/* RustModule.kt:172 */
  148    157   
mod recursive_shapes;
  149    158   
         159  +
/* RustModule.kt:172 */
  150    160   
mod rpc_v2_cbor_dense_maps;
  151    161   
         162  +
/* RustModule.kt:172 */
  152    163   
mod rpc_v2_cbor_lists;
  153    164   
         165  +
/* RustModule.kt:172 */
  154    166   
mod rpc_v2_cbor_sparse_maps;
  155    167   
         168  +
/* RustModule.kt:172 */
  156    169   
mod simple_scalar_properties;
  157    170   
         171  +
/* RustModule.kt:172 */
  158    172   
mod sparse_nulls_operation;

tmp-codegen-diff/codegen-client-test/rpcv2Cbor/rust-client-codegen/src/client/customize.rs

@@ -1,1 +32,33 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
           3  +
/* CustomizableOperationGenerator.kt:72 */
    3      4   
/// `CustomizableOperation` allows for configuring a single operation invocation before it is sent.
    4      5   
pub struct CustomizableOperation<T, E, B> {
    5      6   
    customizable_send: B,
    6      7   
    config_override: ::std::option::Option<crate::config::Builder>,
    7      8   
    interceptors: Vec<::aws_smithy_runtime_api::client::interceptors::SharedInterceptor>,
    8      9   
    runtime_plugins: Vec<::aws_smithy_runtime_api::client::runtime_plugin::SharedRuntimePlugin>,
    9     10   
    _output: ::std::marker::PhantomData<T>,
   10     11   
    _error: ::std::marker::PhantomData<E>,
   11     12   
}
   12     13   

tmp-codegen-diff/codegen-client-test/rpcv2Cbor/rust-client-codegen/src/client/customize/internal.rs

@@ -1,1 +12,13 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* CustomizableOperationGenerator.kt:204 */
    2      3   
pub type BoxFuture<T> = ::std::pin::Pin<::std::boxed::Box<dyn ::std::future::Future<Output = T> + ::std::marker::Send>>;
    3      4   
    4      5   
pub type SendResult<T, E> =
    5      6   
    ::std::result::Result<T, ::aws_smithy_runtime_api::client::result::SdkError<E, ::aws_smithy_runtime_api::client::orchestrator::HttpResponse>>;
    6      7   
    7      8   
pub trait CustomizableSend<T, E>: ::std::marker::Send + ::std::marker::Sync {
    8      9   
    // Takes an owned `self` as the implementation will internally call methods that take `self`.
    9     10   
    // If it took `&self`, that would make this trait object safe, but some implementing types do not
   10     11   
    // derive `Clone`, unable to yield `self` from `&self`.
   11     12   
    fn send(self, config_override: crate::config::Builder) -> BoxFuture<SendResult<T, E>>;

tmp-codegen-diff/codegen-client-test/rpcv2Cbor/rust-client-codegen/src/client/empty_input_output.rs

@@ -1,1 +11,15 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* FluentClientGenerator.kt:187 */
    2      3   
impl super::Client {
           4  +
    /* FluentClientGenerator.kt:221 */
    3      5   
    /// Constructs a fluent builder for the [`EmptyInputOutput`](crate::operation::empty_input_output::builders::EmptyInputOutputFluentBuilder) operation.
    4      6   
    ///
    5      7   
    /// - The fluent builder takes no input, just [`send`](crate::operation::empty_input_output::builders::EmptyInputOutputFluentBuilder::send) it.
    6      8   
    /// - On success, responds with [`EmptyInputOutputOutput`](crate::operation::empty_input_output::EmptyInputOutputOutput)
    7      9   
    /// - On failure, responds with [`SdkError<EmptyInputOutputError>`](crate::operation::empty_input_output::EmptyInputOutputError)
          10  +
    /* FluentClientGenerator.kt:234 */
    8     11   
    pub fn empty_input_output(&self) -> crate::operation::empty_input_output::builders::EmptyInputOutputFluentBuilder {
    9     12   
        crate::operation::empty_input_output::builders::EmptyInputOutputFluentBuilder::new(self.handle.clone())
   10     13   
    }
          14  +
    /* FluentClientGenerator.kt:187 */
   11     15   
}

tmp-codegen-diff/codegen-client-test/rpcv2Cbor/rust-client-codegen/src/client/float16.rs

@@ -1,1 +12,16 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* FluentClientGenerator.kt:187 */
    2      3   
impl super::Client {
           4  +
    /* FluentClientGenerator.kt:221 */
    3      5   
    /// Constructs a fluent builder for the [`Float16`](crate::operation::float16::builders::Float16FluentBuilder) operation.
    4      6   
    ///
    5      7   
    /// - The fluent builder takes no input, just [`send`](crate::operation::float16::builders::Float16FluentBuilder::send) it.
    6      8   
    /// - On success, responds with [`Float16Output`](crate::operation::float16::Float16Output) with field(s):
    7      9   
    ///   - [`value(Option<f64>)`](crate::operation::float16::Float16Output::value): (undocumented)
    8     10   
    /// - On failure, responds with [`SdkError<Float16Error>`](crate::operation::float16::Float16Error)
          11  +
    /* FluentClientGenerator.kt:234 */
    9     12   
    pub fn float16(&self) -> crate::operation::float16::builders::Float16FluentBuilder {
   10     13   
        crate::operation::float16::builders::Float16FluentBuilder::new(self.handle.clone())
   11     14   
    }
          15  +
    /* FluentClientGenerator.kt:187 */
   12     16   
}

tmp-codegen-diff/codegen-client-test/rpcv2Cbor/rust-client-codegen/src/client/fractional_seconds.rs

@@ -1,1 +12,16 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* FluentClientGenerator.kt:187 */
    2      3   
impl super::Client {
           4  +
    /* FluentClientGenerator.kt:221 */
    3      5   
    /// Constructs a fluent builder for the [`FractionalSeconds`](crate::operation::fractional_seconds::builders::FractionalSecondsFluentBuilder) operation.
    4      6   
    ///
    5      7   
    /// - The fluent builder takes no input, just [`send`](crate::operation::fractional_seconds::builders::FractionalSecondsFluentBuilder::send) it.
    6      8   
    /// - On success, responds with [`FractionalSecondsOutput`](crate::operation::fractional_seconds::FractionalSecondsOutput) with field(s):
    7      9   
    ///   - [`datetime(Option<DateTime>)`](crate::operation::fractional_seconds::FractionalSecondsOutput::datetime): (undocumented)
    8     10   
    /// - On failure, responds with [`SdkError<FractionalSecondsError>`](crate::operation::fractional_seconds::FractionalSecondsError)
          11  +
    /* FluentClientGenerator.kt:234 */
    9     12   
    pub fn fractional_seconds(&self) -> crate::operation::fractional_seconds::builders::FractionalSecondsFluentBuilder {
   10     13   
        crate::operation::fractional_seconds::builders::FractionalSecondsFluentBuilder::new(self.handle.clone())
   11     14   
    }
          15  +
    /* FluentClientGenerator.kt:187 */
   12     16   
}

tmp-codegen-diff/codegen-client-test/rpcv2Cbor/rust-client-codegen/src/client/greeting_with_errors.rs

@@ -1,1 +12,16 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* FluentClientGenerator.kt:187 */
    2      3   
impl super::Client {
           4  +
    /* FluentClientGenerator.kt:221 */
    3      5   
    /// Constructs a fluent builder for the [`GreetingWithErrors`](crate::operation::greeting_with_errors::builders::GreetingWithErrorsFluentBuilder) operation.
    4      6   
    ///
    5      7   
    /// - The fluent builder takes no input, just [`send`](crate::operation::greeting_with_errors::builders::GreetingWithErrorsFluentBuilder::send) it.
    6      8   
    /// - On success, responds with [`GreetingWithErrorsOutput`](crate::operation::greeting_with_errors::GreetingWithErrorsOutput) with field(s):
    7      9   
    ///   - [`greeting(Option<String>)`](crate::operation::greeting_with_errors::GreetingWithErrorsOutput::greeting): (undocumented)
    8     10   
    /// - On failure, responds with [`SdkError<GreetingWithErrorsError>`](crate::operation::greeting_with_errors::GreetingWithErrorsError)
          11  +
    /* FluentClientGenerator.kt:234 */
    9     12   
    pub fn greeting_with_errors(&self) -> crate::operation::greeting_with_errors::builders::GreetingWithErrorsFluentBuilder {
   10     13   
        crate::operation::greeting_with_errors::builders::GreetingWithErrorsFluentBuilder::new(self.handle.clone())
   11     14   
    }
          15  +
    /* FluentClientGenerator.kt:187 */
   12     16   
}

tmp-codegen-diff/codegen-client-test/rpcv2Cbor/rust-client-codegen/src/client/no_input_output.rs

@@ -1,1 +11,15 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* FluentClientGenerator.kt:187 */
    2      3   
impl super::Client {
           4  +
    /* FluentClientGenerator.kt:221 */
    3      5   
    /// Constructs a fluent builder for the [`NoInputOutput`](crate::operation::no_input_output::builders::NoInputOutputFluentBuilder) operation.
    4      6   
    ///
    5      7   
    /// - The fluent builder takes no input, just [`send`](crate::operation::no_input_output::builders::NoInputOutputFluentBuilder::send) it.
    6      8   
    /// - On success, responds with [`NoInputOutputOutput`](crate::operation::no_input_output::NoInputOutputOutput)
    7      9   
    /// - On failure, responds with [`SdkError<NoInputOutputError>`](crate::operation::no_input_output::NoInputOutputError)
          10  +
    /* FluentClientGenerator.kt:234 */
    8     11   
    pub fn no_input_output(&self) -> crate::operation::no_input_output::builders::NoInputOutputFluentBuilder {
    9     12   
        crate::operation::no_input_output::builders::NoInputOutputFluentBuilder::new(self.handle.clone())
   10     13   
    }
          14  +
    /* FluentClientGenerator.kt:187 */
   11     15   
}

tmp-codegen-diff/codegen-client-test/rpcv2Cbor/rust-client-codegen/src/client/operation_with_defaults.rs

@@ -1,1 +38,42 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* FluentClientGenerator.kt:187 */
    2      3   
impl super::Client {
           4  +
    /* FluentClientGenerator.kt:221 */
    3      5   
    /// Constructs a fluent builder for the [`OperationWithDefaults`](crate::operation::operation_with_defaults::builders::OperationWithDefaultsFluentBuilder) operation.
    4      6   
    ///
    5      7   
    /// - The fluent builder is configurable:
    6      8   
    ///   - [`defaults(Defaults)`](crate::operation::operation_with_defaults::builders::OperationWithDefaultsFluentBuilder::defaults) / [`set_defaults(Option<Defaults>)`](crate::operation::operation_with_defaults::builders::OperationWithDefaultsFluentBuilder::set_defaults):<br>required: **false**<br>(undocumented)<br>
    7      9   
    ///   - [`client_optional_defaults(ClientOptionalDefaults)`](crate::operation::operation_with_defaults::builders::OperationWithDefaultsFluentBuilder::client_optional_defaults) / [`set_client_optional_defaults(Option<ClientOptionalDefaults>)`](crate::operation::operation_with_defaults::builders::OperationWithDefaultsFluentBuilder::set_client_optional_defaults):<br>required: **false**<br>(undocumented)<br>
    8     10   
    ///   - [`top_level_default(impl Into<String>)`](crate::operation::operation_with_defaults::builders::OperationWithDefaultsFluentBuilder::top_level_default) / [`set_top_level_default(Option<String>)`](crate::operation::operation_with_defaults::builders::OperationWithDefaultsFluentBuilder::set_top_level_default):<br>required: **false**<br>(undocumented)<br>
    9     11   
    ///   - [`other_top_level_default(i32)`](crate::operation::operation_with_defaults::builders::OperationWithDefaultsFluentBuilder::other_top_level_default) / [`set_other_top_level_default(Option<i32>)`](crate::operation::operation_with_defaults::builders::OperationWithDefaultsFluentBuilder::set_other_top_level_default):<br>required: **false**<br>(undocumented)<br>
   10     12   
    /// - On success, responds with [`OperationWithDefaultsOutput`](crate::operation::operation_with_defaults::OperationWithDefaultsOutput) with field(s):
   11     13   
    ///   - [`default_string(String)`](crate::operation::operation_with_defaults::OperationWithDefaultsOutput::default_string): (undocumented)
   12     14   
    ///   - [`default_boolean(bool)`](crate::operation::operation_with_defaults::OperationWithDefaultsOutput::default_boolean): (undocumented)
   13     15   
    ///   - [`default_list(Vec::<String>)`](crate::operation::operation_with_defaults::OperationWithDefaultsOutput::default_list): (undocumented)
   14     16   
    ///   - [`default_timestamp(DateTime)`](crate::operation::operation_with_defaults::OperationWithDefaultsOutput::default_timestamp): (undocumented)
   15     17   
    ///   - [`default_blob(Blob)`](crate::operation::operation_with_defaults::OperationWithDefaultsOutput::default_blob): (undocumented)
   16     18   
    ///   - [`default_byte(i8)`](crate::operation::operation_with_defaults::OperationWithDefaultsOutput::default_byte): (undocumented)
   17     19   
    ///   - [`default_short(i16)`](crate::operation::operation_with_defaults::OperationWithDefaultsOutput::default_short): (undocumented)
   18     20   
    ///   - [`default_integer(i32)`](crate::operation::operation_with_defaults::OperationWithDefaultsOutput::default_integer): (undocumented)
   19     21   
    ///   - [`default_long(i64)`](crate::operation::operation_with_defaults::OperationWithDefaultsOutput::default_long): (undocumented)
   20     22   
    ///   - [`default_float(f32)`](crate::operation::operation_with_defaults::OperationWithDefaultsOutput::default_float): (undocumented)
   21     23   
    ///   - [`default_double(f64)`](crate::operation::operation_with_defaults::OperationWithDefaultsOutput::default_double): (undocumented)
   22     24   
    ///   - [`default_map(HashMap::<String, String>)`](crate::operation::operation_with_defaults::OperationWithDefaultsOutput::default_map): (undocumented)
   23     25   
    ///   - [`default_enum(TestEnum)`](crate::operation::operation_with_defaults::OperationWithDefaultsOutput::default_enum): (undocumented)
   24     26   
    ///   - [`default_int_enum(i32)`](crate::operation::operation_with_defaults::OperationWithDefaultsOutput::default_int_enum): (undocumented)
   25     27   
    ///   - [`empty_string(String)`](crate::operation::operation_with_defaults::OperationWithDefaultsOutput::empty_string): (undocumented)
   26     28   
    ///   - [`false_boolean(bool)`](crate::operation::operation_with_defaults::OperationWithDefaultsOutput::false_boolean): (undocumented)
   27     29   
    ///   - [`empty_blob(Blob)`](crate::operation::operation_with_defaults::OperationWithDefaultsOutput::empty_blob): (undocumented)
   28     30   
    ///   - [`zero_byte(i8)`](crate::operation::operation_with_defaults::OperationWithDefaultsOutput::zero_byte): (undocumented)
   29     31   
    ///   - [`zero_short(i16)`](crate::operation::operation_with_defaults::OperationWithDefaultsOutput::zero_short): (undocumented)
   30     32   
    ///   - [`zero_integer(i32)`](crate::operation::operation_with_defaults::OperationWithDefaultsOutput::zero_integer): (undocumented)
   31     33   
    ///   - [`zero_long(i64)`](crate::operation::operation_with_defaults::OperationWithDefaultsOutput::zero_long): (undocumented)
   32     34   
    ///   - [`zero_float(f32)`](crate::operation::operation_with_defaults::OperationWithDefaultsOutput::zero_float): (undocumented)
   33     35   
    ///   - [`zero_double(f64)`](crate::operation::operation_with_defaults::OperationWithDefaultsOutput::zero_double): (undocumented)
   34     36   
    /// - On failure, responds with [`SdkError<OperationWithDefaultsError>`](crate::operation::operation_with_defaults::OperationWithDefaultsError)
          37  +
    /* FluentClientGenerator.kt:234 */
   35     38   
    pub fn operation_with_defaults(&self) -> crate::operation::operation_with_defaults::builders::OperationWithDefaultsFluentBuilder {
   36     39   
        crate::operation::operation_with_defaults::builders::OperationWithDefaultsFluentBuilder::new(self.handle.clone())
   37     40   
    }
          41  +
    /* FluentClientGenerator.kt:187 */
   38     42   
}

tmp-codegen-diff/codegen-client-test/rpcv2Cbor/rust-client-codegen/src/client/optional_input_output.rs

@@ -1,1 +13,17 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* FluentClientGenerator.kt:187 */
    2      3   
impl super::Client {
           4  +
    /* FluentClientGenerator.kt:221 */
    3      5   
    /// Constructs a fluent builder for the [`OptionalInputOutput`](crate::operation::optional_input_output::builders::OptionalInputOutputFluentBuilder) operation.
    4      6   
    ///
    5      7   
    /// - The fluent builder is configurable:
    6      8   
    ///   - [`value(impl Into<String>)`](crate::operation::optional_input_output::builders::OptionalInputOutputFluentBuilder::value) / [`set_value(Option<String>)`](crate::operation::optional_input_output::builders::OptionalInputOutputFluentBuilder::set_value):<br>required: **false**<br>(undocumented)<br>
    7      9   
    /// - On success, responds with [`OptionalInputOutputOutput`](crate::operation::optional_input_output::OptionalInputOutputOutput) with field(s):
    8     10   
    ///   - [`value(Option<String>)`](crate::operation::optional_input_output::OptionalInputOutputOutput::value): (undocumented)
    9     11   
    /// - On failure, responds with [`SdkError<OptionalInputOutputError>`](crate::operation::optional_input_output::OptionalInputOutputError)
          12  +
    /* FluentClientGenerator.kt:234 */
   10     13   
    pub fn optional_input_output(&self) -> crate::operation::optional_input_output::builders::OptionalInputOutputFluentBuilder {
   11     14   
        crate::operation::optional_input_output::builders::OptionalInputOutputFluentBuilder::new(self.handle.clone())
   12     15   
    }
          16  +
    /* FluentClientGenerator.kt:187 */
   13     17   
}

tmp-codegen-diff/codegen-client-test/rpcv2Cbor/rust-client-codegen/src/client/recursive_shapes.rs

@@ -1,1 +13,17 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* FluentClientGenerator.kt:187 */
    2      3   
impl super::Client {
           4  +
    /* FluentClientGenerator.kt:221 */
    3      5   
    /// Constructs a fluent builder for the [`RecursiveShapes`](crate::operation::recursive_shapes::builders::RecursiveShapesFluentBuilder) operation.
    4      6   
    ///
    5      7   
    /// - The fluent builder is configurable:
    6      8   
    ///   - [`nested(RecursiveShapesInputOutputNested1)`](crate::operation::recursive_shapes::builders::RecursiveShapesFluentBuilder::nested) / [`set_nested(Option<RecursiveShapesInputOutputNested1>)`](crate::operation::recursive_shapes::builders::RecursiveShapesFluentBuilder::set_nested):<br>required: **false**<br>(undocumented)<br>
    7      9   
    /// - On success, responds with [`RecursiveShapesOutput`](crate::operation::recursive_shapes::RecursiveShapesOutput) with field(s):
    8     10   
    ///   - [`nested(Option<RecursiveShapesInputOutputNested1>)`](crate::operation::recursive_shapes::RecursiveShapesOutput::nested): (undocumented)
    9     11   
    /// - On failure, responds with [`SdkError<RecursiveShapesError>`](crate::operation::recursive_shapes::RecursiveShapesError)
          12  +
    /* FluentClientGenerator.kt:234 */
   10     13   
    pub fn recursive_shapes(&self) -> crate::operation::recursive_shapes::builders::RecursiveShapesFluentBuilder {
   11     14   
        crate::operation::recursive_shapes::builders::RecursiveShapesFluentBuilder::new(self.handle.clone())
   12     15   
    }
          16  +
    /* FluentClientGenerator.kt:187 */
   13     17   
}