Server Test Python

Server Test Python

rev. dfb5149b65b7bcc09edd15b8e071ad43b5ac5943

Files changed:

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

@@ -1,1 +0,243 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// <p>Creates a new Amazon EBS snapshot. The new snapshot enters the <code>pending</code> state after the request completes.</p>
           2  +
/* ServerOperationGenerator.kt:48 */
           3  +
/// /* ServerOperationGenerator.kt:48 */<p>Creates a new Amazon EBS snapshot. The new snapshot enters the <code>pending</code> state after the request completes.</p>
    4      4   
/// <p>After creating the snapshot, use <a href="https://docs.aws.amazon.com/ebs/latest/APIReference/API_PutSnapshotBlock.html"> PutSnapshotBlock</a> to write blocks of data to the snapshot.</p>
           5  +
/* ServerOperationGenerator.kt:55 */
    5      6   
pub struct StartSnapshot;
    6      7   
    7      8   
impl ::aws_smithy_http_server::operation::OperationShape for StartSnapshot {
    8      9   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
    9     10   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
   10     11   
            "com.amazonaws.ebs#StartSnapshot",
   11     12   
            "com.amazonaws.ebs",
   12     13   
            "StartSnapshot",
   13     14   
        );
   14     15   
   15     16   
    type Input = crate::input::StartSnapshotInput;
   16     17   
    type Output = crate::output::StartSnapshotOutput;
   17     18   
    type Error = crate::error::StartSnapshotError;
   18     19   
}
   19     20   
   20     21   
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for StartSnapshot {
   21     22   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt<
   22     23   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
   23     24   
        ::aws_smithy_http_server::instrumentation::sensitivity::uri::MakeUri<
   24     25   
            ::aws_smithy_http_server::instrumentation::MakeIdentity,
   25     26   
            ::aws_smithy_http_server::instrumentation::MakeIdentity,
   26     27   
        >,
   27     28   
    >;
   28     29   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt<
   29     30   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
   30     31   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
   31     32   
    >;
   32     33   
   33     34   
    fn request_fmt() -> Self::RequestFmt {
   34     35   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
   35     36   
    }
   36     37   
   37     38   
    fn response_fmt() -> Self::ResponseFmt {
   38     39   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
   39     40   
    }
   40     41   
}
          42  +
/* ServerOperationGenerator.kt:88 */
   41     43   
   42         -
/// <p>Writes a block of data to a snapshot. If the specified block contains data, the existing data is overwritten. The target snapshot must be in the <code>pending</code> state.</p>
          44  +
/// /* ServerOperationGenerator.kt:48 */<p>Writes a block of data to a snapshot. If the specified block contains data, the existing data is overwritten. The target snapshot must be in the <code>pending</code> state.</p>
   43     45   
/// <p>Data written to a snapshot must be aligned with 512-byte sectors.</p>
          46  +
/* ServerOperationGenerator.kt:55 */
   44     47   
pub struct PutSnapshotBlock;
   45     48   
   46     49   
impl ::aws_smithy_http_server::operation::OperationShape for PutSnapshotBlock {
   47     50   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
   48     51   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
   49     52   
            "com.amazonaws.ebs#PutSnapshotBlock",
   50     53   
            "com.amazonaws.ebs",
   51     54   
            "PutSnapshotBlock",
   52     55   
        );
   53     56   
   54     57   
    type Input = crate::input::PutSnapshotBlockInput;
   55     58   
    type Output = crate::output::PutSnapshotBlockOutput;
   56     59   
    type Error = crate::error::PutSnapshotBlockError;
   57     60   
}
   58     61   
   59     62   
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for PutSnapshotBlock {
   60     63   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt<
   61     64   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
   62     65   
        ::aws_smithy_http_server::instrumentation::sensitivity::uri::MakeUri<
   63     66   
            ::aws_smithy_http_server::instrumentation::MakeIdentity,
   64     67   
            ::aws_smithy_http_server::instrumentation::MakeIdentity,
   65     68   
        >,
   66     69   
    >;
   67     70   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt<
   68     71   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
   69     72   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
   70     73   
    >;
   71     74   
   72     75   
    fn request_fmt() -> Self::RequestFmt {
   73     76   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
   74     77   
    }
   75     78   
   76     79   
    fn response_fmt() -> Self::ResponseFmt {
   77     80   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
   78     81   
    }
   79     82   
}
          83  +
/* ServerOperationGenerator.kt:88 */
   80     84   
   81         -
/// <p>Returns information about the blocks in an Amazon Elastic Block Store snapshot.</p>
          85  +
/// /* ServerOperationGenerator.kt:48 */<p>Returns information about the blocks in an Amazon Elastic Block Store snapshot.</p>
          86  +
/* ServerOperationGenerator.kt:55 */
   82     87   
pub struct ListSnapshotBlocks;
   83     88   
   84     89   
impl ::aws_smithy_http_server::operation::OperationShape for ListSnapshotBlocks {
   85     90   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
   86     91   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
   87     92   
            "com.amazonaws.ebs#ListSnapshotBlocks",
   88     93   
            "com.amazonaws.ebs",
   89     94   
            "ListSnapshotBlocks",
   90     95   
        );
   91     96   
   92     97   
    type Input = crate::input::ListSnapshotBlocksInput;
   93     98   
    type Output = crate::output::ListSnapshotBlocksOutput;
   94     99   
    type Error = crate::error::ListSnapshotBlocksError;
   95    100   
}
   96    101   
   97    102   
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for ListSnapshotBlocks {
   98    103   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt<
   99    104   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
  100    105   
        ::aws_smithy_http_server::instrumentation::sensitivity::uri::MakeUri<
  101    106   
            ::aws_smithy_http_server::instrumentation::MakeIdentity,
  102    107   
            ::aws_smithy_http_server::instrumentation::MakeIdentity,
  103    108   
        >,
  104    109   
    >;
  105    110   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt<
  106    111   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
  107    112   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
  108    113   
    >;
  109    114   
  110    115   
    fn request_fmt() -> Self::RequestFmt {
  111    116   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  112    117   
    }
  113    118   
  114    119   
    fn response_fmt() -> Self::ResponseFmt {
  115    120   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  116    121   
    }
  117    122   
}
         123  +
/* ServerOperationGenerator.kt:88 */
  118    124   
  119         -
/// <p>Returns information about the blocks that are different between two Amazon Elastic Block Store snapshots of the same volume/snapshot lineage.</p>
         125  +
/// /* ServerOperationGenerator.kt:48 */<p>Returns information about the blocks that are different between two Amazon Elastic Block Store snapshots of the same volume/snapshot lineage.</p>
         126  +
/* ServerOperationGenerator.kt:55 */
  120    127   
pub struct ListChangedBlocks;
  121    128   
  122    129   
impl ::aws_smithy_http_server::operation::OperationShape for ListChangedBlocks {
  123    130   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  124    131   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  125    132   
            "com.amazonaws.ebs#ListChangedBlocks",
  126    133   
            "com.amazonaws.ebs",
  127    134   
            "ListChangedBlocks",
  128    135   
        );
  129    136   
  130    137   
    type Input = crate::input::ListChangedBlocksInput;
  131    138   
    type Output = crate::output::ListChangedBlocksOutput;
  132    139   
    type Error = crate::error::ListChangedBlocksError;
  133    140   
}
  134    141   
  135    142   
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for ListChangedBlocks {
  136    143   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt<
  137    144   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
  138    145   
        ::aws_smithy_http_server::instrumentation::sensitivity::uri::MakeUri<
  139    146   
            ::aws_smithy_http_server::instrumentation::MakeIdentity,
  140    147   
            ::aws_smithy_http_server::instrumentation::MakeIdentity,
  141    148   
        >,
  142    149   
    >;
  143    150   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt<
  144    151   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
  145    152   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
  146    153   
    >;
  147    154   
  148    155   
    fn request_fmt() -> Self::RequestFmt {
  149    156   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  150    157   
    }
  151    158   
  152    159   
    fn response_fmt() -> Self::ResponseFmt {
  153    160   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  154    161   
    }
  155    162   
}
         163  +
/* ServerOperationGenerator.kt:88 */
  156    164   
  157         -
/// <p>Returns the data in a block in an Amazon Elastic Block Store snapshot.</p>
         165  +
/// /* ServerOperationGenerator.kt:48 */<p>Returns the data in a block in an Amazon Elastic Block Store snapshot.</p>
         166  +
/* ServerOperationGenerator.kt:55 */
  158    167   
pub struct GetSnapshotBlock;
  159    168   
  160    169   
impl ::aws_smithy_http_server::operation::OperationShape for GetSnapshotBlock {
  161    170   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  162    171   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  163    172   
            "com.amazonaws.ebs#GetSnapshotBlock",
  164    173   
            "com.amazonaws.ebs",
  165    174   
            "GetSnapshotBlock",
  166    175   
        );
  167    176   
  168    177   
    type Input = crate::input::GetSnapshotBlockInput;
  169    178   
    type Output = crate::output::GetSnapshotBlockOutput;
  170    179   
    type Error = crate::error::GetSnapshotBlockError;
  171    180   
}
  172    181   
  173    182   
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for GetSnapshotBlock {
  174    183   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt<
  175    184   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
  176    185   
        ::aws_smithy_http_server::instrumentation::sensitivity::uri::MakeUri<
  177    186   
            ::aws_smithy_http_server::instrumentation::MakeIdentity,
  178    187   
            ::aws_smithy_http_server::instrumentation::MakeIdentity,
  179    188   
        >,
  180    189   
    >;
  181    190   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt<
  182    191   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
  183    192   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
  184    193   
    >;
  185    194   
  186    195   
    fn request_fmt() -> Self::RequestFmt {
  187    196   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  188    197   
    }
  189    198   
  190    199   
    fn response_fmt() -> Self::ResponseFmt {
  191    200   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  192    201   
    }
  193    202   
}
         203  +
/* ServerOperationGenerator.kt:88 */
  194    204   
  195         -
/// <p>Seals and completes the snapshot after all of the required blocks of data have been written to it. Completing the snapshot changes the status to <code>completed</code>. You cannot write new blocks to a snapshot after it has been completed.</p>
         205  +
/// /* ServerOperationGenerator.kt:48 */<p>Seals and completes the snapshot after all of the required blocks of data have been written to it. Completing the snapshot changes the status to <code>completed</code>. You cannot write new blocks to a snapshot after it has been completed.</p>
         206  +
/* ServerOperationGenerator.kt:55 */
  196    207   
pub struct CompleteSnapshot;
  197    208   
  198    209   
impl ::aws_smithy_http_server::operation::OperationShape for CompleteSnapshot {
  199    210   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  200    211   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  201    212   
            "com.amazonaws.ebs#CompleteSnapshot",
  202    213   
            "com.amazonaws.ebs",
  203    214   
            "CompleteSnapshot",
  204    215   
        );
  205    216   
  206    217   
    type Input = crate::input::CompleteSnapshotInput;
  207    218   
    type Output = crate::output::CompleteSnapshotOutput;
  208    219   
    type Error = crate::error::CompleteSnapshotError;
  209    220   
}
  210    221   
  211    222   
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for CompleteSnapshot {
  212    223   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt<
  213    224   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
  214    225   
        ::aws_smithy_http_server::instrumentation::sensitivity::uri::MakeUri<
  215    226   
            ::aws_smithy_http_server::instrumentation::MakeIdentity,
  216    227   
            ::aws_smithy_http_server::instrumentation::MakeIdentity,
  217    228   
        >,
  218    229   
    >;
  219    230   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt<
  220    231   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
  221    232   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
  222    233   
    >;
  223    234   
  224    235   
    fn request_fmt() -> Self::RequestFmt {
  225    236   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  226    237   
    }
  227    238   
  228    239   
    fn response_fmt() -> Self::ResponseFmt {
  229    240   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  230    241   
    }
  231    242   
}
         243  +
/* ServerOperationGenerator.kt:88 */

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

@@ -1,1 +966,1512 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* RustType.kt:516 */
    2      3   
#[::pyo3::pyclass]
           4  +
/* PythonServerStructureGenerator.kt:63 */
    3      5   
/// :param tags typing.Optional\[typing.List\[ebs.model.Tag\]\]:
    4      6   
/// :param kms_key_arn typing.Optional\[str\]:
    5      7   
/// :param owner_id typing.Optional\[str\]:
    6      8   
/// :param volume_size typing.Optional\[int\]:
    7      9   
/// :param parent_snapshot_id typing.Optional\[str\]:
    8     10   
/// :param description typing.Optional\[str\]:
    9     11   
/// :param snapshot_id typing.Optional\[str\]:
   10     12   
/// :param block_size typing.Optional\[int\]:
   11     13   
/// :param start_time typing.Optional\[ebs.types.DateTime\]:
   12     14   
/// :param status typing.Optional\[ebs.model.Status\]:
   13     15   
/// :rtype None:
          16  +
/* StructureGenerator.kt:197 */
   14     17   
#[allow(missing_docs)] // documentation missing in model
          18  +
/* RustType.kt:516 */
   15     19   
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::hash::Hash)]
   16         -
pub struct StartSnapshotOutput {
          20  +
pub /* StructureGenerator.kt:201 */ struct StartSnapshotOutput {
          21  +
    /* RustType.kt:516 */
   17     22   
    #[pyo3(get, set)]
          23  +
    /* PythonServerStructureGenerator.kt:80 */
   18     24   
    /// :type typing.Optional\[typing.List\[ebs.model.Tag\]\]:
   19         -
    /// <p>The tags applied to the snapshot. You can specify up to 50 tags per snapshot. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html"> Tagging your Amazon EC2 resources</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
          25  +
    /// /* StructureGenerator.kt:231 */<p>The tags applied to the snapshot. You can specify up to 50 tags per snapshot. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html"> Tagging your Amazon EC2 resources</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
   20     26   
    pub tags: ::std::option::Option<::std::vec::Vec<crate::model::Tag>>,
          27  +
    /* RustType.kt:516 */
   21     28   
    #[pyo3(get, set)]
          29  +
    /* PythonServerStructureGenerator.kt:80 */
   22     30   
    /// :type typing.Optional\[str\]:
   23         -
    /// <p>The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) customer master key (CMK) used to encrypt the snapshot.</p>
          31  +
    /// /* StructureGenerator.kt:231 */<p>The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) customer master key (CMK) used to encrypt the snapshot.</p>
   24     32   
    pub kms_key_arn: ::std::option::Option<::std::string::String>,
          33  +
    /* RustType.kt:516 */
   25     34   
    #[pyo3(get, set)]
          35  +
    /* PythonServerStructureGenerator.kt:80 */
   26     36   
    /// :type typing.Optional\[str\]:
   27         -
    /// <p>The AWS account ID of the snapshot owner.</p>
          37  +
    /// /* StructureGenerator.kt:231 */<p>The AWS account ID of the snapshot owner.</p>
   28     38   
    pub owner_id: ::std::option::Option<::std::string::String>,
          39  +
    /* RustType.kt:516 */
   29     40   
    #[pyo3(get, set)]
          41  +
    /* PythonServerStructureGenerator.kt:80 */
   30     42   
    /// :type typing.Optional\[int\]:
   31         -
    /// <p>The size of the volume, in GiB.</p>
          43  +
    /// /* StructureGenerator.kt:231 */<p>The size of the volume, in GiB.</p>
   32     44   
    pub volume_size: ::std::option::Option<i64>,
          45  +
    /* RustType.kt:516 */
   33     46   
    #[pyo3(get, set)]
          47  +
    /* PythonServerStructureGenerator.kt:80 */
   34     48   
    /// :type typing.Optional\[str\]:
   35         -
    /// <p>The ID of the parent snapshot.</p>
          49  +
    /// /* StructureGenerator.kt:231 */<p>The ID of the parent snapshot.</p>
   36     50   
    pub parent_snapshot_id: ::std::option::Option<::std::string::String>,
          51  +
    /* RustType.kt:516 */
   37     52   
    #[pyo3(get, set)]
          53  +
    /* PythonServerStructureGenerator.kt:80 */
   38     54   
    /// :type typing.Optional\[str\]:
   39         -
    /// <p>The description of the snapshot.</p>
          55  +
    /// /* StructureGenerator.kt:231 */<p>The description of the snapshot.</p>
   40     56   
    pub description: ::std::option::Option<::std::string::String>,
          57  +
    /* RustType.kt:516 */
   41     58   
    #[pyo3(get, set)]
          59  +
    /* PythonServerStructureGenerator.kt:80 */
   42     60   
    /// :type typing.Optional\[str\]:
   43         -
    /// <p>The ID of the snapshot.</p>
          61  +
    /// /* StructureGenerator.kt:231 */<p>The ID of the snapshot.</p>
   44     62   
    pub snapshot_id: ::std::option::Option<::std::string::String>,
          63  +
    /* RustType.kt:516 */
   45     64   
    #[pyo3(get, set)]
          65  +
    /* PythonServerStructureGenerator.kt:80 */
   46     66   
    /// :type typing.Optional\[int\]:
   47         -
    /// <p>The size of the blocks in the snapshot, in bytes.</p>
          67  +
    /// /* StructureGenerator.kt:231 */<p>The size of the blocks in the snapshot, in bytes.</p>
   48     68   
    pub block_size: ::std::option::Option<i32>,
          69  +
    /* RustType.kt:516 */
   49     70   
    #[pyo3(get, set)]
          71  +
    /* PythonServerStructureGenerator.kt:80 */
   50     72   
    /// :type typing.Optional\[ebs.types.DateTime\]:
   51         -
    /// <p>The timestamp when the snapshot was created.</p>
          73  +
    /// /* StructureGenerator.kt:231 */<p>The timestamp when the snapshot was created.</p>
   52     74   
    pub start_time: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
          75  +
    /* RustType.kt:516 */
   53     76   
    #[pyo3(get, set)]
          77  +
    /* PythonServerStructureGenerator.kt:80 */
   54     78   
    /// :type typing.Optional\[ebs.model.Status\]:
   55         -
    /// <p>The status of the snapshot.</p>
          79  +
    /// /* StructureGenerator.kt:231 */<p>The status of the snapshot.</p>
   56     80   
    pub status: ::std::option::Option<crate::model::Status>,
          81  +
    /* StructureGenerator.kt:201 */
   57     82   
}
          83  +
/* StructureGenerator.kt:135 */
   58     84   
impl StartSnapshotOutput {
   59         -
    /// <p>The tags applied to the snapshot. You can specify up to 50 tags per snapshot. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html"> Tagging your Amazon EC2 resources</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
          85  +
    /// /* StructureGenerator.kt:231 */<p>The tags applied to the snapshot. You can specify up to 50 tags per snapshot. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html"> Tagging your Amazon EC2 resources</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
          86  +
    /* StructureGenerator.kt:166 */
   60     87   
    pub fn tags(&self) -> ::std::option::Option<&[crate::model::Tag]> {
          88  +
        /* StructureGenerator.kt:169 */
   61     89   
        self.tags.as_deref()
          90  +
        /* StructureGenerator.kt:166 */
   62     91   
    }
   63         -
    /// <p>The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) customer master key (CMK) used to encrypt the snapshot.</p>
          92  +
    /// /* StructureGenerator.kt:231 */<p>The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) customer master key (CMK) used to encrypt the snapshot.</p>
          93  +
    /* StructureGenerator.kt:166 */
   64     94   
    pub fn kms_key_arn(&self) -> ::std::option::Option<&str> {
          95  +
        /* StructureGenerator.kt:169 */
   65     96   
        self.kms_key_arn.as_deref()
          97  +
        /* StructureGenerator.kt:166 */
   66     98   
    }
   67         -
    /// <p>The AWS account ID of the snapshot owner.</p>
          99  +
    /// /* StructureGenerator.kt:231 */<p>The AWS account ID of the snapshot owner.</p>
         100  +
    /* StructureGenerator.kt:166 */
   68    101   
    pub fn owner_id(&self) -> ::std::option::Option<&str> {
         102  +
        /* StructureGenerator.kt:169 */
   69    103   
        self.owner_id.as_deref()
         104  +
        /* StructureGenerator.kt:166 */
   70    105   
    }
   71         -
    /// <p>The size of the volume, in GiB.</p>
         106  +
    /// /* StructureGenerator.kt:231 */<p>The size of the volume, in GiB.</p>
         107  +
    /* StructureGenerator.kt:166 */
   72    108   
    pub fn volume_size(&self) -> ::std::option::Option<i64> {
         109  +
        /* StructureGenerator.kt:168 */
   73    110   
        self.volume_size
         111  +
        /* StructureGenerator.kt:166 */
   74    112   
    }
   75         -
    /// <p>The ID of the parent snapshot.</p>
         113  +
    /// /* StructureGenerator.kt:231 */<p>The ID of the parent snapshot.</p>
         114  +
    /* StructureGenerator.kt:166 */
   76    115   
    pub fn parent_snapshot_id(&self) -> ::std::option::Option<&str> {
         116  +
        /* StructureGenerator.kt:169 */
   77    117   
        self.parent_snapshot_id.as_deref()
         118  +
        /* StructureGenerator.kt:166 */
   78    119   
    }
   79         -
    /// <p>The description of the snapshot.</p>
         120  +
    /// /* StructureGenerator.kt:231 */<p>The description of the snapshot.</p>
         121  +
    /* StructureGenerator.kt:166 */
   80    122   
    pub fn description(&self) -> ::std::option::Option<&str> {
         123  +
        /* StructureGenerator.kt:169 */
   81    124   
        self.description.as_deref()
         125  +
        /* StructureGenerator.kt:166 */
   82    126   
    }
   83         -
    /// <p>The ID of the snapshot.</p>
         127  +
    /// /* StructureGenerator.kt:231 */<p>The ID of the snapshot.</p>
         128  +
    /* StructureGenerator.kt:166 */
   84    129   
    pub fn snapshot_id(&self) -> ::std::option::Option<&str> {
         130  +
        /* StructureGenerator.kt:169 */
   85    131   
        self.snapshot_id.as_deref()
         132  +
        /* StructureGenerator.kt:166 */
   86    133   
    }
   87         -
    /// <p>The size of the blocks in the snapshot, in bytes.</p>
         134  +
    /// /* StructureGenerator.kt:231 */<p>The size of the blocks in the snapshot, in bytes.</p>
         135  +
    /* StructureGenerator.kt:166 */
   88    136   
    pub fn block_size(&self) -> ::std::option::Option<i32> {
         137  +
        /* StructureGenerator.kt:168 */
   89    138   
        self.block_size
         139  +
        /* StructureGenerator.kt:166 */
   90    140   
    }
   91         -
    /// <p>The timestamp when the snapshot was created.</p>
         141  +
    /// /* StructureGenerator.kt:231 */<p>The timestamp when the snapshot was created.</p>
         142  +
    /* StructureGenerator.kt:166 */
   92    143   
    pub fn start_time(
   93    144   
        &self,
   94    145   
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
         146  +
        /* StructureGenerator.kt:170 */
   95    147   
        self.start_time.as_ref()
         148  +
        /* StructureGenerator.kt:166 */
   96    149   
    }
   97         -
    /// <p>The status of the snapshot.</p>
         150  +
    /// /* StructureGenerator.kt:231 */<p>The status of the snapshot.</p>
         151  +
    /* StructureGenerator.kt:166 */
   98    152   
    pub fn status(&self) -> ::std::option::Option<&crate::model::Status> {
         153  +
        /* StructureGenerator.kt:170 */
   99    154   
        self.status.as_ref()
         155  +
        /* StructureGenerator.kt:166 */
  100    156   
    }
         157  +
    /* StructureGenerator.kt:135 */
  101    158   
}
         159  +
/* StructureGenerator.kt:101 */
  102    160   
impl ::std::fmt::Debug for StartSnapshotOutput {
         161  +
    /* StructureGenerator.kt:105 */
  103    162   
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
         163  +
        /* StructureGenerator.kt:106 */
  104    164   
        let mut formatter = f.debug_struct("StartSnapshotOutput");
         165  +
        /* StructureGenerator.kt:121 */
  105    166   
        formatter.field("tags", &self.tags);
         167  +
        /* StructureGenerator.kt:121 */
  106    168   
        formatter.field("kms_key_arn", &"*** Sensitive Data Redacted ***");
         169  +
        /* StructureGenerator.kt:121 */
  107    170   
        formatter.field("owner_id", &self.owner_id);
         171  +
        /* StructureGenerator.kt:121 */
  108    172   
        formatter.field("volume_size", &self.volume_size);
         173  +
        /* StructureGenerator.kt:121 */
  109    174   
        formatter.field("parent_snapshot_id", &self.parent_snapshot_id);
         175  +
        /* StructureGenerator.kt:121 */
  110    176   
        formatter.field("description", &self.description);
         177  +
        /* StructureGenerator.kt:121 */
  111    178   
        formatter.field("snapshot_id", &self.snapshot_id);
         179  +
        /* StructureGenerator.kt:121 */
  112    180   
        formatter.field("block_size", &self.block_size);
         181  +
        /* StructureGenerator.kt:121 */
  113    182   
        formatter.field("start_time", &self.start_time);
         183  +
        /* StructureGenerator.kt:121 */
  114    184   
        formatter.field("status", &self.status);
         185  +
        /* StructureGenerator.kt:126 */
  115    186   
        formatter.finish()
         187  +
        /* StructureGenerator.kt:105 */
  116    188   
    }
         189  +
    /* StructureGenerator.kt:101 */
  117    190   
}
         191  +
/* RustType.kt:516 */
  118    192   
#[allow(clippy::new_without_default)]
         193  +
/* RustType.kt:516 */
  119    194   
#[allow(clippy::too_many_arguments)]
         195  +
/* RustType.kt:516 */
  120    196   
#[::pyo3::pymethods]
         197  +
/* PythonServerStructureGenerator.kt:88 */
  121    198   
impl StartSnapshotOutput {
  122    199   
    #[new]
  123    200   
    pub fn new(
  124    201   
        tags: ::std::option::Option<::std::vec::Vec<crate::model::Tag>>,
  125    202   
        kms_key_arn: ::std::option::Option<::std::string::String>,
  126    203   
        owner_id: ::std::option::Option<::std::string::String>,
  127    204   
        volume_size: ::std::option::Option<i64>,
  128    205   
        parent_snapshot_id: ::std::option::Option<::std::string::String>,
  129    206   
        description: ::std::option::Option<::std::string::String>,
  130    207   
        snapshot_id: ::std::option::Option<::std::string::String>,
  131    208   
        block_size: ::std::option::Option<i32>,
  132    209   
        start_time: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
  133    210   
        status: ::std::option::Option<crate::model::Status>,
  134    211   
    ) -> Self {
  135    212   
        Self {
  136    213   
            tags,
  137    214   
            kms_key_arn,
  138    215   
            owner_id,
  139    216   
            volume_size,
  140    217   
            parent_snapshot_id,
  141    218   
            description,
  142    219   
            snapshot_id,
  143    220   
            block_size,
  144    221   
            start_time,
  145    222   
            status,
  146    223   
        }
  147    224   
    }
  148    225   
    fn __repr__(&self) -> String {
  149    226   
        format!("{self:?}")
  150    227   
    }
  151    228   
    fn __str__(&self) -> String {
  152    229   
        format!("{self:?}")
  153    230   
    }
  154    231   
}
         232  +
/* PythonServerStructureGenerator.kt:111 */
  155    233   
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<StartSnapshotOutput> {
  156    234   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  157    235   
        ob.extract::<StartSnapshotOutput>().map(Box::new)
  158    236   
    }
  159    237   
}
  160    238   
  161    239   
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<StartSnapshotOutput> {
  162    240   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  163    241   
        (*self).into_py(py)
  164    242   
    }
  165    243   
}
         244  +
/* ServerCodegenVisitor.kt:370 */
  166    245   
impl StartSnapshotOutput {
  167         -
    /// Creates a new builder-style object to manufacture [`StartSnapshotOutput`](crate::output::StartSnapshotOutput).
         246  +
    /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:211 */Creates a new builder-style object to manufacture [`StartSnapshotOutput`](crate::output::StartSnapshotOutput).
         247  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:212 */
  168    248   
    pub fn builder() -> crate::output::start_snapshot_output::Builder {
         249  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:213 */
  169    250   
        crate::output::start_snapshot_output::Builder::default()
         251  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:212 */
  170    252   
    }
         253  +
    /* ServerCodegenVisitor.kt:370 */
  171    254   
}
  172    255   
         256  +
/* RustType.kt:516 */
  173    257   
#[::pyo3::pyclass]
         258  +
/* PythonServerStructureGenerator.kt:63 */
  174    259   
/// :param checksum_algorithm typing.Optional\[ebs.model.ChecksumAlgorithm\]:
  175    260   
/// :param checksum typing.Optional\[str\]:
  176    261   
/// :rtype None:
         262  +
/* StructureGenerator.kt:197 */
  177    263   
#[allow(missing_docs)] // documentation missing in model
         264  +
/* RustType.kt:516 */
  178    265   
#[derive(
  179    266   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  180    267   
)]
  181         -
pub struct PutSnapshotBlockOutput {
         268  +
pub /* StructureGenerator.kt:201 */ struct PutSnapshotBlockOutput {
         269  +
    /* RustType.kt:516 */
  182    270   
    #[pyo3(get, set)]
         271  +
    /* PythonServerStructureGenerator.kt:80 */
  183    272   
    /// :type typing.Optional\[ebs.model.ChecksumAlgorithm\]:
  184         -
    /// <p>The algorithm used by Amazon EBS to generate the checksum.</p>
         273  +
    /// /* StructureGenerator.kt:231 */<p>The algorithm used by Amazon EBS to generate the checksum.</p>
  185    274   
    pub checksum_algorithm: ::std::option::Option<crate::model::ChecksumAlgorithm>,
         275  +
    /* RustType.kt:516 */
  186    276   
    #[pyo3(get, set)]
         277  +
    /* PythonServerStructureGenerator.kt:80 */
  187    278   
    /// :type typing.Optional\[str\]:
  188         -
    /// <p>The SHA256 checksum generated for the block data by Amazon EBS.</p>
         279  +
    /// /* StructureGenerator.kt:231 */<p>The SHA256 checksum generated for the block data by Amazon EBS.</p>
  189    280   
    pub checksum: ::std::option::Option<::std::string::String>,
         281  +
    /* StructureGenerator.kt:201 */
  190    282   
}
         283  +
/* StructureGenerator.kt:135 */
  191    284   
impl PutSnapshotBlockOutput {
  192         -
    /// <p>The algorithm used by Amazon EBS to generate the checksum.</p>
         285  +
    /// /* StructureGenerator.kt:231 */<p>The algorithm used by Amazon EBS to generate the checksum.</p>
         286  +
    /* StructureGenerator.kt:166 */
  193    287   
    pub fn checksum_algorithm(&self) -> ::std::option::Option<&crate::model::ChecksumAlgorithm> {
         288  +
        /* StructureGenerator.kt:170 */
  194    289   
        self.checksum_algorithm.as_ref()
         290  +
        /* StructureGenerator.kt:166 */
  195    291   
    }
  196         -
    /// <p>The SHA256 checksum generated for the block data by Amazon EBS.</p>
         292  +
    /// /* StructureGenerator.kt:231 */<p>The SHA256 checksum generated for the block data by Amazon EBS.</p>
         293  +
    /* StructureGenerator.kt:166 */
  197    294   
    pub fn checksum(&self) -> ::std::option::Option<&str> {
         295  +
        /* StructureGenerator.kt:169 */
  198    296   
        self.checksum.as_deref()
         297  +
        /* StructureGenerator.kt:166 */
  199    298   
    }
         299  +
    /* StructureGenerator.kt:135 */
  200    300   
}
         301  +
/* RustType.kt:516 */
  201    302   
#[allow(clippy::new_without_default)]
         303  +
/* RustType.kt:516 */
  202    304   
#[allow(clippy::too_many_arguments)]
         305  +
/* RustType.kt:516 */
  203    306   
#[::pyo3::pymethods]
         307  +
/* PythonServerStructureGenerator.kt:88 */
  204    308   
impl PutSnapshotBlockOutput {
  205    309   
    #[new]
  206    310   
    pub fn new(
  207    311   
        checksum_algorithm: ::std::option::Option<crate::model::ChecksumAlgorithm>,
  208    312   
        checksum: ::std::option::Option<::std::string::String>,
  209    313   
    ) -> Self {
  210    314   
        Self {
  211    315   
            checksum_algorithm,
  212    316   
            checksum,
  213    317   
        }
  214    318   
    }
  215    319   
    fn __repr__(&self) -> String {
  216    320   
        format!("{self:?}")
  217    321   
    }
  218    322   
    fn __str__(&self) -> String {
  219    323   
        format!("{self:?}")
  220    324   
    }
  221    325   
}
         326  +
/* PythonServerStructureGenerator.kt:111 */
  222    327   
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<PutSnapshotBlockOutput> {
  223    328   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  224    329   
        ob.extract::<PutSnapshotBlockOutput>().map(Box::new)
  225    330   
    }
  226    331   
}
  227    332   
  228    333   
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<PutSnapshotBlockOutput> {
  229    334   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  230    335   
        (*self).into_py(py)
  231    336   
    }
  232    337   
}
         338  +
/* ServerCodegenVisitor.kt:370 */
  233    339   
impl PutSnapshotBlockOutput {
  234         -
    /// Creates a new builder-style object to manufacture [`PutSnapshotBlockOutput`](crate::output::PutSnapshotBlockOutput).
         340  +
    /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:211 */Creates a new builder-style object to manufacture [`PutSnapshotBlockOutput`](crate::output::PutSnapshotBlockOutput).
         341  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:212 */
  235    342   
    pub fn builder() -> crate::output::put_snapshot_block_output::Builder {
         343  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:213 */
  236    344   
        crate::output::put_snapshot_block_output::Builder::default()
         345  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:212 */
  237    346   
    }
         347  +
    /* ServerCodegenVisitor.kt:370 */
  238    348   
}
  239    349   
         350  +
/* RustType.kt:516 */
  240    351   
#[::pyo3::pyclass]
         352  +
/* PythonServerStructureGenerator.kt:63 */
  241    353   
/// :param volume_size typing.Optional\[int\]:
  242    354   
/// :param next_token typing.Optional\[str\]:
  243    355   
/// :param expiry_time typing.Optional\[ebs.types.DateTime\]:
  244    356   
/// :param blocks typing.Optional\[typing.List\[ebs.model.Block\]\]:
  245    357   
/// :param block_size typing.Optional\[int\]:
  246    358   
/// :rtype None:
         359  +
/* StructureGenerator.kt:197 */
  247    360   
#[allow(missing_docs)] // documentation missing in model
         361  +
/* RustType.kt:516 */
  248    362   
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::hash::Hash)]
  249         -
pub struct ListSnapshotBlocksOutput {
         363  +
pub /* StructureGenerator.kt:201 */ struct ListSnapshotBlocksOutput {
         364  +
    /* RustType.kt:516 */
  250    365   
    #[pyo3(get, set)]
         366  +
    /* PythonServerStructureGenerator.kt:80 */
  251    367   
    /// :type typing.Optional\[int\]:
  252         -
    /// <p>The size of the volume in GB.</p>
         368  +
    /// /* StructureGenerator.kt:231 */<p>The size of the volume in GB.</p>
  253    369   
    pub volume_size: ::std::option::Option<i64>,
         370  +
    /* RustType.kt:516 */
  254    371   
    #[pyo3(get, set)]
         372  +
    /* PythonServerStructureGenerator.kt:80 */
  255    373   
    /// :type typing.Optional\[str\]:
  256         -
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p>
         374  +
    /// /* StructureGenerator.kt:231 */<p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p>
  257    375   
    pub next_token: ::std::option::Option<::std::string::String>,
         376  +
    /* RustType.kt:516 */
  258    377   
    #[pyo3(get, set)]
         378  +
    /* PythonServerStructureGenerator.kt:80 */
  259    379   
    /// :type typing.Optional\[ebs.types.DateTime\]:
  260         -
    /// <p>The time when the <code>BlockToken</code> expires.</p>
         380  +
    /// /* StructureGenerator.kt:231 */<p>The time when the <code>BlockToken</code> expires.</p>
  261    381   
    pub expiry_time: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
         382  +
    /* RustType.kt:516 */
  262    383   
    #[pyo3(get, set)]
         384  +
    /* PythonServerStructureGenerator.kt:80 */
  263    385   
    /// :type typing.Optional\[typing.List\[ebs.model.Block\]\]:
  264         -
    /// <p>An array of objects containing information about the blocks.</p>
         386  +
    /// /* StructureGenerator.kt:231 */<p>An array of objects containing information about the blocks.</p>
  265    387   
    pub blocks: ::std::option::Option<::std::vec::Vec<crate::model::Block>>,
         388  +
    /* RustType.kt:516 */
  266    389   
    #[pyo3(get, set)]
         390  +
    /* PythonServerStructureGenerator.kt:80 */
  267    391   
    /// :type typing.Optional\[int\]:
  268         -
    /// <p>The size of the block.</p>
         392  +
    /// /* StructureGenerator.kt:231 */<p>The size of the block.</p>
  269    393   
    pub block_size: ::std::option::Option<i32>,
         394  +
    /* StructureGenerator.kt:201 */
  270    395   
}
         396  +
/* StructureGenerator.kt:135 */
  271    397   
impl ListSnapshotBlocksOutput {
  272         -
    /// <p>The size of the volume in GB.</p>
         398  +
    /// /* StructureGenerator.kt:231 */<p>The size of the volume in GB.</p>
         399  +
    /* StructureGenerator.kt:166 */
  273    400   
    pub fn volume_size(&self) -> ::std::option::Option<i64> {
         401  +
        /* StructureGenerator.kt:168 */
  274    402   
        self.volume_size
         403  +
        /* StructureGenerator.kt:166 */
  275    404   
    }
  276         -
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p>
         405  +
    /// /* StructureGenerator.kt:231 */<p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p>
         406  +
    /* StructureGenerator.kt:166 */
  277    407   
    pub fn next_token(&self) -> ::std::option::Option<&str> {
         408  +
        /* StructureGenerator.kt:169 */
  278    409   
        self.next_token.as_deref()
         410  +
        /* StructureGenerator.kt:166 */
  279    411   
    }
  280         -
    /// <p>The time when the <code>BlockToken</code> expires.</p>
         412  +
    /// /* StructureGenerator.kt:231 */<p>The time when the <code>BlockToken</code> expires.</p>
         413  +
    /* StructureGenerator.kt:166 */
  281    414   
    pub fn expiry_time(
  282    415   
        &self,
  283    416   
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
         417  +
        /* StructureGenerator.kt:170 */
  284    418   
        self.expiry_time.as_ref()
         419  +
        /* StructureGenerator.kt:166 */
  285    420   
    }
  286         -
    /// <p>An array of objects containing information about the blocks.</p>
         421  +
    /// /* StructureGenerator.kt:231 */<p>An array of objects containing information about the blocks.</p>
         422  +
    /* StructureGenerator.kt:166 */
  287    423   
    pub fn blocks(&self) -> ::std::option::Option<&[crate::model::Block]> {
         424  +
        /* StructureGenerator.kt:169 */
  288    425   
        self.blocks.as_deref()
         426  +
        /* StructureGenerator.kt:166 */
  289    427   
    }
  290         -
    /// <p>The size of the block.</p>
         428  +
    /// /* StructureGenerator.kt:231 */<p>The size of the block.</p>
         429  +
    /* StructureGenerator.kt:166 */
  291    430   
    pub fn block_size(&self) -> ::std::option::Option<i32> {
         431  +
        /* StructureGenerator.kt:168 */
  292    432   
        self.block_size
         433  +
        /* StructureGenerator.kt:166 */
  293    434   
    }
         435  +
    /* StructureGenerator.kt:135 */
  294    436   
}
         437  +
/* StructureGenerator.kt:101 */
  295    438   
impl ::std::fmt::Debug for ListSnapshotBlocksOutput {
         439  +
    /* StructureGenerator.kt:105 */
  296    440   
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
         441  +
        /* StructureGenerator.kt:106 */
  297    442   
        let mut formatter = f.debug_struct("ListSnapshotBlocksOutput");
         443  +
        /* StructureGenerator.kt:121 */
  298    444   
        formatter.field("volume_size", &self.volume_size);
         445  +
        /* StructureGenerator.kt:121 */
  299    446   
        formatter.field("next_token", &self.next_token);
         447  +
        /* StructureGenerator.kt:121 */
  300    448   
        formatter.field("expiry_time", &self.expiry_time);
         449  +
        /* StructureGenerator.kt:121 */
  301    450   
        formatter.field("blocks", &"*** Sensitive Data Redacted ***");
         451  +
        /* StructureGenerator.kt:121 */
  302    452   
        formatter.field("block_size", &self.block_size);
         453  +
        /* StructureGenerator.kt:126 */
  303    454   
        formatter.finish()
         455  +
        /* StructureGenerator.kt:105 */
  304    456   
    }
         457  +
    /* StructureGenerator.kt:101 */
  305    458   
}
         459  +
/* RustType.kt:516 */
  306    460   
#[allow(clippy::new_without_default)]
         461  +
/* RustType.kt:516 */
  307    462   
#[allow(clippy::too_many_arguments)]
         463  +
/* RustType.kt:516 */
  308    464   
#[::pyo3::pymethods]
         465  +
/* PythonServerStructureGenerator.kt:88 */
  309    466   
impl ListSnapshotBlocksOutput {
  310    467   
    #[new]
  311    468   
    pub fn new(
  312    469   
        volume_size: ::std::option::Option<i64>,
  313    470   
        next_token: ::std::option::Option<::std::string::String>,
  314    471   
        expiry_time: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
  315    472   
        blocks: ::std::option::Option<::std::vec::Vec<crate::model::Block>>,
  316    473   
        block_size: ::std::option::Option<i32>,
  317    474   
    ) -> Self {
  318    475   
        Self {
  319    476   
            volume_size,
  320    477   
            next_token,
  321    478   
            expiry_time,
  322    479   
            blocks,
  323    480   
            block_size,
  324    481   
        }
  325    482   
    }
  326    483   
    fn __repr__(&self) -> String {
  327    484   
        format!("{self:?}")
  328    485   
    }
  329    486   
    fn __str__(&self) -> String {
  330    487   
        format!("{self:?}")
  331    488   
    }
  332    489   
}
         490  +
/* PythonServerStructureGenerator.kt:111 */
  333    491   
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<ListSnapshotBlocksOutput> {
  334    492   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  335    493   
        ob.extract::<ListSnapshotBlocksOutput>().map(Box::new)
  336    494   
    }
  337    495   
}
  338    496   
  339    497   
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<ListSnapshotBlocksOutput> {
  340    498   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  341    499   
        (*self).into_py(py)
  342    500   
    }
  343    501   
}
         502  +
/* ServerCodegenVisitor.kt:370 */
  344    503   
impl ListSnapshotBlocksOutput {
  345         -
    /// Creates a new builder-style object to manufacture [`ListSnapshotBlocksOutput`](crate::output::ListSnapshotBlocksOutput).
         504  +
    /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:211 */Creates a new builder-style object to manufacture [`ListSnapshotBlocksOutput`](crate::output::ListSnapshotBlocksOutput).
         505  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:212 */
  346    506   
    pub fn builder() -> crate::output::list_snapshot_blocks_output::Builder {
         507  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:213 */
  347    508   
        crate::output::list_snapshot_blocks_output::Builder::default()
         509  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:212 */
  348    510   
    }
         511  +
    /* ServerCodegenVisitor.kt:370 */
  349    512   
}
  350    513   
         514  +
/* RustType.kt:516 */
  351    515   
#[::pyo3::pyclass]
         516  +
/* PythonServerStructureGenerator.kt:63 */
  352    517   
/// :param block_size typing.Optional\[int\]:
  353    518   
/// :param expiry_time typing.Optional\[ebs.types.DateTime\]:
  354    519   
/// :param volume_size typing.Optional\[int\]:
  355    520   
/// :param next_token typing.Optional\[str\]:
  356    521   
/// :param changed_blocks typing.Optional\[typing.List\[ebs.model.ChangedBlock\]\]:
  357    522   
/// :rtype None:
         523  +
/* StructureGenerator.kt:197 */
  358    524   
#[allow(missing_docs)] // documentation missing in model
         525  +
/* RustType.kt:516 */
  359    526   
#[derive(
  360    527   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  361    528   
)]
  362         -
pub struct ListChangedBlocksOutput {
         529  +
pub /* StructureGenerator.kt:201 */ struct ListChangedBlocksOutput {
         530  +
    /* RustType.kt:516 */
  363    531   
    #[pyo3(get, set)]
         532  +
    /* PythonServerStructureGenerator.kt:80 */
  364    533   
    /// :type typing.Optional\[int\]:
  365         -
    /// <p>The size of the block.</p>
         534  +
    /// /* StructureGenerator.kt:231 */<p>The size of the block.</p>
  366    535   
    pub block_size: ::std::option::Option<i32>,
         536  +
    /* RustType.kt:516 */
  367    537   
    #[pyo3(get, set)]
         538  +
    /* PythonServerStructureGenerator.kt:80 */
  368    539   
    /// :type typing.Optional\[ebs.types.DateTime\]:
  369         -
    /// <p>The time when the <code>BlockToken</code> expires.</p>
         540  +
    /// /* StructureGenerator.kt:231 */<p>The time when the <code>BlockToken</code> expires.</p>
  370    541   
    pub expiry_time: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
         542  +
    /* RustType.kt:516 */
  371    543   
    #[pyo3(get, set)]
         544  +
    /* PythonServerStructureGenerator.kt:80 */
  372    545   
    /// :type typing.Optional\[int\]:
  373         -
    /// <p>The size of the volume in GB.</p>
         546  +
    /// /* StructureGenerator.kt:231 */<p>The size of the volume in GB.</p>
  374    547   
    pub volume_size: ::std::option::Option<i64>,
         548  +
    /* RustType.kt:516 */
  375    549   
    #[pyo3(get, set)]
         550  +
    /* PythonServerStructureGenerator.kt:80 */
  376    551   
    /// :type typing.Optional\[str\]:
  377         -
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p>
         552  +
    /// /* StructureGenerator.kt:231 */<p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p>
  378    553   
    pub next_token: ::std::option::Option<::std::string::String>,
         554  +
    /* RustType.kt:516 */
  379    555   
    #[pyo3(get, set)]
         556  +
    /* PythonServerStructureGenerator.kt:80 */
  380    557   
    /// :type typing.Optional\[typing.List\[ebs.model.ChangedBlock\]\]:
  381         -
    /// <p>An array of objects containing information about the changed blocks.</p>
         558  +
    /// /* StructureGenerator.kt:231 */<p>An array of objects containing information about the changed blocks.</p>
  382    559   
    pub changed_blocks: ::std::option::Option<::std::vec::Vec<crate::model::ChangedBlock>>,
         560  +
    /* StructureGenerator.kt:201 */
  383    561   
}
         562  +
/* StructureGenerator.kt:135 */
  384    563   
impl ListChangedBlocksOutput {
  385         -
    /// <p>The size of the block.</p>
         564  +
    /// /* StructureGenerator.kt:231 */<p>The size of the block.</p>
         565  +
    /* StructureGenerator.kt:166 */
  386    566   
    pub fn block_size(&self) -> ::std::option::Option<i32> {
         567  +
        /* StructureGenerator.kt:168 */
  387    568   
        self.block_size
         569  +
        /* StructureGenerator.kt:166 */
  388    570   
    }
  389         -
    /// <p>The time when the <code>BlockToken</code> expires.</p>
         571  +
    /// /* StructureGenerator.kt:231 */<p>The time when the <code>BlockToken</code> expires.</p>
         572  +
    /* StructureGenerator.kt:166 */
  390    573   
    pub fn expiry_time(
  391    574   
        &self,
  392    575   
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
         576  +
        /* StructureGenerator.kt:170 */
  393    577   
        self.expiry_time.as_ref()
         578  +
        /* StructureGenerator.kt:166 */
  394    579   
    }
  395         -
    /// <p>The size of the volume in GB.</p>
         580  +
    /// /* StructureGenerator.kt:231 */<p>The size of the volume in GB.</p>
         581  +
    /* StructureGenerator.kt:166 */
  396    582   
    pub fn volume_size(&self) -> ::std::option::Option<i64> {
         583  +
        /* StructureGenerator.kt:168 */
  397    584   
        self.volume_size
         585  +
        /* StructureGenerator.kt:166 */
  398    586   
    }
  399         -
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p>
         587  +
    /// /* StructureGenerator.kt:231 */<p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p>
         588  +
    /* StructureGenerator.kt:166 */
  400    589   
    pub fn next_token(&self) -> ::std::option::Option<&str> {
         590  +
        /* StructureGenerator.kt:169 */
  401    591   
        self.next_token.as_deref()
         592  +
        /* StructureGenerator.kt:166 */
  402    593   
    }
  403         -
    /// <p>An array of objects containing information about the changed blocks.</p>
         594  +
    /// /* StructureGenerator.kt:231 */<p>An array of objects containing information about the changed blocks.</p>
         595  +
    /* StructureGenerator.kt:166 */
  404    596   
    pub fn changed_blocks(&self) -> ::std::option::Option<&[crate::model::ChangedBlock]> {
         597  +
        /* StructureGenerator.kt:169 */
  405    598   
        self.changed_blocks.as_deref()
         599  +
        /* StructureGenerator.kt:166 */
  406    600   
    }
         601  +
    /* StructureGenerator.kt:135 */
  407    602   
}
         603  +
/* RustType.kt:516 */
  408    604   
#[allow(clippy::new_without_default)]
         605  +
/* RustType.kt:516 */
  409    606   
#[allow(clippy::too_many_arguments)]
         607  +
/* RustType.kt:516 */
  410    608   
#[::pyo3::pymethods]
         609  +
/* PythonServerStructureGenerator.kt:88 */
  411    610   
impl ListChangedBlocksOutput {
  412    611   
    #[new]
  413    612   
    pub fn new(
  414    613   
        block_size: ::std::option::Option<i32>,
  415    614   
        expiry_time: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
  416    615   
        volume_size: ::std::option::Option<i64>,
  417    616   
        next_token: ::std::option::Option<::std::string::String>,
  418    617   
        changed_blocks: ::std::option::Option<::std::vec::Vec<crate::model::ChangedBlock>>,
  419    618   
    ) -> Self {
  420    619   
        Self {
  421    620   
            block_size,
  422    621   
            expiry_time,
  423    622   
            volume_size,
  424    623   
            next_token,
  425    624   
            changed_blocks,
  426    625   
        }
  427    626   
    }
  428    627   
    fn __repr__(&self) -> String {
  429    628   
        format!("{self:?}")
  430    629   
    }
  431    630   
    fn __str__(&self) -> String {
  432    631   
        format!("{self:?}")
  433    632   
    }
  434    633   
}
         634  +
/* PythonServerStructureGenerator.kt:111 */
  435    635   
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<ListChangedBlocksOutput> {
  436    636   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  437    637   
        ob.extract::<ListChangedBlocksOutput>().map(Box::new)
  438    638   
    }
  439    639   
}
  440    640   
  441    641   
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<ListChangedBlocksOutput> {
  442    642   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  443    643   
        (*self).into_py(py)
  444    644   
    }
  445    645   
}
         646  +
/* ServerCodegenVisitor.kt:370 */
  446    647   
impl ListChangedBlocksOutput {
  447         -
    /// Creates a new builder-style object to manufacture [`ListChangedBlocksOutput`](crate::output::ListChangedBlocksOutput).
         648  +
    /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:211 */Creates a new builder-style object to manufacture [`ListChangedBlocksOutput`](crate::output::ListChangedBlocksOutput).
         649  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:212 */
  448    650   
    pub fn builder() -> crate::output::list_changed_blocks_output::Builder {
         651  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:213 */
  449    652   
        crate::output::list_changed_blocks_output::Builder::default()
         653  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:212 */
  450    654   
    }
         655  +
    /* ServerCodegenVisitor.kt:370 */
  451    656   
}
  452    657   
         658  +
/* RustType.kt:516 */
  453    659   
#[::pyo3::pyclass]
         660  +
/* PythonServerStructureGenerator.kt:63 */
         661  +
/// :param block_data ebs.types.ByteStream:
  454    662   
/// :param data_length typing.Optional\[int\]:
  455    663   
/// :param checksum_algorithm typing.Optional\[ebs.model.ChecksumAlgorithm\]:
  456    664   
/// :param checksum typing.Optional\[str\]:
  457         -
/// :param block_data ebs.types.ByteStream:
  458    665   
/// :rtype None:
         666  +
/* StructureGenerator.kt:197 */
  459    667   
#[allow(missing_docs)] // documentation missing in model
         668  +
/* RustType.kt:516 */
  460    669   
#[derive(::std::clone::Clone)]
  461         -
pub struct GetSnapshotBlockOutput {
         670  +
pub /* StructureGenerator.kt:201 */ struct GetSnapshotBlockOutput {
         671  +
    /* RustType.kt:516 */
  462    672   
    #[pyo3(get, set)]
         673  +
    /* PythonServerStructureGenerator.kt:80 */
  463    674   
    /// :type typing.Optional\[int\]:
  464         -
    /// <p>The size of the data in the block.</p>
         675  +
    /// /* StructureGenerator.kt:231 */<p>The size of the data in the block.</p>
  465    676   
    pub data_length: ::std::option::Option<i32>,
         677  +
    /* RustType.kt:516 */
  466    678   
    #[pyo3(get, set)]
         679  +
    /* PythonServerStructureGenerator.kt:80 */
  467    680   
    /// :type typing.Optional\[ebs.model.ChecksumAlgorithm\]:
  468         -
    /// <p>The algorithm used to generate the checksum for the block, such as SHA256.</p>
         681  +
    /// /* StructureGenerator.kt:231 */<p>The algorithm used to generate the checksum for the block, such as SHA256.</p>
  469    682   
    pub checksum_algorithm: ::std::option::Option<crate::model::ChecksumAlgorithm>,
         683  +
    /* RustType.kt:516 */
  470    684   
    #[pyo3(get, set)]
         685  +
    /* PythonServerStructureGenerator.kt:80 */
  471    686   
    /// :type typing.Optional\[str\]:
  472         -
    /// <p>The checksum generated for the block, which is Base64 encoded.</p>
         687  +
    /// /* StructureGenerator.kt:231 */<p>The checksum generated for the block, which is Base64 encoded.</p>
  473    688   
    pub checksum: ::std::option::Option<::std::string::String>,
         689  +
    /* RustType.kt:516 */
  474    690   
    #[pyo3(get, set)]
         691  +
    /* PythonServerStructureGenerator.kt:80 */
  475    692   
    /// :type ebs.types.ByteStream:
  476         -
    /// <p>The data content of the block.</p>
         693  +
    /// /* StructureGenerator.kt:231 */<p>The data content of the block.</p>
  477    694   
    pub block_data: ::aws_smithy_http_server_python::types::ByteStream,
         695  +
    /* StructureGenerator.kt:201 */
  478    696   
}
         697  +
/* StructureGenerator.kt:135 */
  479    698   
impl GetSnapshotBlockOutput {
  480         -
    /// <p>The size of the data in the block.</p>
         699  +
    /// /* StructureGenerator.kt:231 */<p>The size of the data in the block.</p>
         700  +
    /* StructureGenerator.kt:166 */
  481    701   
    pub fn data_length(&self) -> ::std::option::Option<i32> {
         702  +
        /* StructureGenerator.kt:168 */
  482    703   
        self.data_length
         704  +
        /* StructureGenerator.kt:166 */
  483    705   
    }
  484         -
    /// <p>The algorithm used to generate the checksum for the block, such as SHA256.</p>
         706  +
    /// /* StructureGenerator.kt:231 */<p>The algorithm used to generate the checksum for the block, such as SHA256.</p>
         707  +
    /* StructureGenerator.kt:166 */
  485    708   
    pub fn checksum_algorithm(&self) -> ::std::option::Option<&crate::model::ChecksumAlgorithm> {
         709  +
        /* StructureGenerator.kt:170 */
  486    710   
        self.checksum_algorithm.as_ref()
         711  +
        /* StructureGenerator.kt:166 */
  487    712   
    }
  488         -
    /// <p>The checksum generated for the block, which is Base64 encoded.</p>
         713  +
    /// /* StructureGenerator.kt:231 */<p>The checksum generated for the block, which is Base64 encoded.</p>
         714  +
    /* StructureGenerator.kt:166 */
  489    715   
    pub fn checksum(&self) -> ::std::option::Option<&str> {
         716  +
        /* StructureGenerator.kt:169 */
  490    717   
        self.checksum.as_deref()
         718  +
        /* StructureGenerator.kt:166 */
  491    719   
    }
  492         -
    /// <p>The data content of the block.</p>
         720  +
    /// /* StructureGenerator.kt:231 */<p>The data content of the block.</p>
         721  +
    /* StructureGenerator.kt:166 */
  493    722   
    pub fn block_data(&self) -> &::aws_smithy_http_server_python::types::ByteStream {
         723  +
        /* StructureGenerator.kt:172 */
  494    724   
        &self.block_data
         725  +
        /* StructureGenerator.kt:166 */
  495    726   
    }
         727  +
    /* StructureGenerator.kt:135 */
  496    728   
}
         729  +
/* StructureGenerator.kt:101 */
  497    730   
impl ::std::fmt::Debug for GetSnapshotBlockOutput {
         731  +
    /* StructureGenerator.kt:105 */
  498    732   
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
         733  +
        /* StructureGenerator.kt:106 */
  499    734   
        let mut formatter = f.debug_struct("GetSnapshotBlockOutput");
         735  +
        /* StructureGenerator.kt:121 */
  500    736   
        formatter.field("data_length", &self.data_length);
         737  +
        /* StructureGenerator.kt:121 */
  501    738   
        formatter.field("checksum_algorithm", &self.checksum_algorithm);
         739  +
        /* StructureGenerator.kt:121 */
  502    740   
        formatter.field("checksum", &self.checksum);
         741  +
        /* StructureGenerator.kt:121 */
  503    742   
        formatter.field("block_data", &"*** Sensitive Data Redacted ***");
         743  +
        /* StructureGenerator.kt:126 */
  504    744   
        formatter.finish()
         745  +
        /* StructureGenerator.kt:105 */
  505    746   
    }
         747  +
    /* StructureGenerator.kt:101 */
  506    748   
}
         749  +
/* RustType.kt:516 */
  507    750   
#[allow(clippy::new_without_default)]
         751  +
/* RustType.kt:516 */
  508    752   
#[allow(clippy::too_many_arguments)]
         753  +
/* RustType.kt:516 */
  509    754   
#[::pyo3::pymethods]
         755  +
/* PythonServerStructureGenerator.kt:88 */
  510    756   
impl GetSnapshotBlockOutput {
  511    757   
    #[new]
  512    758   
    pub fn new(
         759  +
        block_data: ::aws_smithy_http_server_python::types::ByteStream,
  513    760   
        data_length: ::std::option::Option<i32>,
  514    761   
        checksum_algorithm: ::std::option::Option<crate::model::ChecksumAlgorithm>,
  515    762   
        checksum: ::std::option::Option<::std::string::String>,
  516         -
        block_data: ::aws_smithy_http_server_python::types::ByteStream,
  517    763   
    ) -> Self {
  518    764   
        Self {
         765  +
            block_data,
  519    766   
            data_length,
  520    767   
            checksum_algorithm,
  521    768   
            checksum,
  522         -
            block_data,
  523    769   
        }
  524    770   
    }
  525    771   
    fn __repr__(&self) -> String {
  526    772   
        format!("{self:?}")
  527    773   
    }
  528    774   
    fn __str__(&self) -> String {
  529    775   
        format!("{self:?}")
  530    776   
    }
  531    777   
}
         778  +
/* PythonServerStructureGenerator.kt:111 */
  532    779   
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<GetSnapshotBlockOutput> {
  533    780   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  534    781   
        ob.extract::<GetSnapshotBlockOutput>().map(Box::new)
  535    782   
    }
  536    783   
}
  537    784   
  538    785   
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<GetSnapshotBlockOutput> {
  539    786   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  540    787   
        (*self).into_py(py)
  541    788   
    }
  542    789   
}
         790  +
/* ServerCodegenVisitor.kt:370 */
  543    791   
impl GetSnapshotBlockOutput {
  544         -
    /// Creates a new builder-style object to manufacture [`GetSnapshotBlockOutput`](crate::output::GetSnapshotBlockOutput).
         792  +
    /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:211 */Creates a new builder-style object to manufacture [`GetSnapshotBlockOutput`](crate::output::GetSnapshotBlockOutput).
         793  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:212 */
  545    794   
    pub fn builder() -> crate::output::get_snapshot_block_output::Builder {
         795  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:213 */
  546    796   
        crate::output::get_snapshot_block_output::Builder::default()
         797  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:212 */
  547    798   
    }
         799  +
    /* ServerCodegenVisitor.kt:370 */
  548    800   
}
  549    801   
         802  +
/* RustType.kt:516 */
  550    803   
#[::pyo3::pyclass]
         804  +
/* PythonServerStructureGenerator.kt:63 */
  551    805   
/// :param status typing.Optional\[ebs.model.Status\]:
  552    806   
/// :rtype None:
         807  +
/* StructureGenerator.kt:197 */
  553    808   
#[allow(missing_docs)] // documentation missing in model
         809  +
/* RustType.kt:516 */
  554    810   
#[derive(
  555    811   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  556    812   
)]
  557         -
pub struct CompleteSnapshotOutput {
         813  +
pub /* StructureGenerator.kt:201 */ struct CompleteSnapshotOutput {
         814  +
    /* RustType.kt:516 */
  558    815   
    #[pyo3(get, set)]
         816  +
    /* PythonServerStructureGenerator.kt:80 */
  559    817   
    /// :type typing.Optional\[ebs.model.Status\]:
  560         -
    /// <p>The status of the snapshot.</p>
         818  +
    /// /* StructureGenerator.kt:231 */<p>The status of the snapshot.</p>
  561    819   
    pub status: ::std::option::Option<crate::model::Status>,
         820  +
    /* StructureGenerator.kt:201 */
  562    821   
}
         822  +
/* StructureGenerator.kt:135 */
  563    823   
impl CompleteSnapshotOutput {
  564         -
    /// <p>The status of the snapshot.</p>
         824  +
    /// /* StructureGenerator.kt:231 */<p>The status of the snapshot.</p>
         825  +
    /* StructureGenerator.kt:166 */
  565    826   
    pub fn status(&self) -> ::std::option::Option<&crate::model::Status> {
         827  +
        /* StructureGenerator.kt:170 */
  566    828   
        self.status.as_ref()
         829  +
        /* StructureGenerator.kt:166 */
  567    830   
    }
         831  +
    /* StructureGenerator.kt:135 */
  568    832   
}
         833  +
/* RustType.kt:516 */
  569    834   
#[allow(clippy::new_without_default)]
         835  +
/* RustType.kt:516 */
  570    836   
#[allow(clippy::too_many_arguments)]
         837  +
/* RustType.kt:516 */
  571    838   
#[::pyo3::pymethods]
         839  +
/* PythonServerStructureGenerator.kt:88 */
  572    840   
impl CompleteSnapshotOutput {
  573    841   
    #[new]
  574    842   
    pub fn new(status: ::std::option::Option<crate::model::Status>) -> Self {
  575    843   
        Self { status }
  576    844   
    }
  577    845   
    fn __repr__(&self) -> String {
  578    846   
        format!("{self:?}")
  579    847   
    }
  580    848   
    fn __str__(&self) -> String {
  581    849   
        format!("{self:?}")
  582    850   
    }
  583    851   
}
         852  +
/* PythonServerStructureGenerator.kt:111 */
  584    853   
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<CompleteSnapshotOutput> {
  585    854   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  586    855   
        ob.extract::<CompleteSnapshotOutput>().map(Box::new)
  587    856   
    }
  588    857   
}
  589    858   
  590    859   
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<CompleteSnapshotOutput> {
  591    860   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  592    861   
        (*self).into_py(py)
  593    862   
    }
  594    863   
}
         864  +
/* ServerCodegenVisitor.kt:370 */
  595    865   
impl CompleteSnapshotOutput {
  596         -
    /// Creates a new builder-style object to manufacture [`CompleteSnapshotOutput`](crate::output::CompleteSnapshotOutput).
         866  +
    /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:211 */Creates a new builder-style object to manufacture [`CompleteSnapshotOutput`](crate::output::CompleteSnapshotOutput).
         867  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:212 */
  597    868   
    pub fn builder() -> crate::output::complete_snapshot_output::Builder {
         869  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:213 */
  598    870   
        crate::output::complete_snapshot_output::Builder::default()
         871  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:212 */
  599    872   
    }
         873  +
    /* ServerCodegenVisitor.kt:370 */
  600    874   
}
  601         -
/// See [`StartSnapshotOutput`](crate::output::StartSnapshotOutput).
         875  +
/// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:110 */See [`StartSnapshotOutput`](crate::output::StartSnapshotOutput).
  602    876   
pub mod start_snapshot_output {
  603    877   
         878  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:269 */
  604    879   
    impl ::std::convert::From<Builder> for crate::output::StartSnapshotOutput {
  605    880   
        fn from(builder: Builder) -> Self {
  606    881   
            builder.build()
  607    882   
        }
  608    883   
    }
  609         -
    /// A builder for [`StartSnapshotOutput`](crate::output::StartSnapshotOutput).
         884  +
    /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:130 */A builder for [`StartSnapshotOutput`](crate::output::StartSnapshotOutput).
         885  +
    /* RustType.kt:516 */
  610    886   
    #[derive(::std::clone::Clone, ::std::default::Default)]
         887  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:137 */
  611    888   
    pub struct Builder {
         889  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
  612    890   
        pub(crate) tags: ::std::option::Option<::std::vec::Vec<crate::model::Tag>>,
         891  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
  613    892   
        pub(crate) kms_key_arn: ::std::option::Option<::std::string::String>,
         893  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
  614    894   
        pub(crate) owner_id: ::std::option::Option<::std::string::String>,
         895  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
  615    896   
        pub(crate) volume_size: ::std::option::Option<i64>,
         897  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
  616    898   
        pub(crate) parent_snapshot_id: ::std::option::Option<::std::string::String>,
         899  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
  617    900   
        pub(crate) description: ::std::option::Option<::std::string::String>,
         901  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
  618    902   
        pub(crate) snapshot_id: ::std::option::Option<::std::string::String>,
         903  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
  619    904   
        pub(crate) block_size: ::std::option::Option<i32>,
         905  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
  620    906   
        pub(crate) start_time:
  621    907   
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
         908  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
  622    909   
        pub(crate) status: ::std::option::Option<crate::model::Status>,
         910  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:137 */
  623    911   
    }
         912  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:141 */
  624    913   
    impl Builder {
  625         -
        /// <p>The tags applied to the snapshot. You can specify up to 50 tags per snapshot. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html"> Tagging your Amazon EC2 resources</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
         914  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */<p>The tags applied to the snapshot. You can specify up to 50 tags per snapshot. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html"> Tagging your Amazon EC2 resources</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
         915  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  626    916   
        pub fn tags(
  627    917   
            mut self,
  628    918   
            input: ::std::option::Option<::std::vec::Vec<crate::model::Tag>>,
  629    919   
        ) -> Self {
  630         -
            self.tags = input;
         920  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
         921  +
            self.tags =
         922  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
         923  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
  631    924   
            self
         925  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  632    926   
        }
  633         -
        /// <p>The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) customer master key (CMK) used to encrypt the snapshot.</p>
         927  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */<p>The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) customer master key (CMK) used to encrypt the snapshot.</p>
         928  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  634    929   
        pub fn kms_key_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  635         -
            self.kms_key_arn = input;
         930  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
         931  +
            self.kms_key_arn =
         932  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
         933  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
  636    934   
            self
         935  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  637    936   
        }
  638         -
        /// <p>The AWS account ID of the snapshot owner.</p>
         937  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */<p>The AWS account ID of the snapshot owner.</p>
         938  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  639    939   
        pub fn owner_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  640         -
            self.owner_id = input;
         940  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
         941  +
            self.owner_id =
         942  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
         943  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
  641    944   
            self
         945  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  642    946   
        }
  643         -
        /// <p>The size of the volume, in GiB.</p>
         947  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */<p>The size of the volume, in GiB.</p>
         948  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  644    949   
        pub fn volume_size(mut self, input: ::std::option::Option<i64>) -> Self {
  645         -
            self.volume_size = input;
         950  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
         951  +
            self.volume_size =
         952  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
         953  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
  646    954   
            self
         955  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  647    956   
        }
  648         -
        /// <p>The ID of the parent snapshot.</p>
         957  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */<p>The ID of the parent snapshot.</p>
         958  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  649    959   
        pub fn parent_snapshot_id(
  650    960   
            mut self,
  651    961   
            input: ::std::option::Option<::std::string::String>,
  652    962   
        ) -> Self {
  653         -
            self.parent_snapshot_id = input;
         963  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
         964  +
            self.parent_snapshot_id =
         965  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
         966  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
  654    967   
            self
         968  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  655    969   
        }
  656         -
        /// <p>The description of the snapshot.</p>
         970  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */<p>The description of the snapshot.</p>
         971  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  657    972   
        pub fn description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  658         -
            self.description = input;
         973  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
         974  +
            self.description =
         975  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
         976  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
  659    977   
            self
         978  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  660    979   
        }
  661         -
        /// <p>The ID of the snapshot.</p>
         980  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */<p>The ID of the snapshot.</p>
         981  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  662    982   
        pub fn snapshot_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  663         -
            self.snapshot_id = input;
         983  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
         984  +
            self.snapshot_id =
         985  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
         986  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
  664    987   
            self
         988  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  665    989   
        }
  666         -
        /// <p>The size of the blocks in the snapshot, in bytes.</p>
         990  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */<p>The size of the blocks in the snapshot, in bytes.</p>
         991  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  667    992   
        pub fn block_size(mut self, input: ::std::option::Option<i32>) -> Self {
  668         -
            self.block_size = input;
         993  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
         994  +
            self.block_size =
         995  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
         996  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
  669    997   
            self
         998  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  670    999   
        }
  671         -
        /// <p>The timestamp when the snapshot was created.</p>
        1000  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */<p>The timestamp when the snapshot was created.</p>
        1001  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  672   1002   
        pub fn start_time(
  673   1003   
            mut self,
  674   1004   
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
  675   1005   
        ) -> Self {
  676         -
            self.start_time = input;
        1006  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        1007  +
            self.start_time =
        1008  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        1009  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
  677   1010   
            self
        1011  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  678   1012   
        }
  679         -
        /// <p>The status of the snapshot.</p>
        1013  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */<p>The status of the snapshot.</p>
        1014  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  680   1015   
        pub fn status(mut self, input: ::std::option::Option<crate::model::Status>) -> Self {
  681         -
            self.status = input;
        1016  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        1017  +
            self.status =
        1018  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        1019  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
  682   1020   
            self
        1021  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  683   1022   
        }
  684         -
        /// Consumes the builder and constructs a [`StartSnapshotOutput`](crate::output::StartSnapshotOutput).
        1023  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:150 */Consumes the builder and constructs a [`StartSnapshotOutput`](crate::output::StartSnapshotOutput).
        1024  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:159 */
  685   1025   
        pub fn build(self) -> crate::output::StartSnapshotOutput {
  686   1026   
            self.build_enforcing_required_and_enum_traits()
  687   1027   
        }
        1028  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:171 */
  688   1029   
        fn build_enforcing_required_and_enum_traits(self) -> crate::output::StartSnapshotOutput {
        1030  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:182 */
  689   1031   
            crate::output::StartSnapshotOutput {
        1032  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
  690   1033   
                tags: self.tags,
        1034  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
  691   1035   
                kms_key_arn: self.kms_key_arn,
        1036  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
  692   1037   
                owner_id: self.owner_id,
        1038  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
  693   1039   
                volume_size: self.volume_size,
        1040  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
  694   1041   
                parent_snapshot_id: self.parent_snapshot_id,
        1042  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
  695   1043   
                description: self.description,
        1044  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
  696   1045   
                snapshot_id: self.snapshot_id,
        1046  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
  697   1047   
                block_size: self.block_size,
        1048  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
  698   1049   
                start_time: self.start_time,
        1050  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
  699   1051   
                status: self.status,
        1052  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:182 */
  700   1053   
            }
        1054  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:171 */
  701   1055   
        }
        1056  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:141 */
  702   1057   
    }
        1058  +
        1059  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
  703   1060   
}
  704         -
/// See [`PutSnapshotBlockOutput`](crate::output::PutSnapshotBlockOutput).
        1061  +
/// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:110 */See [`PutSnapshotBlockOutput`](crate::output::PutSnapshotBlockOutput).
  705   1062   
pub mod put_snapshot_block_output {
  706   1063   
        1064  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:269 */
  707   1065   
    impl ::std::convert::From<Builder> for crate::output::PutSnapshotBlockOutput {
  708   1066   
        fn from(builder: Builder) -> Self {
  709   1067   
            builder.build()
  710   1068   
        }
  711   1069   
    }
  712         -
    /// A builder for [`PutSnapshotBlockOutput`](crate::output::PutSnapshotBlockOutput).
        1070  +
    /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:130 */A builder for [`PutSnapshotBlockOutput`](crate::output::PutSnapshotBlockOutput).
        1071  +
    /* RustType.kt:516 */
  713   1072   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1073  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:137 */
  714   1074   
    pub struct Builder {
        1075  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
  715   1076   
        pub(crate) checksum_algorithm: ::std::option::Option<crate::model::ChecksumAlgorithm>,
        1077  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
  716   1078   
        pub(crate) checksum: ::std::option::Option<::std::string::String>,
        1079  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:137 */
  717   1080   
    }
        1081  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:141 */
  718   1082   
    impl Builder {
  719         -
        /// <p>The algorithm used by Amazon EBS to generate the checksum.</p>
        1083  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */<p>The algorithm used by Amazon EBS to generate the checksum.</p>
        1084  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  720   1085   
        pub fn checksum_algorithm(
  721   1086   
            mut self,
  722   1087   
            input: ::std::option::Option<crate::model::ChecksumAlgorithm>,
  723   1088   
        ) -> Self {
  724         -
            self.checksum_algorithm = input;
        1089  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        1090  +
            self.checksum_algorithm =
        1091  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        1092  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
  725   1093   
            self
        1094  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  726   1095   
        }
  727         -
        /// <p>The SHA256 checksum generated for the block data by Amazon EBS.</p>
        1096  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */<p>The SHA256 checksum generated for the block data by Amazon EBS.</p>
        1097  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  728   1098   
        pub fn checksum(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  729         -
            self.checksum = input;
        1099  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        1100  +
            self.checksum =
        1101  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        1102  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
  730   1103   
            self
        1104  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  731   1105   
        }
  732         -
        /// Consumes the builder and constructs a [`PutSnapshotBlockOutput`](crate::output::PutSnapshotBlockOutput).
        1106  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:150 */Consumes the builder and constructs a [`PutSnapshotBlockOutput`](crate::output::PutSnapshotBlockOutput).
        1107  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:159 */
  733   1108   
        pub fn build(self) -> crate::output::PutSnapshotBlockOutput {
  734   1109   
            self.build_enforcing_required_and_enum_traits()
  735   1110   
        }
        1111  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:171 */
  736   1112   
        fn build_enforcing_required_and_enum_traits(self) -> crate::output::PutSnapshotBlockOutput {
        1113  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:182 */
  737   1114   
            crate::output::PutSnapshotBlockOutput {
        1115  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
  738   1116   
                checksum_algorithm: self.checksum_algorithm,
        1117  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
  739   1118   
                checksum: self.checksum,
        1119  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:182 */
  740   1120   
            }
        1121  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:171 */
  741   1122   
        }
        1123  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:141 */
  742   1124   
    }
        1125  +
        1126  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
  743   1127   
}
  744         -
/// See [`ListSnapshotBlocksOutput`](crate::output::ListSnapshotBlocksOutput).
        1128  +
/// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:110 */See [`ListSnapshotBlocksOutput`](crate::output::ListSnapshotBlocksOutput).
  745   1129   
pub mod list_snapshot_blocks_output {
  746   1130   
        1131  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:269 */
  747   1132   
    impl ::std::convert::From<Builder> for crate::output::ListSnapshotBlocksOutput {
  748   1133   
        fn from(builder: Builder) -> Self {
  749   1134   
            builder.build()
  750   1135   
        }
  751   1136   
    }
  752         -
    /// A builder for [`ListSnapshotBlocksOutput`](crate::output::ListSnapshotBlocksOutput).
        1137  +
    /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:130 */A builder for [`ListSnapshotBlocksOutput`](crate::output::ListSnapshotBlocksOutput).
        1138  +
    /* RustType.kt:516 */
  753   1139   
    #[derive(::std::clone::Clone, ::std::default::Default)]
        1140  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:137 */
  754   1141   
    pub struct Builder {
        1142  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
  755   1143   
        pub(crate) volume_size: ::std::option::Option<i64>,
        1144  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
  756   1145   
        pub(crate) next_token: ::std::option::Option<::std::string::String>,
        1146  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
  757   1147   
        pub(crate) expiry_time:
  758   1148   
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        1149  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
  759   1150   
        pub(crate) blocks: ::std::option::Option<::std::vec::Vec<crate::model::Block>>,
        1151  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
  760   1152   
        pub(crate) block_size: ::std::option::Option<i32>,
        1153  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:137 */
  761   1154   
    }
        1155  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:141 */
  762   1156   
    impl Builder {
  763         -
        /// <p>The size of the volume in GB.</p>
        1157  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */<p>The size of the volume in GB.</p>
        1158  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  764   1159   
        pub fn volume_size(mut self, input: ::std::option::Option<i64>) -> Self {
  765         -
            self.volume_size = input;
        1160  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        1161  +
            self.volume_size =
        1162  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        1163  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
  766   1164   
            self
        1165  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  767   1166   
        }
  768         -
        /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p>
        1167  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */<p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p>
        1168  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  769   1169   
        pub fn next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  770         -
            self.next_token = input;
        1170  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        1171  +
            self.next_token =
        1172  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        1173  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
  771   1174   
            self
        1175  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  772   1176   
        }
  773         -
        /// <p>The time when the <code>BlockToken</code> expires.</p>
        1177  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */<p>The time when the <code>BlockToken</code> expires.</p>
        1178  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  774   1179   
        pub fn expiry_time(
  775   1180   
            mut self,
  776   1181   
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
  777   1182   
        ) -> Self {
  778         -
            self.expiry_time = input;
        1183  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        1184  +
            self.expiry_time =
        1185  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        1186  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
  779   1187   
            self
        1188  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  780   1189   
        }
  781         -
        /// <p>An array of objects containing information about the blocks.</p>
        1190  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */<p>An array of objects containing information about the blocks.</p>
        1191  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  782   1192   
        pub fn blocks(
  783   1193   
            mut self,
  784   1194   
            input: ::std::option::Option<::std::vec::Vec<crate::model::Block>>,
  785   1195   
        ) -> Self {
  786         -
            self.blocks = input;
        1196  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        1197  +
            self.blocks =
        1198  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        1199  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
  787   1200   
            self
        1201  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  788   1202   
        }
  789         -
        /// <p>The size of the block.</p>
        1203  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */<p>The size of the block.</p>
        1204  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  790   1205   
        pub fn block_size(mut self, input: ::std::option::Option<i32>) -> Self {
  791         -
            self.block_size = input;
        1206  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        1207  +
            self.block_size =
        1208  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        1209  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
  792   1210   
            self
        1211  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  793   1212   
        }
  794         -
        /// Consumes the builder and constructs a [`ListSnapshotBlocksOutput`](crate::output::ListSnapshotBlocksOutput).
        1213  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:150 */Consumes the builder and constructs a [`ListSnapshotBlocksOutput`](crate::output::ListSnapshotBlocksOutput).
        1214  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:159 */
  795   1215   
        pub fn build(self) -> crate::output::ListSnapshotBlocksOutput {
  796   1216   
            self.build_enforcing_required_and_enum_traits()
  797   1217   
        }
        1218  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:171 */
  798   1219   
        fn build_enforcing_required_and_enum_traits(
  799   1220   
            self,
  800   1221   
        ) -> crate::output::ListSnapshotBlocksOutput {
        1222  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:182 */
  801   1223   
            crate::output::ListSnapshotBlocksOutput {
        1224  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
  802   1225   
                volume_size: self.volume_size,
        1226  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
  803   1227   
                next_token: self.next_token,
        1228  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
  804   1229   
                expiry_time: self.expiry_time,
        1230  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
  805   1231   
                blocks: self.blocks,
        1232  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
  806   1233   
                block_size: self.block_size,
        1234  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:182 */
  807   1235   
            }
        1236  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:171 */
  808   1237   
        }
        1238  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:141 */
  809   1239   
    }
        1240  +
        1241  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
  810   1242   
}
  811         -
/// See [`ListChangedBlocksOutput`](crate::output::ListChangedBlocksOutput).
        1243  +
/// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:110 */See [`ListChangedBlocksOutput`](crate::output::ListChangedBlocksOutput).
  812   1244   
pub mod list_changed_blocks_output {
  813   1245   
        1246  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:269 */
  814   1247   
    impl ::std::convert::From<Builder> for crate::output::ListChangedBlocksOutput {
  815   1248   
        fn from(builder: Builder) -> Self {
  816   1249   
            builder.build()
  817   1250   
        }
  818   1251   
    }
  819         -
    /// A builder for [`ListChangedBlocksOutput`](crate::output::ListChangedBlocksOutput).
        1252  +
    /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:130 */A builder for [`ListChangedBlocksOutput`](crate::output::ListChangedBlocksOutput).
        1253  +
    /* RustType.kt:516 */
  820   1254   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1255  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:137 */
  821   1256   
    pub struct Builder {
        1257  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
  822   1258   
        pub(crate) block_size: ::std::option::Option<i32>,
        1259  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
  823   1260   
        pub(crate) expiry_time:
  824   1261   
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        1262  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
  825   1263   
        pub(crate) volume_size: ::std::option::Option<i64>,
        1264  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
  826   1265   
        pub(crate) next_token: ::std::option::Option<::std::string::String>,
        1266  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
  827   1267   
        pub(crate) changed_blocks:
  828   1268   
            ::std::option::Option<::std::vec::Vec<crate::model::ChangedBlock>>,
        1269  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:137 */
  829   1270   
    }
        1271  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:141 */
  830   1272   
    impl Builder {
  831         -
        /// <p>The size of the block.</p>
        1273  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */<p>The size of the block.</p>
        1274  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  832   1275   
        pub fn block_size(mut self, input: ::std::option::Option<i32>) -> Self {
  833         -
            self.block_size = input;
        1276  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        1277  +
            self.block_size =
        1278  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        1279  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
  834   1280   
            self
        1281  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  835   1282   
        }
  836         -
        /// <p>The time when the <code>BlockToken</code> expires.</p>
        1283  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */<p>The time when the <code>BlockToken</code> expires.</p>
        1284  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  837   1285   
        pub fn expiry_time(
  838   1286   
            mut self,
  839   1287   
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
  840   1288   
        ) -> Self {
  841         -
            self.expiry_time = input;
        1289  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        1290  +
            self.expiry_time =
        1291  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        1292  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
  842   1293   
            self
        1294  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  843   1295   
        }
  844         -
        /// <p>The size of the volume in GB.</p>
        1296  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */<p>The size of the volume in GB.</p>
        1297  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  845   1298   
        pub fn volume_size(mut self, input: ::std::option::Option<i64>) -> Self {
  846         -
            self.volume_size = input;
        1299  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        1300  +
            self.volume_size =
        1301  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        1302  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
  847   1303   
            self
        1304  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  848   1305   
        }
  849         -
        /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p>
        1306  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */<p>The token to use to retrieve the next page of results. This value is null when there are no more results to return.</p>
        1307  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  850   1308   
        pub fn next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  851         -
            self.next_token = input;
        1309  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        1310  +
            self.next_token =
        1311  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        1312  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
  852   1313   
            self
        1314  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  853   1315   
        }
  854         -
        /// <p>An array of objects containing information about the changed blocks.</p>
        1316  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */<p>An array of objects containing information about the changed blocks.</p>
        1317  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  855   1318   
        pub fn changed_blocks(
  856   1319   
            mut self,
  857   1320   
            input: ::std::option::Option<::std::vec::Vec<crate::model::ChangedBlock>>,
  858   1321   
        ) -> Self {
  859         -
            self.changed_blocks = input;
        1322  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        1323  +
            self.changed_blocks =
        1324  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        1325  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
  860   1326   
            self
        1327  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  861   1328   
        }
  862         -
        /// Consumes the builder and constructs a [`ListChangedBlocksOutput`](crate::output::ListChangedBlocksOutput).
        1329  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:150 */Consumes the builder and constructs a [`ListChangedBlocksOutput`](crate::output::ListChangedBlocksOutput).
        1330  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:159 */
  863   1331   
        pub fn build(self) -> crate::output::ListChangedBlocksOutput {
  864   1332   
            self.build_enforcing_required_and_enum_traits()
  865   1333   
        }
        1334  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:171 */
  866   1335   
        fn build_enforcing_required_and_enum_traits(
  867   1336   
            self,
  868   1337   
        ) -> crate::output::ListChangedBlocksOutput {
        1338  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:182 */
  869   1339   
            crate::output::ListChangedBlocksOutput {
        1340  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
  870   1341   
                block_size: self.block_size,
        1342  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
  871   1343   
                expiry_time: self.expiry_time,
        1344  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
  872   1345   
                volume_size: self.volume_size,
        1346  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
  873   1347   
                next_token: self.next_token,
        1348  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
  874   1349   
                changed_blocks: self.changed_blocks,
        1350  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:182 */
  875   1351   
            }
        1352  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:171 */
  876   1353   
        }
        1354  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:141 */
  877   1355   
    }
        1356  +
        1357  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
  878   1358   
}
  879         -
/// See [`GetSnapshotBlockOutput`](crate::output::GetSnapshotBlockOutput).
        1359  +
/// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:110 */See [`GetSnapshotBlockOutput`](crate::output::GetSnapshotBlockOutput).
  880   1360   
pub mod get_snapshot_block_output {
  881   1361   
        1362  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:269 */
  882   1363   
    impl ::std::convert::From<Builder> for crate::output::GetSnapshotBlockOutput {
  883   1364   
        fn from(builder: Builder) -> Self {
  884   1365   
            builder.build()
  885   1366   
        }
  886   1367   
    }
  887         -
    /// A builder for [`GetSnapshotBlockOutput`](crate::output::GetSnapshotBlockOutput).
        1368  +
    /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:130 */A builder for [`GetSnapshotBlockOutput`](crate::output::GetSnapshotBlockOutput).
        1369  +
    /* RustType.kt:516 */
  888   1370   
    #[derive(::std::clone::Clone, ::std::default::Default)]
        1371  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:137 */
  889   1372   
    pub struct Builder {
        1373  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
  890   1374   
        pub(crate) data_length: ::std::option::Option<i32>,
        1375  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
  891   1376   
        pub(crate) checksum_algorithm: ::std::option::Option<crate::model::ChecksumAlgorithm>,
        1377  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
  892   1378   
        pub(crate) checksum: ::std::option::Option<::std::string::String>,
        1379  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
  893   1380   
        pub(crate) block_data:
  894   1381   
            ::std::option::Option<::aws_smithy_http_server_python::types::ByteStream>,
        1382  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:137 */
  895   1383   
    }
        1384  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:141 */
  896   1385   
    impl Builder {
  897         -
        /// <p>The size of the data in the block.</p>
        1386  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */<p>The size of the data in the block.</p>
        1387  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  898   1388   
        pub fn data_length(mut self, input: ::std::option::Option<i32>) -> Self {
  899         -
            self.data_length = input;
        1389  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        1390  +
            self.data_length =
        1391  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        1392  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
  900   1393   
            self
        1394  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  901   1395   
        }
  902         -
        /// <p>The algorithm used to generate the checksum for the block, such as SHA256.</p>
        1396  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */<p>The algorithm used to generate the checksum for the block, such as SHA256.</p>
        1397  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  903   1398   
        pub fn checksum_algorithm(
  904   1399   
            mut self,
  905   1400   
            input: ::std::option::Option<crate::model::ChecksumAlgorithm>,
  906   1401   
        ) -> Self {
  907         -
            self.checksum_algorithm = input;
        1402  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        1403  +
            self.checksum_algorithm =
        1404  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        1405  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
  908   1406   
            self
        1407  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  909   1408   
        }
  910         -
        /// <p>The checksum generated for the block, which is Base64 encoded.</p>
        1409  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */<p>The checksum generated for the block, which is Base64 encoded.</p>
        1410  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  911   1411   
        pub fn checksum(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  912         -
            self.checksum = input;
        1412  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        1413  +
            self.checksum =
        1414  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        1415  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
  913   1416   
            self
        1417  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  914   1418   
        }
  915         -
        /// <p>The data content of the block.</p>
        1419  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */<p>The data content of the block.</p>
        1420  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  916   1421   
        pub fn block_data(
  917   1422   
            mut self,
  918   1423   
            input: ::aws_smithy_http_server_python::types::ByteStream,
  919   1424   
        ) -> Self {
  920         -
            self.block_data = Some(input);
        1425  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        1426  +
            self.block_data =
        1427  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:246 */Some(
        1428  +
                    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        1429  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:246 */)
        1430  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
  921   1431   
            self
        1432  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  922   1433   
        }
  923         -
        /// Consumes the builder and constructs a [`GetSnapshotBlockOutput`](crate::output::GetSnapshotBlockOutput).
        1434  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:150 */Consumes the builder and constructs a [`GetSnapshotBlockOutput`](crate::output::GetSnapshotBlockOutput).
        1435  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:159 */
  924   1436   
        pub fn build(self) -> crate::output::GetSnapshotBlockOutput {
  925   1437   
            self.build_enforcing_required_and_enum_traits()
  926   1438   
        }
        1439  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:171 */
  927   1440   
        fn build_enforcing_required_and_enum_traits(self) -> crate::output::GetSnapshotBlockOutput {
        1441  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:182 */
  928   1442   
            crate::output::GetSnapshotBlockOutput {
        1443  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
  929   1444   
                data_length: self.data_length,
        1445  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
  930   1446   
                checksum_algorithm: self.checksum_algorithm,
        1447  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
  931   1448   
                checksum: self.checksum,
  932         -
                block_data: self.block_data.unwrap_or_default(),
        1449  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
        1450  +
                block_data: self
        1451  +
                    .block_data
        1452  +
                    /* ServerBuilderGeneratorCommon.kt:113 */
        1453  +
                    .unwrap_or_default(),
        1454  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:182 */
  933   1455   
            }
        1456  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:171 */
  934   1457   
        }
        1458  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:141 */
  935   1459   
    }
        1460  +
        1461  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
  936   1462   
}
  937         -
/// See [`CompleteSnapshotOutput`](crate::output::CompleteSnapshotOutput).
        1463  +
/// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:110 */See [`CompleteSnapshotOutput`](crate::output::CompleteSnapshotOutput).
  938   1464   
pub mod complete_snapshot_output {
  939   1465   
        1466  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:269 */
  940   1467   
    impl ::std::convert::From<Builder> for crate::output::CompleteSnapshotOutput {
  941   1468   
        fn from(builder: Builder) -> Self {
  942   1469   
            builder.build()
  943   1470   
        }
  944   1471   
    }
  945         -
    /// A builder for [`CompleteSnapshotOutput`](crate::output::CompleteSnapshotOutput).
        1472  +
    /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:130 */A builder for [`CompleteSnapshotOutput`](crate::output::CompleteSnapshotOutput).
        1473  +
    /* RustType.kt:516 */
  946   1474   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1475  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:137 */
  947   1476   
    pub struct Builder {
        1477  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
  948   1478   
        pub(crate) status: ::std::option::Option<crate::model::Status>,
        1479  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:137 */
  949   1480   
    }
        1481  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:141 */
  950   1482   
    impl Builder {
  951         -
        /// <p>The status of the snapshot.</p>
        1483  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */<p>The status of the snapshot.</p>
        1484  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  952   1485   
        pub fn status(mut self, input: ::std::option::Option<crate::model::Status>) -> Self {
  953         -
            self.status = input;
        1486  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        1487  +
            self.status =
        1488  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        1489  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
  954   1490   
            self
        1491  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
  955   1492   
        }
  956         -
        /// Consumes the builder and constructs a [`CompleteSnapshotOutput`](crate::output::CompleteSnapshotOutput).
        1493  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:150 */Consumes the builder and constructs a [`CompleteSnapshotOutput`](crate::output::CompleteSnapshotOutput).
        1494  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:159 */
  957   1495   
        pub fn build(self) -> crate::output::CompleteSnapshotOutput {
  958   1496   
            self.build_enforcing_required_and_enum_traits()
  959   1497   
        }
        1498  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:171 */
  960   1499   
        fn build_enforcing_required_and_enum_traits(self) -> crate::output::CompleteSnapshotOutput {
        1500  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:182 */
  961   1501   
            crate::output::CompleteSnapshotOutput {
        1502  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
  962   1503   
                status: self.status,
        1504  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:182 */
  963   1505   
            }
        1506  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:171 */
  964   1507   
        }
        1508  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:141 */
  965   1509   
    }
        1510  +
        1511  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
  966   1512   
}

tmp-codegen-diff/codegen-server-test-python/ebs/rust-server-codegen-python/src/protocol_serde.rs

@@ -20,20 +70,71 @@
   40     40   
pub(crate) mod shape_put_snapshot_block_input;
   41     41   
   42     42   
pub(crate) mod shape_put_snapshot_block_output;
   43     43   
   44     44   
pub(crate) mod shape_request_throttled_exception;
   45     45   
   46     46   
pub(crate) mod shape_resource_not_found_exception;
   47     47   
   48     48   
pub(crate) mod shape_service_quota_exceeded_exception;
   49     49   
          50  +
/* JsonParserGenerator.kt:227 */
   50     51   
pub(crate) fn or_empty_doc(data: &[u8]) -> &[u8] {
   51     52   
    if data.is_empty() {
   52     53   
        b"{}"
   53     54   
    } else {
   54     55   
        data
   55     56   
    }
   56     57   
}
   57     58   
   58     59   
pub(crate) mod shape_start_snapshot_output;
   59     60   

tmp-codegen-diff/codegen-server-test-python/ebs/rust-server-codegen-python/src/protocol_serde/shape_access_denied_exception.rs

@@ -1,1 +26,40 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* JsonSerializerGenerator.kt:213 */
    2      3   
pub fn ser_access_denied_exception_error(
    3      4   
    value: &crate::error::AccessDeniedException,
    4      5   
) -> ::std::result::Result<String, ::aws_smithy_types::error::operation::SerializationError> {
           6  +
    /* JsonSerializerGenerator.kt:218 */
    5      7   
    let mut out = ::std::string::String::new();
    6      8   
    let mut object = ::aws_smithy_json::serialize::JsonObjectWriter::new(&mut out);
           9  +
    /* JsonSerializerGenerator.kt:375 */
    7     10   
    crate::protocol_serde::shape_access_denied_exception::ser_access_denied_exception(
    8     11   
        &mut object,
    9     12   
        value,
   10     13   
    )?;
          14  +
    /* JsonSerializerGenerator.kt:227 */
   11     15   
    object.finish();
   12     16   
    Ok(out)
          17  +
    /* JsonSerializerGenerator.kt:213 */
   13     18   
}
   14     19   
          20  +
/* JsonSerializerGenerator.kt:358 */
   15     21   
pub fn ser_access_denied_exception(
   16     22   
    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
   17     23   
    input: &crate::error::AccessDeniedException,
   18     24   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
          25  +
    /* JsonSerializerGenerator.kt:382 */
   19     26   
    if let Some(var_1) = &input.message {
          27  +
        /* JsonSerializerGenerator.kt:423 */
   20     28   
        object.key("Message").string(var_1.as_str());
          29  +
        /* JsonSerializerGenerator.kt:382 */
   21     30   
    }
          31  +
    /* SerializerUtil.kt:42 */
   22     32   
    {
          33  +
        /* JsonSerializerGenerator.kt:423 */
   23     34   
        object.key("Reason").string(input.reason.as_str());
          35  +
        /* SerializerUtil.kt:42 */
   24     36   
    }
          37  +
    /* JsonSerializerGenerator.kt:372 */
   25     38   
    Ok(())
          39  +
    /* JsonSerializerGenerator.kt:358 */
   26     40   
}

tmp-codegen-diff/codegen-server-test-python/ebs/rust-server-codegen-python/src/protocol_serde/shape_block.rs

@@ -1,1 +16,25 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* JsonSerializerGenerator.kt:358 */
    2      3   
pub fn ser_block(
    3      4   
    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
    4      5   
    input: &crate::model::Block,
    5      6   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
           7  +
    /* JsonSerializerGenerator.kt:382 */
    6      8   
    if let Some(var_1) = &input.block_token {
           9  +
        /* JsonSerializerGenerator.kt:423 */
    7     10   
        object.key("BlockToken").string(var_1.as_str());
          11  +
        /* JsonSerializerGenerator.kt:382 */
    8     12   
    }
          13  +
    /* JsonSerializerGenerator.kt:382 */
    9     14   
    if let Some(var_2) = &input.block_index {
          15  +
        /* JsonSerializerGenerator.kt:432 */
   10     16   
        object.key("BlockIndex").number(
   11     17   
            #[allow(clippy::useless_conversion)]
   12     18   
            ::aws_smithy_types::Number::NegInt((*var_2).into()),
   13     19   
        );
          20  +
        /* JsonSerializerGenerator.kt:382 */
   14     21   
    }
          22  +
    /* JsonSerializerGenerator.kt:372 */
   15     23   
    Ok(())
          24  +
    /* JsonSerializerGenerator.kt:358 */
   16     25   
}

tmp-codegen-diff/codegen-server-test-python/ebs/rust-server-codegen-python/src/protocol_serde/shape_changed_block.rs

@@ -1,1 +19,31 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* JsonSerializerGenerator.kt:358 */
    2      3   
pub fn ser_changed_block(
    3      4   
    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
    4      5   
    input: &crate::model::ChangedBlock,
    5      6   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
           7  +
    /* JsonSerializerGenerator.kt:382 */
    6      8   
    if let Some(var_1) = &input.first_block_token {
           9  +
        /* JsonSerializerGenerator.kt:423 */
    7     10   
        object.key("FirstBlockToken").string(var_1.as_str());
          11  +
        /* JsonSerializerGenerator.kt:382 */
    8     12   
    }
          13  +
    /* JsonSerializerGenerator.kt:382 */
    9     14   
    if let Some(var_2) = &input.block_index {
          15  +
        /* JsonSerializerGenerator.kt:432 */
   10     16   
        object.key("BlockIndex").number(
   11     17   
            #[allow(clippy::useless_conversion)]
   12     18   
            ::aws_smithy_types::Number::NegInt((*var_2).into()),
   13     19   
        );
          20  +
        /* JsonSerializerGenerator.kt:382 */
   14     21   
    }
          22  +
    /* JsonSerializerGenerator.kt:382 */
   15     23   
    if let Some(var_3) = &input.second_block_token {
          24  +
        /* JsonSerializerGenerator.kt:423 */
   16     25   
        object.key("SecondBlockToken").string(var_3.as_str());
          26  +
        /* JsonSerializerGenerator.kt:382 */
   17     27   
    }
          28  +
    /* JsonSerializerGenerator.kt:372 */
   18     29   
    Ok(())
          30  +
    /* JsonSerializerGenerator.kt:358 */
   19     31   
}

tmp-codegen-diff/codegen-server-test-python/ebs/rust-server-codegen-python/src/protocol_serde/shape_complete_snapshot.rs

@@ -1,1 +281,380 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* RustType.kt:516 */
    2      3   
#[allow(clippy::unnecessary_wraps)]
           4  +
/* ServerHttpBoundProtocolGenerator.kt:383 */
    3      5   
pub async fn de_complete_snapshot_http_request<B>(
    4      6   
    #[allow(unused_variables)] request: ::http::Request<B>,
    5      7   
) -> std::result::Result<
    6      8   
    crate::input::CompleteSnapshotInput,
    7      9   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection,
    8     10   
>
    9     11   
where
   10     12   
    B: ::aws_smithy_http_server::body::HttpBody + Send,
   11     13   
    B::Data: Send,
   12     14   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
   13     15   
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
   14     16   
{
          17  +
    /* ServerHttpBoundProtocolGenerator.kt:399 */
   15     18   
    Ok({
          19  +
        /* RustType.kt:516 */
   16     20   
        #[allow(unused_mut)]
          21  +
        /* ServerHttpBoundProtocolGenerator.kt:723 */
   17     22   
        let mut input = crate::input::complete_snapshot_input_internal::Builder::default();
          23  +
        /* RustType.kt:516 */
   18     24   
        #[allow(unused_variables)]
          25  +
        /* ServerHttpBoundProtocolGenerator.kt:728 */
   19     26   
        let ::aws_smithy_runtime_api::http::RequestParts {
   20     27   
            uri, headers, body, ..
   21     28   
        } = ::aws_smithy_runtime_api::http::Request::try_from(request)?.into_parts();
          29  +
        /* ServerHttpBoundProtocolGenerator.kt:794 */
   22     30   
        if let Some(value) =
   23     31   
            crate::protocol_serde::shape_complete_snapshot_input::de_changed_blocks_count_header(
   24     32   
                &headers,
   25     33   
            )?
   26     34   
        {
   27     35   
            input = input.set_changed_blocks_count(value)
   28     36   
        }
          37  +
        /* ServerHttpBoundProtocolGenerator.kt:794 */
   29     38   
        if let Some(value) =
   30     39   
            crate::protocol_serde::shape_complete_snapshot_input::de_checksum_header(&headers)?
   31     40   
        {
   32     41   
            input = input.set_checksum(Some(value))
   33     42   
        }
          43  +
        /* ServerHttpBoundProtocolGenerator.kt:794 */
   34     44   
        if let Some(value) = crate::protocol_serde::shape_complete_snapshot_input::de_checksum_aggregation_method_header(&headers)? {
   35     45   
                                input = input.set_checksum_aggregation_method(Some(value))
   36     46   
                            }
          47  +
        /* ServerHttpBoundProtocolGenerator.kt:794 */
   37     48   
        if let Some(value) =
   38     49   
            crate::protocol_serde::shape_complete_snapshot_input::de_checksum_algorithm_header(
   39     50   
                &headers,
   40     51   
            )?
   41     52   
        {
   42     53   
            input = input.set_checksum_algorithm(Some(value))
   43     54   
        }
          55  +
        /* ServerHttpBoundProtocolGenerator.kt:986 */
   44     56   
        let input_string = uri.path();
          57  +
        /* ServerHttpBoundProtocolGenerator.kt:998 */
   45     58   
        let (input_string, (_, _, m2)) =
   46     59   
            ::nom::sequence::tuple::<_, _, ::nom::error::Error<&str>, _>((
   47     60   
                ::nom::sequence::preceded(
   48     61   
                    ::nom::bytes::complete::tag("/"),
   49     62   
                    ::nom::bytes::complete::tag::<_, _, ::nom::error::Error<&str>>("snapshots"),
   50     63   
                ),
   51     64   
                ::nom::sequence::preceded(
   52     65   
                    ::nom::bytes::complete::tag("/"),
   53     66   
                    ::nom::bytes::complete::tag::<_, _, ::nom::error::Error<&str>>("completion"),
   54     67   
                ),
   55     68   
                ::nom::sequence::preceded(
   56     69   
                    ::nom::bytes::complete::tag("/"),
   57     70   
                    ::nom::branch::alt::<_, _, ::nom::error::Error<&str>, _>((
   58     71   
                        ::nom::bytes::complete::take_until("/"),
   59     72   
                        ::nom::combinator::rest,
   60     73   
                    )),
   61     74   
                ),
   62     75   
            ))(input_string)?;
   63     76   
        debug_assert_eq!("", input_string);
          77  +
        /* ServerHttpBoundProtocolGenerator.kt:1009 */
   64     78   
        input = input.set_snapshot_id(
   65     79   
            crate::protocol_serde::shape_complete_snapshot_input::de_snapshot_id(m2)?,
   66     80   
        );
          81  +
        /* ServerHttpBoundProtocolGenerator.kt:834 */
   67     82   
        input.build()?
          83  +
        /* ServerHttpBoundProtocolGenerator.kt:399 */
   68     84   
    })
          85  +
    /* ServerHttpBoundProtocolGenerator.kt:383 */
   69     86   
}
   70     87   
          88  +
/* RustType.kt:516 */
   71     89   
#[allow(clippy::unnecessary_wraps)]
          90  +
/* ServerHttpBoundProtocolGenerator.kt:421 */
   72     91   
pub fn ser_complete_snapshot_http_response(
   73     92   
    #[allow(unused_variables)] output: crate::output::CompleteSnapshotOutput,
   74     93   
) -> std::result::Result<
   75     94   
    ::aws_smithy_http_server::response::Response,
   76     95   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   77     96   
> {
          97  +
    /* ServerHttpBoundProtocolGenerator.kt:433 */
   78     98   
    Ok({
          99  +
        /* RustType.kt:516 */
   79    100   
        #[allow(unused_mut)]
         101  +
        /* ServerHttpBoundProtocolGenerator.kt:523 */
   80    102   
        let mut builder = ::http::Response::builder();
         103  +
        /* ServerHttpBoundProtocolGenerator.kt:597 */
   81    104   
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
   82    105   
            builder,
   83    106   
            ::http::header::CONTENT_TYPE,
   84    107   
            "application/json",
   85    108   
        );
         109  +
        /* ServerHttpBoundProtocolGenerator.kt:682 */
   86    110   
        let http_status: u16 = 202;
   87    111   
        builder = builder.status(http_status);
         112  +
        /* ServerHttpBoundProtocolGenerator.kt:561 */
   88    113   
        let payload =
   89         -
            crate::protocol_serde::shape_complete_snapshot_output::ser_complete_snapshot_output_output_output(&output)?
   90         -
        ;
         114  +
            /* HttpBoundProtocolPayloadGenerator.kt:237 */crate::protocol_serde::shape_complete_snapshot_output::ser_complete_snapshot_output_output_output(&output)?
         115  +
        /* ServerHttpBoundProtocolGenerator.kt:561 */;
         116  +
        /* ServerHttpBoundProtocolGenerator.kt:663 */
   91    117   
        let content_length = payload.len();
   92    118   
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
   93    119   
            builder,
   94    120   
            ::http::header::CONTENT_LENGTH,
   95    121   
            content_length,
   96    122   
        );
         123  +
        /* ServerHttpBoundProtocolGenerator.kt:567 */
   97    124   
        let body = ::aws_smithy_http_server::body::to_boxed(payload);
         125  +
        /* ServerHttpBoundProtocolGenerator.kt:575 */
   98    126   
        builder.body(body)?
         127  +
        /* ServerHttpBoundProtocolGenerator.kt:433 */
   99    128   
    })
         129  +
    /* ServerHttpBoundProtocolGenerator.kt:421 */
  100    130   
}
  101    131   
         132  +
/* RustType.kt:516 */
  102    133   
#[allow(clippy::unnecessary_wraps)]
         134  +
/* ServerHttpBoundProtocolGenerator.kt:447 */
  103    135   
pub fn ser_complete_snapshot_http_error(
  104    136   
    error: &crate::error::CompleteSnapshotError,
  105    137   
) -> std::result::Result<
  106    138   
    ::aws_smithy_http_server::response::Response,
  107    139   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
  108    140   
> {
         141  +
    /* ServerHttpBoundProtocolGenerator.kt:452 */
  109    142   
    Ok({
         143  +
        /* ServerHttpBoundProtocolGenerator.kt:468 */
  110    144   
        match error {
         145  +
            /* ServerHttpBoundProtocolGenerator.kt:476 */
  111    146   
            crate::error::CompleteSnapshotError::InternalServerException(output) => {
         147  +
                /* ServerHttpBoundProtocolGenerator.kt:477 */
  112    148   
                let payload = crate::protocol_serde::shape_internal_server_exception::ser_internal_server_exception_error(output)?;
         149  +
                /* RustType.kt:516 */
  113    150   
                #[allow(unused_mut)]
         151  +
                /* ServerHttpBoundProtocolGenerator.kt:487 */
  114    152   
                let mut builder = ::http::Response::builder();
         153  +
                /* ServerHttpBoundProtocolGenerator.kt:597 */
  115    154   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
  116    155   
                    builder,
  117    156   
                    ::http::header::CONTENT_TYPE,
  118    157   
                    "application/json",
  119    158   
                );
         159  +
                /* ServerHttpBoundProtocolGenerator.kt:597 */
  120    160   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
  121    161   
                    builder,
  122    162   
                    ::http::header::HeaderName::from_static("x-amzn-errortype"),
  123    163   
                    "InternalServerException",
  124    164   
                );
         165  +
                /* ServerHttpBoundProtocolGenerator.kt:663 */
  125    166   
                let content_length = payload.len();
  126    167   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
  127    168   
                    builder,
  128    169   
                    ::http::header::CONTENT_LENGTH,
  129    170   
                    content_length,
  130    171   
                );
         172  +
                /* ServerHttpBoundProtocolGenerator.kt:504 */
  131    173   
                builder
  132    174   
                    .status(500)
  133    175   
                    .body(::aws_smithy_http_server::body::to_boxed(payload))?
         176  +
                /* ServerHttpBoundProtocolGenerator.kt:476 */
  134    177   
            }
         178  +
            /* ServerHttpBoundProtocolGenerator.kt:476 */
  135    179   
            crate::error::CompleteSnapshotError::ResourceNotFoundException(output) => {
         180  +
                /* ServerHttpBoundProtocolGenerator.kt:477 */
  136    181   
                let payload = crate::protocol_serde::shape_resource_not_found_exception::ser_resource_not_found_exception_error(output)?;
         182  +
                /* RustType.kt:516 */
  137    183   
                #[allow(unused_mut)]
         184  +
                /* ServerHttpBoundProtocolGenerator.kt:487 */
  138    185   
                let mut builder = ::http::Response::builder();
         186  +
                /* ServerHttpBoundProtocolGenerator.kt:597 */
  139    187   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
  140    188   
                    builder,
  141    189   
                    ::http::header::CONTENT_TYPE,
  142    190   
                    "application/json",
  143    191   
                );
         192  +
                /* ServerHttpBoundProtocolGenerator.kt:597 */
  144    193   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
  145    194   
                    builder,
  146    195   
                    ::http::header::HeaderName::from_static("x-amzn-errortype"),
  147    196   
                    "ResourceNotFoundException",
  148    197   
                );
         198  +
                /* ServerHttpBoundProtocolGenerator.kt:663 */
  149    199   
                let content_length = payload.len();
  150    200   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
  151    201   
                    builder,
  152    202   
                    ::http::header::CONTENT_LENGTH,
  153    203   
                    content_length,
  154    204   
                );
         205  +
                /* ServerHttpBoundProtocolGenerator.kt:504 */
  155    206   
                builder
  156    207   
                    .status(404)
  157    208   
                    .body(::aws_smithy_http_server::body::to_boxed(payload))?
         209  +
                /* ServerHttpBoundProtocolGenerator.kt:476 */
  158    210   
            }
         211  +
            /* ServerHttpBoundProtocolGenerator.kt:476 */
  159    212   
            crate::error::CompleteSnapshotError::AccessDeniedException(output) => {
         213  +
                /* ServerHttpBoundProtocolGenerator.kt:477 */
  160    214   
                let payload = crate::protocol_serde::shape_access_denied_exception::ser_access_denied_exception_error(output)?;
         215  +
                /* RustType.kt:516 */
  161    216   
                #[allow(unused_mut)]
         217  +
                /* ServerHttpBoundProtocolGenerator.kt:487 */
  162    218   
                let mut builder = ::http::Response::builder();
         219  +
                /* ServerHttpBoundProtocolGenerator.kt:597 */
  163    220   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
  164    221   
                    builder,
  165    222   
                    ::http::header::CONTENT_TYPE,
  166    223   
                    "application/json",
  167    224   
                );
         225  +
                /* ServerHttpBoundProtocolGenerator.kt:597 */
  168    226   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
  169    227   
                    builder,
  170    228   
                    ::http::header::HeaderName::from_static("x-amzn-errortype"),
  171    229   
                    "AccessDeniedException",
  172    230   
                );
         231  +
                /* ServerHttpBoundProtocolGenerator.kt:663 */
  173    232   
                let content_length = payload.len();
  174    233   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
  175    234   
                    builder,
  176    235   
                    ::http::header::CONTENT_LENGTH,
  177    236   
                    content_length,
  178    237   
                );
         238  +
                /* ServerHttpBoundProtocolGenerator.kt:504 */
  179    239   
                builder
  180    240   
                    .status(403)
  181    241   
                    .body(::aws_smithy_http_server::body::to_boxed(payload))?
         242  +
                /* ServerHttpBoundProtocolGenerator.kt:476 */
  182    243   
            }
         244  +
            /* ServerHttpBoundProtocolGenerator.kt:476 */
  183    245   
            crate::error::CompleteSnapshotError::RequestThrottledException(output) => {
         246  +
                /* ServerHttpBoundProtocolGenerator.kt:477 */
  184    247   
                let payload = crate::protocol_serde::shape_request_throttled_exception::ser_request_throttled_exception_error(output)?;
         248  +
                /* RustType.kt:516 */
  185    249   
                #[allow(unused_mut)]
         250  +
                /* ServerHttpBoundProtocolGenerator.kt:487 */
  186    251   
                let mut builder = ::http::Response::builder();
         252  +
                /* ServerHttpBoundProtocolGenerator.kt:597 */
  187    253   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
  188    254   
                    builder,
  189    255   
                    ::http::header::CONTENT_TYPE,
  190    256   
                    "application/json",
  191    257   
                );
         258  +
                /* ServerHttpBoundProtocolGenerator.kt:597 */
  192    259   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
  193    260   
                    builder,
  194    261   
                    ::http::header::HeaderName::from_static("x-amzn-errortype"),
  195    262   
                    "RequestThrottledException",
  196    263   
                );
         264  +
                /* ServerHttpBoundProtocolGenerator.kt:663 */
  197    265   
                let content_length = payload.len();
  198    266   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
  199    267   
                    builder,
  200    268   
                    ::http::header::CONTENT_LENGTH,
  201    269   
                    content_length,
  202    270   
                );
         271  +
                /* ServerHttpBoundProtocolGenerator.kt:504 */
  203    272   
                builder
  204    273   
                    .status(400)
  205    274   
                    .body(::aws_smithy_http_server::body::to_boxed(payload))?
         275  +
                /* ServerHttpBoundProtocolGenerator.kt:476 */
  206    276   
            }
         277  +
            /* ServerHttpBoundProtocolGenerator.kt:476 */
  207    278   
            crate::error::CompleteSnapshotError::ServiceQuotaExceededException(output) => {
         279  +
                /* ServerHttpBoundProtocolGenerator.kt:477 */
  208    280   
                let payload = crate::protocol_serde::shape_service_quota_exceeded_exception::ser_service_quota_exceeded_exception_error(output)?;
         281  +
                /* RustType.kt:516 */
  209    282   
                #[allow(unused_mut)]
         283  +
                /* ServerHttpBoundProtocolGenerator.kt:487 */
  210    284   
                let mut builder = ::http::Response::builder();
         285  +
                /* ServerHttpBoundProtocolGenerator.kt:597 */
  211    286   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
  212    287   
                    builder,
  213    288   
                    ::http::header::CONTENT_TYPE,
  214    289   
                    "application/json",
  215    290   
                );
         291  +
                /* ServerHttpBoundProtocolGenerator.kt:597 */
  216    292   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
  217    293   
                    builder,
  218    294   
                    ::http::header::HeaderName::from_static("x-amzn-errortype"),
  219    295   
                    "ServiceQuotaExceededException",
  220    296   
                );
         297  +
                /* ServerHttpBoundProtocolGenerator.kt:663 */
  221    298   
                let content_length = payload.len();
  222    299   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
  223    300   
                    builder,
  224    301   
                    ::http::header::CONTENT_LENGTH,
  225    302   
                    content_length,
  226    303   
                );
         304  +
                /* ServerHttpBoundProtocolGenerator.kt:504 */
  227    305   
                builder
  228    306   
                    .status(402)
  229    307   
                    .body(::aws_smithy_http_server::body::to_boxed(payload))?
         308  +
                /* ServerHttpBoundProtocolGenerator.kt:476 */
  230    309   
            }
         310  +
            /* ServerHttpBoundProtocolGenerator.kt:476 */
  231    311   
            crate::error::CompleteSnapshotError::ValidationException(output) => {
         312  +
                /* ServerHttpBoundProtocolGenerator.kt:477 */
  232    313   
                let payload = crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(output)?;
         314  +
                /* RustType.kt:516 */
  233    315   
                #[allow(unused_mut)]
         316  +
                /* ServerHttpBoundProtocolGenerator.kt:487 */
  234    317   
                let mut builder = ::http::Response::builder();
         318  +
                /* ServerHttpBoundProtocolGenerator.kt:597 */
  235    319   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
  236    320   
                    builder,
  237    321   
                    ::http::header::CONTENT_TYPE,
  238    322   
                    "application/json",
  239    323   
                );
         324  +
                /* ServerHttpBoundProtocolGenerator.kt:597 */
  240    325   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
  241    326   
                    builder,
  242    327   
                    ::http::header::HeaderName::from_static("x-amzn-errortype"),
  243    328   
                    "ValidationException",
  244    329   
                );
         330  +
                /* ServerHttpBoundProtocolGenerator.kt:663 */
  245    331   
                let content_length = payload.len();
  246    332   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
  247    333   
                    builder,
  248    334   
                    ::http::header::CONTENT_LENGTH,
  249    335   
                    content_length,
  250    336   
                );
         337  +
                /* ServerHttpBoundProtocolGenerator.kt:504 */
  251    338   
                builder
  252    339   
                    .status(400)
  253    340   
                    .body(::aws_smithy_http_server::body::to_boxed(payload))?
         341  +
                /* ServerHttpBoundProtocolGenerator.kt:476 */
  254    342   
            }
         343  +
            /* ServerHttpBoundProtocolGenerator.kt:476 */
  255    344   
            crate::error::CompleteSnapshotError::InternalServerError(output) => {
         345  +
                /* ServerHttpBoundProtocolGenerator.kt:477 */
  256    346   
                let payload = crate::protocol_serde::shape_internal_server_error::ser_internal_server_error_error(output)?;
         347  +
                /* RustType.kt:516 */
  257    348   
                #[allow(unused_mut)]
         349  +
                /* ServerHttpBoundProtocolGenerator.kt:487 */
  258    350   
                let mut builder = ::http::Response::builder();
         351  +
                /* ServerHttpBoundProtocolGenerator.kt:597 */
  259    352   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
  260    353   
                    builder,
  261    354   
                    ::http::header::CONTENT_TYPE,
  262    355   
                    "application/json",
  263    356   
                );
         357  +
                /* ServerHttpBoundProtocolGenerator.kt:597 */
  264    358   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
  265    359   
                    builder,
  266    360   
                    ::http::header::HeaderName::from_static("x-amzn-errortype"),
  267    361   
                    "InternalServerError",
  268    362   
                );
         363  +
                /* ServerHttpBoundProtocolGenerator.kt:663 */
  269    364   
                let content_length = payload.len();
  270    365   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
  271    366   
                    builder,
  272    367   
                    ::http::header::CONTENT_LENGTH,
  273    368   
                    content_length,
  274    369   
                );
         370  +
                /* ServerHttpBoundProtocolGenerator.kt:504 */
  275    371   
                builder
  276    372   
                    .status(500)
  277    373   
                    .body(::aws_smithy_http_server::body::to_boxed(payload))?
  278         -
            }
         374  +
                /* ServerHttpBoundProtocolGenerator.kt:476 */
         375  +
            } /* ServerHttpBoundProtocolGenerator.kt:468 */
  279    376   
        }
         377  +
        /* ServerHttpBoundProtocolGenerator.kt:452 */
  280    378   
    })
         379  +
    /* ServerHttpBoundProtocolGenerator.kt:447 */
  281    380   
}

tmp-codegen-diff/codegen-server-test-python/ebs/rust-server-codegen-python/src/protocol_serde/shape_complete_snapshot_input.rs

@@ -1,1 +58,79 @@
    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_changed_blocks_count_header(
    3      4   
    header_map: &::aws_smithy_runtime_api::http::Headers,
    4      5   
) -> ::std::result::Result<::std::option::Option<i32>, ::aws_smithy_http::header::ParseError> {
           6  +
    /* HttpBindingGenerator.kt:160 */
    5      7   
    let headers = header_map.get_all("x-amz-ChangedBlocksCount");
           8  +
    /* HttpBindingGenerator.kt:404 */
    6      9   
    let var_1 = ::aws_smithy_http::header::read_many_primitive::<i32>(headers)?;
          10  +
    /* HttpBindingGenerator.kt:468 */
    7     11   
    if var_1.len() > 1 {
    8     12   
        Err(::aws_smithy_http::header::ParseError::new(format!(
    9     13   
            "expected one item but found {}",
   10     14   
            var_1.len()
   11     15   
        )))
   12     16   
    } else {
   13     17   
        let mut var_1 = var_1;
   14     18   
        Ok(var_1.pop())
   15     19   
    }
          20  +
    /* HttpBindingGenerator.kt:153 */
   16     21   
}
   17     22   
          23  +
/* HttpBindingGenerator.kt:153 */
   18     24   
pub(crate) fn de_checksum_header(
   19     25   
    header_map: &::aws_smithy_runtime_api::http::Headers,
   20     26   
) -> ::std::result::Result<
   21     27   
    ::std::option::Option<::std::string::String>,
   22     28   
    ::aws_smithy_http::header::ParseError,
   23     29   
> {
          30  +
    /* HttpBindingGenerator.kt:160 */
   24     31   
    let headers = header_map.get_all("x-amz-Checksum");
          32  +
    /* HttpBindingGenerator.kt:375 */
   25     33   
    ::aws_smithy_http::header::one_or_none(headers)
          34  +
    /* HttpBindingGenerator.kt:153 */
   26     35   
}
   27     36   
          37  +
/* HttpBindingGenerator.kt:153 */
   28     38   
pub(crate) fn de_checksum_aggregation_method_header(
   29     39   
    header_map: &::aws_smithy_runtime_api::http::Headers,
   30     40   
) -> ::std::result::Result<
   31     41   
    ::std::option::Option<::std::string::String>,
   32     42   
    ::aws_smithy_http::header::ParseError,
   33     43   
> {
          44  +
    /* HttpBindingGenerator.kt:160 */
   34     45   
    let headers = header_map.get_all("x-amz-Checksum-Aggregation-Method");
          46  +
    /* HttpBindingGenerator.kt:375 */
   35     47   
    ::aws_smithy_http::header::one_or_none(headers)
          48  +
    /* HttpBindingGenerator.kt:153 */
   36     49   
}
   37     50   
          51  +
/* HttpBindingGenerator.kt:153 */
   38     52   
pub(crate) fn de_checksum_algorithm_header(
   39     53   
    header_map: &::aws_smithy_runtime_api::http::Headers,
   40     54   
) -> ::std::result::Result<
   41     55   
    ::std::option::Option<::std::string::String>,
   42     56   
    ::aws_smithy_http::header::ParseError,
   43     57   
> {
          58  +
    /* HttpBindingGenerator.kt:160 */
   44     59   
    let headers = header_map.get_all("x-amz-Checksum-Algorithm");
          60  +
    /* HttpBindingGenerator.kt:375 */
   45     61   
    ::aws_smithy_http::header::one_or_none(headers)
          62  +
    /* HttpBindingGenerator.kt:153 */
   46     63   
}
   47     64   
          65  +
/* ServerHttpBoundProtocolGenerator.kt:1292 */
   48     66   
pub fn de_snapshot_id(
   49     67   
    value: &str,
   50     68   
) -> std::result::Result<
   51     69   
    ::std::string::String,
   52     70   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection,
   53     71   
> {
          72  +
    /* ServerHttpBoundProtocolGenerator.kt:1302 */
   54     73   
    let value = ::percent_encoding::percent_decode_str(value)
   55     74   
        .decode_utf8()?
   56     75   
        .into_owned();
          76  +
    /* ServerHttpBoundProtocolGenerator.kt:1357 */
   57     77   
    Ok(value)
          78  +
    /* ServerHttpBoundProtocolGenerator.kt:1292 */
   58     79   
}