AWS SDK

AWS SDK

rev. aa190e630077955f0bc8f58dee6a16530c1e0578

Files changed:

tmp-codegen-diff/aws-sdk/sdk/ssm/src/operation/delete_inventory/_delete_inventory_input.rs

@@ -0,1 +0,272 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
#[allow(missing_docs)] // documentation missing in model
           3  +
#[non_exhaustive]
           4  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
           5  +
pub struct DeleteInventoryInput {
           6  +
    /// <p>The name of the custom inventory type for which you want to delete either all previously collected data or the inventory type itself.</p>
           7  +
    pub type_name: ::std::option::Option<::std::string::String>,
           8  +
    /// <p>Use the <code>SchemaDeleteOption</code> to delete a custom inventory type (schema). If you don't choose this option, the system only deletes existing inventory data associated with the custom inventory type. Choose one of the following options:</p>
           9  +
    /// <p>DisableSchema: If you choose this option, the system ignores all inventory data for the specified version, and any earlier versions. To enable this schema again, you must call the <code>PutInventory</code> operation for a version greater than the disabled version.</p>
          10  +
    /// <p>DeleteSchema: This option deletes the specified custom type from the Inventory service. You can recreate the schema later, if you want.</p>
          11  +
    pub schema_delete_option: ::std::option::Option<crate::types::InventorySchemaDeleteOption>,
          12  +
    /// <p>Use this option to view a summary of the deletion request without deleting any data or the data type. This option is useful when you only want to understand what will be deleted. Once you validate that the data to be deleted is what you intend to delete, you can run the same command without specifying the <code>DryRun</code> option.</p>
          13  +
    pub dry_run: ::std::option::Option<bool>,
          14  +
    /// <p>User-provided idempotency token.</p>
          15  +
    pub client_token: ::std::option::Option<::std::string::String>,
          16  +
}
          17  +
impl DeleteInventoryInput {
          18  +
    /// <p>The name of the custom inventory type for which you want to delete either all previously collected data or the inventory type itself.</p>
          19  +
    pub fn type_name(&self) -> ::std::option::Option<&str> {
          20  +
        self.type_name.as_deref()
          21  +
    }
          22  +
    /// <p>Use the <code>SchemaDeleteOption</code> to delete a custom inventory type (schema). If you don't choose this option, the system only deletes existing inventory data associated with the custom inventory type. Choose one of the following options:</p>
          23  +
    /// <p>DisableSchema: If you choose this option, the system ignores all inventory data for the specified version, and any earlier versions. To enable this schema again, you must call the <code>PutInventory</code> operation for a version greater than the disabled version.</p>
          24  +
    /// <p>DeleteSchema: This option deletes the specified custom type from the Inventory service. You can recreate the schema later, if you want.</p>
          25  +
    pub fn schema_delete_option(&self) -> ::std::option::Option<&crate::types::InventorySchemaDeleteOption> {
          26  +
        self.schema_delete_option.as_ref()
          27  +
    }
          28  +
    /// <p>Use this option to view a summary of the deletion request without deleting any data or the data type. This option is useful when you only want to understand what will be deleted. Once you validate that the data to be deleted is what you intend to delete, you can run the same command without specifying the <code>DryRun</code> option.</p>
          29  +
    pub fn dry_run(&self) -> ::std::option::Option<bool> {
          30  +
        self.dry_run
          31  +
    }
          32  +
    /// <p>User-provided idempotency token.</p>
          33  +
    pub fn client_token(&self) -> ::std::option::Option<&str> {
          34  +
        self.client_token.as_deref()
          35  +
    }
          36  +
}
          37  +
static DELETEINVENTORYINPUT_MEMBER_TYPE_NAME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          38  +
    ::aws_smithy_schema::ShapeId::from_parts(
          39  +
        "com.amazonaws.ssm.synthetic#DeleteInventoryInput$TypeName",
          40  +
        "com.amazonaws.ssm.synthetic",
          41  +
        "DeleteInventoryInput",
          42  +
    ),
          43  +
    ::aws_smithy_schema::ShapeType::String,
          44  +
    "TypeName",
          45  +
    0,
          46  +
);
          47  +
static DELETEINVENTORYINPUT_MEMBER_SCHEMA_DELETE_OPTION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          48  +
    ::aws_smithy_schema::ShapeId::from_parts(
          49  +
        "com.amazonaws.ssm.synthetic#DeleteInventoryInput$SchemaDeleteOption",
          50  +
        "com.amazonaws.ssm.synthetic",
          51  +
        "DeleteInventoryInput",
          52  +
    ),
          53  +
    ::aws_smithy_schema::ShapeType::String,
          54  +
    "SchemaDeleteOption",
          55  +
    1,
          56  +
);
          57  +
static DELETEINVENTORYINPUT_MEMBER_DRY_RUN: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          58  +
    ::aws_smithy_schema::ShapeId::from_parts(
          59  +
        "com.amazonaws.ssm.synthetic#DeleteInventoryInput$DryRun",
          60  +
        "com.amazonaws.ssm.synthetic",
          61  +
        "DeleteInventoryInput",
          62  +
    ),
          63  +
    ::aws_smithy_schema::ShapeType::Boolean,
          64  +
    "DryRun",
          65  +
    2,
          66  +
);
          67  +
static DELETEINVENTORYINPUT_MEMBER_CLIENT_TOKEN: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          68  +
    ::aws_smithy_schema::ShapeId::from_parts(
          69  +
        "com.amazonaws.ssm.synthetic#DeleteInventoryInput$ClientToken",
          70  +
        "com.amazonaws.ssm.synthetic",
          71  +
        "DeleteInventoryInput",
          72  +
    ),
          73  +
    ::aws_smithy_schema::ShapeType::String,
          74  +
    "ClientToken",
          75  +
    3,
          76  +
);
          77  +
static DELETEINVENTORYINPUT_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
          78  +
    ::aws_smithy_schema::ShapeId::from_parts(
          79  +
        "com.amazonaws.ssm.synthetic#DeleteInventoryInput",
          80  +
        "com.amazonaws.ssm.synthetic",
          81  +
        "DeleteInventoryInput",
          82  +
    ),
          83  +
    ::aws_smithy_schema::ShapeType::Structure,
          84  +
    &[
          85  +
        &DELETEINVENTORYINPUT_MEMBER_TYPE_NAME,
          86  +
        &DELETEINVENTORYINPUT_MEMBER_SCHEMA_DELETE_OPTION,
          87  +
        &DELETEINVENTORYINPUT_MEMBER_DRY_RUN,
          88  +
        &DELETEINVENTORYINPUT_MEMBER_CLIENT_TOKEN,
          89  +
    ],
          90  +
)
          91  +
.with_payload_hint(::aws_smithy_schema::PayloadHint::NoStructPayload)
          92  +
.with_original_name("DeleteInventoryRequest");
          93  +
impl DeleteInventoryInput {
          94  +
    /// The schema for this shape.
          95  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &DELETEINVENTORYINPUT_SCHEMA;
          96  +
}
          97  +
impl ::aws_smithy_schema::serde::SerializableStruct for DeleteInventoryInput {
          98  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
          99  +
    fn serialize_members(
         100  +
        &self,
         101  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
         102  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
         103  +
        if let Some(ref val) = self.type_name {
         104  +
            ser.write_string(&DELETEINVENTORYINPUT_MEMBER_TYPE_NAME, val)?;
         105  +
        }
         106  +
        if let Some(ref val) = self.schema_delete_option {
         107  +
            ser.write_string(&DELETEINVENTORYINPUT_MEMBER_SCHEMA_DELETE_OPTION, val.as_str())?;
         108  +
        }
         109  +
        if let Some(ref val) = self.dry_run {
         110  +
            ser.write_boolean(&DELETEINVENTORYINPUT_MEMBER_DRY_RUN, *val)?;
         111  +
        }
         112  +
        if let Some(ref val) = self.client_token {
         113  +
            ser.write_string(&DELETEINVENTORYINPUT_MEMBER_CLIENT_TOKEN, val)?;
         114  +
        }
         115  +
        Ok(())
         116  +
    }
         117  +
}
         118  +
impl DeleteInventoryInput {
         119  +
    /// Deserializes this structure from a [`ShapeDeserializer`].
         120  +
    pub fn deserialize(
         121  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         122  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         123  +
        #[allow(unused_variables, unused_mut)]
         124  +
        let mut builder = Self::builder();
         125  +
        #[allow(
         126  +
            unused_variables,
         127  +
            unreachable_code,
         128  +
            clippy::single_match,
         129  +
            clippy::match_single_binding,
         130  +
            clippy::diverging_sub_expression
         131  +
        )]
         132  +
        deserializer.read_struct(&DELETEINVENTORYINPUT_SCHEMA, &mut |member, deser| {
         133  +
            match member.member_index() {
         134  +
                Some(0) => {
         135  +
                    if deser.is_null() {
         136  +
                        deser.read_null()?;
         137  +
                    } else {
         138  +
                        builder.type_name = Some(deser.read_string(member)?);
         139  +
                    }
         140  +
                }
         141  +
                Some(1) => {
         142  +
                    if deser.is_null() {
         143  +
                        deser.read_null()?;
         144  +
                    } else {
         145  +
                        builder.schema_delete_option = Some(crate::types::InventorySchemaDeleteOption::from(deser.read_string(member)?.as_str()));
         146  +
                    }
         147  +
                }
         148  +
                Some(2) => {
         149  +
                    if deser.is_null() {
         150  +
                        deser.read_null()?;
         151  +
                    } else {
         152  +
                        builder.dry_run = Some(deser.read_boolean(member)?);
         153  +
                    }
         154  +
                }
         155  +
                Some(3) => {
         156  +
                    if deser.is_null() {
         157  +
                        deser.read_null()?;
         158  +
                    } else {
         159  +
                        builder.client_token = Some(deser.read_string(member)?);
         160  +
                    }
         161  +
                }
         162  +
                _ => {}
         163  +
            }
         164  +
            Ok(())
         165  +
        })?;
         166  +
        builder.type_name = builder.type_name.or(Some(String::new()));
         167  +
        builder.build().map_err(|e| aws_smithy_schema::serde::SerdeError::custom(e.to_string()))
         168  +
    }
         169  +
}
         170  +
impl DeleteInventoryInput {
         171  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         172  +
    pub fn deserialize_with_response(
         173  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         174  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         175  +
        _status: u16,
         176  +
        _body: &[u8],
         177  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         178  +
        Self::deserialize(deserializer)
         179  +
    }
         180  +
}
         181  +
impl DeleteInventoryInput {
         182  +
    /// Creates a new builder-style object to manufacture [`DeleteInventoryInput`](crate::operation::delete_inventory::DeleteInventoryInput).
         183  +
    pub fn builder() -> crate::operation::delete_inventory::builders::DeleteInventoryInputBuilder {
         184  +
        crate::operation::delete_inventory::builders::DeleteInventoryInputBuilder::default()
         185  +
    }
         186  +
}
         187  +
         188  +
/// A builder for [`DeleteInventoryInput`](crate::operation::delete_inventory::DeleteInventoryInput).
         189  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         190  +
#[non_exhaustive]
         191  +
pub struct DeleteInventoryInputBuilder {
         192  +
    pub(crate) type_name: ::std::option::Option<::std::string::String>,
         193  +
    pub(crate) schema_delete_option: ::std::option::Option<crate::types::InventorySchemaDeleteOption>,
         194  +
    pub(crate) dry_run: ::std::option::Option<bool>,
         195  +
    pub(crate) client_token: ::std::option::Option<::std::string::String>,
         196  +
}
         197  +
impl DeleteInventoryInputBuilder {
         198  +
    /// <p>The name of the custom inventory type for which you want to delete either all previously collected data or the inventory type itself.</p>
         199  +
    /// This field is required.
         200  +
    pub fn type_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         201  +
        self.type_name = ::std::option::Option::Some(input.into());
         202  +
        self
         203  +
    }
         204  +
    /// <p>The name of the custom inventory type for which you want to delete either all previously collected data or the inventory type itself.</p>
         205  +
    pub fn set_type_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         206  +
        self.type_name = input;
         207  +
        self
         208  +
    }
         209  +
    /// <p>The name of the custom inventory type for which you want to delete either all previously collected data or the inventory type itself.</p>
         210  +
    pub fn get_type_name(&self) -> &::std::option::Option<::std::string::String> {
         211  +
        &self.type_name
         212  +
    }
         213  +
    /// <p>Use the <code>SchemaDeleteOption</code> to delete a custom inventory type (schema). If you don't choose this option, the system only deletes existing inventory data associated with the custom inventory type. Choose one of the following options:</p>
         214  +
    /// <p>DisableSchema: If you choose this option, the system ignores all inventory data for the specified version, and any earlier versions. To enable this schema again, you must call the <code>PutInventory</code> operation for a version greater than the disabled version.</p>
         215  +
    /// <p>DeleteSchema: This option deletes the specified custom type from the Inventory service. You can recreate the schema later, if you want.</p>
         216  +
    pub fn schema_delete_option(mut self, input: crate::types::InventorySchemaDeleteOption) -> Self {
         217  +
        self.schema_delete_option = ::std::option::Option::Some(input);
         218  +
        self
         219  +
    }
         220  +
    /// <p>Use the <code>SchemaDeleteOption</code> to delete a custom inventory type (schema). If you don't choose this option, the system only deletes existing inventory data associated with the custom inventory type. Choose one of the following options:</p>
         221  +
    /// <p>DisableSchema: If you choose this option, the system ignores all inventory data for the specified version, and any earlier versions. To enable this schema again, you must call the <code>PutInventory</code> operation for a version greater than the disabled version.</p>
         222  +
    /// <p>DeleteSchema: This option deletes the specified custom type from the Inventory service. You can recreate the schema later, if you want.</p>
         223  +
    pub fn set_schema_delete_option(mut self, input: ::std::option::Option<crate::types::InventorySchemaDeleteOption>) -> Self {
         224  +
        self.schema_delete_option = input;
         225  +
        self
         226  +
    }
         227  +
    /// <p>Use the <code>SchemaDeleteOption</code> to delete a custom inventory type (schema). If you don't choose this option, the system only deletes existing inventory data associated with the custom inventory type. Choose one of the following options:</p>
         228  +
    /// <p>DisableSchema: If you choose this option, the system ignores all inventory data for the specified version, and any earlier versions. To enable this schema again, you must call the <code>PutInventory</code> operation for a version greater than the disabled version.</p>
         229  +
    /// <p>DeleteSchema: This option deletes the specified custom type from the Inventory service. You can recreate the schema later, if you want.</p>
         230  +
    pub fn get_schema_delete_option(&self) -> &::std::option::Option<crate::types::InventorySchemaDeleteOption> {
         231  +
        &self.schema_delete_option
         232  +
    }
         233  +
    /// <p>Use this option to view a summary of the deletion request without deleting any data or the data type. This option is useful when you only want to understand what will be deleted. Once you validate that the data to be deleted is what you intend to delete, you can run the same command without specifying the <code>DryRun</code> option.</p>
         234  +
    pub fn dry_run(mut self, input: bool) -> Self {
         235  +
        self.dry_run = ::std::option::Option::Some(input);
         236  +
        self
         237  +
    }
         238  +
    /// <p>Use this option to view a summary of the deletion request without deleting any data or the data type. This option is useful when you only want to understand what will be deleted. Once you validate that the data to be deleted is what you intend to delete, you can run the same command without specifying the <code>DryRun</code> option.</p>
         239  +
    pub fn set_dry_run(mut self, input: ::std::option::Option<bool>) -> Self {
         240  +
        self.dry_run = input;
         241  +
        self
         242  +
    }
         243  +
    /// <p>Use this option to view a summary of the deletion request without deleting any data or the data type. This option is useful when you only want to understand what will be deleted. Once you validate that the data to be deleted is what you intend to delete, you can run the same command without specifying the <code>DryRun</code> option.</p>
         244  +
    pub fn get_dry_run(&self) -> &::std::option::Option<bool> {
         245  +
        &self.dry_run
         246  +
    }
         247  +
    /// <p>User-provided idempotency token.</p>
         248  +
    pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         249  +
        self.client_token = ::std::option::Option::Some(input.into());
         250  +
        self
         251  +
    }
         252  +
    /// <p>User-provided idempotency token.</p>
         253  +
    pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         254  +
        self.client_token = input;
         255  +
        self
         256  +
    }
         257  +
    /// <p>User-provided idempotency token.</p>
         258  +
    pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
         259  +
        &self.client_token
         260  +
    }
         261  +
    /// Consumes the builder and constructs a [`DeleteInventoryInput`](crate::operation::delete_inventory::DeleteInventoryInput).
         262  +
    pub fn build(
         263  +
        self,
         264  +
    ) -> ::std::result::Result<crate::operation::delete_inventory::DeleteInventoryInput, ::aws_smithy_types::error::operation::BuildError> {
         265  +
        ::std::result::Result::Ok(crate::operation::delete_inventory::DeleteInventoryInput {
         266  +
            type_name: self.type_name,
         267  +
            schema_delete_option: self.schema_delete_option,
         268  +
            dry_run: self.dry_run,
         269  +
            client_token: self.client_token,
         270  +
        })
         271  +
    }
         272  +
}

tmp-codegen-diff/aws-sdk/sdk/ssm/src/operation/delete_inventory/_delete_inventory_output.rs

@@ -0,1 +0,278 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
#[allow(missing_docs)] // documentation missing in model
           3  +
#[non_exhaustive]
           4  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
           5  +
pub struct DeleteInventoryOutput {
           6  +
    /// <p>Every <code>DeleteInventory</code> operation is assigned a unique ID. This option returns a unique ID. You can use this ID to query the status of a delete operation. This option is useful for ensuring that a delete operation has completed before you begin other operations.</p>
           7  +
    pub deletion_id: ::std::option::Option<::std::string::String>,
           8  +
    /// <p>The name of the inventory data type specified in the request.</p>
           9  +
    pub type_name: ::std::option::Option<::std::string::String>,
          10  +
    /// <p>A summary of the delete operation. For more information about this summary, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/inventory-custom.html#delete-custom-inventory-summary">Deleting custom inventory</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
          11  +
    pub deletion_summary: ::std::option::Option<crate::types::InventoryDeletionSummary>,
          12  +
    _request_id: Option<String>,
          13  +
}
          14  +
impl DeleteInventoryOutput {
          15  +
    /// <p>Every <code>DeleteInventory</code> operation is assigned a unique ID. This option returns a unique ID. You can use this ID to query the status of a delete operation. This option is useful for ensuring that a delete operation has completed before you begin other operations.</p>
          16  +
    pub fn deletion_id(&self) -> ::std::option::Option<&str> {
          17  +
        self.deletion_id.as_deref()
          18  +
    }
          19  +
    /// <p>The name of the inventory data type specified in the request.</p>
          20  +
    pub fn type_name(&self) -> ::std::option::Option<&str> {
          21  +
        self.type_name.as_deref()
          22  +
    }
          23  +
    /// <p>A summary of the delete operation. For more information about this summary, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/inventory-custom.html#delete-custom-inventory-summary">Deleting custom inventory</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
          24  +
    pub fn deletion_summary(&self) -> ::std::option::Option<&crate::types::InventoryDeletionSummary> {
          25  +
        self.deletion_summary.as_ref()
          26  +
    }
          27  +
}
          28  +
static DELETEINVENTORYOUTPUT_MEMBER_DELETION_ID: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          29  +
    ::aws_smithy_schema::ShapeId::from_parts(
          30  +
        "com.amazonaws.ssm.synthetic#DeleteInventoryOutput$DeletionId",
          31  +
        "com.amazonaws.ssm.synthetic",
          32  +
        "DeleteInventoryOutput",
          33  +
    ),
          34  +
    ::aws_smithy_schema::ShapeType::String,
          35  +
    "DeletionId",
          36  +
    0,
          37  +
);
          38  +
static DELETEINVENTORYOUTPUT_MEMBER_TYPE_NAME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          39  +
    ::aws_smithy_schema::ShapeId::from_parts(
          40  +
        "com.amazonaws.ssm.synthetic#DeleteInventoryOutput$TypeName",
          41  +
        "com.amazonaws.ssm.synthetic",
          42  +
        "DeleteInventoryOutput",
          43  +
    ),
          44  +
    ::aws_smithy_schema::ShapeType::String,
          45  +
    "TypeName",
          46  +
    1,
          47  +
);
          48  +
static DELETEINVENTORYOUTPUT_MEMBER_DELETION_SUMMARY: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          49  +
    ::aws_smithy_schema::ShapeId::from_parts(
          50  +
        "com.amazonaws.ssm.synthetic#DeleteInventoryOutput$DeletionSummary",
          51  +
        "com.amazonaws.ssm.synthetic",
          52  +
        "DeleteInventoryOutput",
          53  +
    ),
          54  +
    ::aws_smithy_schema::ShapeType::Structure,
          55  +
    "DeletionSummary",
          56  +
    2,
          57  +
);
          58  +
static DELETEINVENTORYOUTPUT_MEMBER__REQUEST_ID: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          59  +
    ::aws_smithy_schema::ShapeId::from_parts("synthetic#request_id", "synthetic", "request_id"),
          60  +
    ::aws_smithy_schema::ShapeType::String,
          61  +
    "request_id",
          62  +
    3,
          63  +
)
          64  +
.with_http_header("x-amzn-requestid");
          65  +
static DELETEINVENTORYOUTPUT_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
          66  +
    ::aws_smithy_schema::ShapeId::from_parts(
          67  +
        "com.amazonaws.ssm.synthetic#DeleteInventoryOutput",
          68  +
        "com.amazonaws.ssm.synthetic",
          69  +
        "DeleteInventoryOutput",
          70  +
    ),
          71  +
    ::aws_smithy_schema::ShapeType::Structure,
          72  +
    &[
          73  +
        &DELETEINVENTORYOUTPUT_MEMBER_DELETION_ID,
          74  +
        &DELETEINVENTORYOUTPUT_MEMBER_TYPE_NAME,
          75  +
        &DELETEINVENTORYOUTPUT_MEMBER_DELETION_SUMMARY,
          76  +
        &DELETEINVENTORYOUTPUT_MEMBER__REQUEST_ID,
          77  +
    ],
          78  +
)
          79  +
.with_original_name("DeleteInventoryResult");
          80  +
impl DeleteInventoryOutput {
          81  +
    /// The schema for this shape.
          82  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &DELETEINVENTORYOUTPUT_SCHEMA;
          83  +
}
          84  +
impl ::aws_smithy_schema::serde::SerializableStruct for DeleteInventoryOutput {
          85  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
          86  +
    fn serialize_members(
          87  +
        &self,
          88  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
          89  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
          90  +
        if let Some(ref val) = self.deletion_id {
          91  +
            ser.write_string(&DELETEINVENTORYOUTPUT_MEMBER_DELETION_ID, val)?;
          92  +
        }
          93  +
        if let Some(ref val) = self.type_name {
          94  +
            ser.write_string(&DELETEINVENTORYOUTPUT_MEMBER_TYPE_NAME, val)?;
          95  +
        }
          96  +
        if let Some(ref val) = self.deletion_summary {
          97  +
            ser.write_struct(&DELETEINVENTORYOUTPUT_MEMBER_DELETION_SUMMARY, val)?;
          98  +
        }
          99  +
        Ok(())
         100  +
    }
         101  +
}
         102  +
impl DeleteInventoryOutput {
         103  +
    /// Deserializes this structure from a [`ShapeDeserializer`].
         104  +
    pub fn deserialize(
         105  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         106  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         107  +
        #[allow(unused_variables, unused_mut)]
         108  +
        let mut builder = Self::builder();
         109  +
        #[allow(
         110  +
            unused_variables,
         111  +
            unreachable_code,
         112  +
            clippy::single_match,
         113  +
            clippy::match_single_binding,
         114  +
            clippy::diverging_sub_expression
         115  +
        )]
         116  +
        deserializer.read_struct(&DELETEINVENTORYOUTPUT_SCHEMA, &mut |member, deser| {
         117  +
            match member.member_index() {
         118  +
                Some(0) => {
         119  +
                    if deser.is_null() {
         120  +
                        deser.read_null()?;
         121  +
                    } else {
         122  +
                        builder.deletion_id = Some(deser.read_string(member)?);
         123  +
                    }
         124  +
                }
         125  +
                Some(1) => {
         126  +
                    if deser.is_null() {
         127  +
                        deser.read_null()?;
         128  +
                    } else {
         129  +
                        builder.type_name = Some(deser.read_string(member)?);
         130  +
                    }
         131  +
                }
         132  +
                Some(2) => {
         133  +
                    if deser.is_null() {
         134  +
                        deser.read_null()?;
         135  +
                    } else {
         136  +
                        builder.deletion_summary = Some(crate::types::InventoryDeletionSummary::deserialize(deser)?);
         137  +
                    }
         138  +
                }
         139  +
                Some(3) => {
         140  +
                    builder._request_id = Some(deser.read_string(member)?);
         141  +
                }
         142  +
                _ => {}
         143  +
            }
         144  +
            Ok(())
         145  +
        })?;
         146  +
        Ok(builder.build())
         147  +
    }
         148  +
}
         149  +
impl DeleteInventoryOutput {
         150  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
         151  +
    /// Header-bound members are read directly from headers, avoiding runtime
         152  +
    /// member iteration overhead. Body members are read via the deserializer.
         153  +
    pub fn deserialize_with_response(
         154  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         155  +
        headers: &::aws_smithy_runtime_api::http::Headers,
         156  +
        _status: u16,
         157  +
        _body: &[u8],
         158  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         159  +
        #[allow(unused_variables, unused_mut)]
         160  +
        let mut builder = Self::builder();
         161  +
        if let Some(val) = headers.get("x-amzn-requestid") {
         162  +
            builder._request_id = Some(val.to_string());
         163  +
        }
         164  +
         165  +
        #[allow(
         166  +
            unused_variables,
         167  +
            unreachable_code,
         168  +
            clippy::single_match,
         169  +
            clippy::match_single_binding,
         170  +
            clippy::diverging_sub_expression
         171  +
        )]
         172  +
        deserializer.read_struct(&DELETEINVENTORYOUTPUT_SCHEMA, &mut |member, deser| {
         173  +
            match member.member_index() {
         174  +
                Some(0) => {
         175  +
                    builder.deletion_id = Some(deser.read_string(member)?);
         176  +
                }
         177  +
                Some(1) => {
         178  +
                    builder.type_name = Some(deser.read_string(member)?);
         179  +
                }
         180  +
                Some(2) => {
         181  +
                    builder.deletion_summary = Some(crate::types::InventoryDeletionSummary::deserialize(deser)?);
         182  +
                }
         183  +
                _ => {}
         184  +
            }
         185  +
            Ok(())
         186  +
        })?;
         187  +
        Ok(builder.build())
         188  +
    }
         189  +
}
         190  +
impl ::aws_types::request_id::RequestId for DeleteInventoryOutput {
         191  +
    fn request_id(&self) -> Option<&str> {
         192  +
        self._request_id.as_deref()
         193  +
    }
         194  +
}
         195  +
impl DeleteInventoryOutput {
         196  +
    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
         197  +
        self._request_id = request_id;
         198  +
        self
         199  +
    }
         200  +
}
         201  +
impl DeleteInventoryOutput {
         202  +
    /// Creates a new builder-style object to manufacture [`DeleteInventoryOutput`](crate::operation::delete_inventory::DeleteInventoryOutput).
         203  +
    pub fn builder() -> crate::operation::delete_inventory::builders::DeleteInventoryOutputBuilder {
         204  +
        crate::operation::delete_inventory::builders::DeleteInventoryOutputBuilder::default()
         205  +
    }
         206  +
}
         207  +
         208  +
/// A builder for [`DeleteInventoryOutput`](crate::operation::delete_inventory::DeleteInventoryOutput).
         209  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         210  +
#[non_exhaustive]
         211  +
pub struct DeleteInventoryOutputBuilder {
         212  +
    pub(crate) deletion_id: ::std::option::Option<::std::string::String>,
         213  +
    pub(crate) type_name: ::std::option::Option<::std::string::String>,
         214  +
    pub(crate) deletion_summary: ::std::option::Option<crate::types::InventoryDeletionSummary>,
         215  +
    _request_id: Option<String>,
         216  +
}
         217  +
impl DeleteInventoryOutputBuilder {
         218  +
    /// <p>Every <code>DeleteInventory</code> operation is assigned a unique ID. This option returns a unique ID. You can use this ID to query the status of a delete operation. This option is useful for ensuring that a delete operation has completed before you begin other operations.</p>
         219  +
    pub fn deletion_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         220  +
        self.deletion_id = ::std::option::Option::Some(input.into());
         221  +
        self
         222  +
    }
         223  +
    /// <p>Every <code>DeleteInventory</code> operation is assigned a unique ID. This option returns a unique ID. You can use this ID to query the status of a delete operation. This option is useful for ensuring that a delete operation has completed before you begin other operations.</p>
         224  +
    pub fn set_deletion_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         225  +
        self.deletion_id = input;
         226  +
        self
         227  +
    }
         228  +
    /// <p>Every <code>DeleteInventory</code> operation is assigned a unique ID. This option returns a unique ID. You can use this ID to query the status of a delete operation. This option is useful for ensuring that a delete operation has completed before you begin other operations.</p>
         229  +
    pub fn get_deletion_id(&self) -> &::std::option::Option<::std::string::String> {
         230  +
        &self.deletion_id
         231  +
    }
         232  +
    /// <p>The name of the inventory data type specified in the request.</p>
         233  +
    pub fn type_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         234  +
        self.type_name = ::std::option::Option::Some(input.into());
         235  +
        self
         236  +
    }
         237  +
    /// <p>The name of the inventory data type specified in the request.</p>
         238  +
    pub fn set_type_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         239  +
        self.type_name = input;
         240  +
        self
         241  +
    }
         242  +
    /// <p>The name of the inventory data type specified in the request.</p>
         243  +
    pub fn get_type_name(&self) -> &::std::option::Option<::std::string::String> {
         244  +
        &self.type_name
         245  +
    }
         246  +
    /// <p>A summary of the delete operation. For more information about this summary, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/inventory-custom.html#delete-custom-inventory-summary">Deleting custom inventory</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
         247  +
    pub fn deletion_summary(mut self, input: crate::types::InventoryDeletionSummary) -> Self {
         248  +
        self.deletion_summary = ::std::option::Option::Some(input);
         249  +
        self
         250  +
    }
         251  +
    /// <p>A summary of the delete operation. For more information about this summary, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/inventory-custom.html#delete-custom-inventory-summary">Deleting custom inventory</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
         252  +
    pub fn set_deletion_summary(mut self, input: ::std::option::Option<crate::types::InventoryDeletionSummary>) -> Self {
         253  +
        self.deletion_summary = input;
         254  +
        self
         255  +
    }
         256  +
    /// <p>A summary of the delete operation. For more information about this summary, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/inventory-custom.html#delete-custom-inventory-summary">Deleting custom inventory</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
         257  +
    pub fn get_deletion_summary(&self) -> &::std::option::Option<crate::types::InventoryDeletionSummary> {
         258  +
        &self.deletion_summary
         259  +
    }
         260  +
    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
         261  +
        self._request_id = Some(request_id.into());
         262  +
        self
         263  +
    }
         264  +
         265  +
    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
         266  +
        self._request_id = request_id;
         267  +
        self
         268  +
    }
         269  +
    /// Consumes the builder and constructs a [`DeleteInventoryOutput`](crate::operation::delete_inventory::DeleteInventoryOutput).
         270  +
    pub fn build(self) -> crate::operation::delete_inventory::DeleteInventoryOutput {
         271  +
        crate::operation::delete_inventory::DeleteInventoryOutput {
         272  +
            deletion_id: self.deletion_id,
         273  +
            type_name: self.type_name,
         274  +
            deletion_summary: self.deletion_summary,
         275  +
            _request_id: self._request_id,
         276  +
        }
         277  +
    }
         278  +
}

tmp-codegen-diff/aws-sdk/sdk/ssm/src/operation/delete_inventory/builders.rs

@@ -0,1 +0,173 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
pub use crate::operation::delete_inventory::_delete_inventory_input::DeleteInventoryInputBuilder;
           3  +
           4  +
pub use crate::operation::delete_inventory::_delete_inventory_output::DeleteInventoryOutputBuilder;
           5  +
           6  +
impl crate::operation::delete_inventory::builders::DeleteInventoryInputBuilder {
           7  +
    /// Sends a request with this input using the given client.
           8  +
    pub async fn send_with(
           9  +
        self,
          10  +
        client: &crate::Client,
          11  +
    ) -> ::std::result::Result<
          12  +
        crate::operation::delete_inventory::DeleteInventoryOutput,
          13  +
        ::aws_smithy_runtime_api::client::result::SdkError<
          14  +
            crate::operation::delete_inventory::DeleteInventoryError,
          15  +
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
          16  +
        >,
          17  +
    > {
          18  +
        let mut fluent_builder = client.delete_inventory();
          19  +
        fluent_builder.inner = self;
          20  +
        fluent_builder.send().await
          21  +
    }
          22  +
}
          23  +
/// Fluent builder constructing a request to `DeleteInventory`.
          24  +
///
          25  +
/// <p>Delete a custom inventory type or the data associated with a custom Inventory type. Deleting a custom inventory type is also referred to as deleting a custom inventory schema.</p>
          26  +
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
          27  +
pub struct DeleteInventoryFluentBuilder {
          28  +
    handle: ::std::sync::Arc<crate::client::Handle>,
          29  +
    inner: crate::operation::delete_inventory::builders::DeleteInventoryInputBuilder,
          30  +
    config_override: ::std::option::Option<crate::config::Builder>,
          31  +
}
          32  +
impl
          33  +
    crate::client::customize::internal::CustomizableSend<
          34  +
        crate::operation::delete_inventory::DeleteInventoryOutput,
          35  +
        crate::operation::delete_inventory::DeleteInventoryError,
          36  +
    > for DeleteInventoryFluentBuilder
          37  +
{
          38  +
    fn send(
          39  +
        self,
          40  +
        config_override: crate::config::Builder,
          41  +
    ) -> crate::client::customize::internal::BoxFuture<
          42  +
        crate::client::customize::internal::SendResult<
          43  +
            crate::operation::delete_inventory::DeleteInventoryOutput,
          44  +
            crate::operation::delete_inventory::DeleteInventoryError,
          45  +
        >,
          46  +
    > {
          47  +
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
          48  +
    }
          49  +
}
          50  +
impl DeleteInventoryFluentBuilder {
          51  +
    /// Creates a new `DeleteInventoryFluentBuilder`.
          52  +
    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
          53  +
        Self {
          54  +
            handle,
          55  +
            inner: ::std::default::Default::default(),
          56  +
            config_override: ::std::option::Option::None,
          57  +
        }
          58  +
    }
          59  +
    /// Access the DeleteInventory as a reference.
          60  +
    pub fn as_input(&self) -> &crate::operation::delete_inventory::builders::DeleteInventoryInputBuilder {
          61  +
        &self.inner
          62  +
    }
          63  +
    /// Sends the request and returns the response.
          64  +
    ///
          65  +
    /// If an error occurs, an `SdkError` will be returned with additional details that
          66  +
    /// can be matched against.
          67  +
    ///
          68  +
    /// By default, any retryable failures will be retried twice. Retry behavior
          69  +
    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
          70  +
    /// set when configuring the client.
          71  +
    pub async fn send(
          72  +
        self,
          73  +
    ) -> ::std::result::Result<
          74  +
        crate::operation::delete_inventory::DeleteInventoryOutput,
          75  +
        ::aws_smithy_runtime_api::client::result::SdkError<
          76  +
            crate::operation::delete_inventory::DeleteInventoryError,
          77  +
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
          78  +
        >,
          79  +
    > {
          80  +
        let input = self
          81  +
            .inner
          82  +
            .build()
          83  +
            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
          84  +
        let runtime_plugins = crate::operation::delete_inventory::DeleteInventory::operation_runtime_plugins(
          85  +
            self.handle.runtime_plugins.clone(),
          86  +
            &self.handle.conf,
          87  +
            self.config_override,
          88  +
        );
          89  +
        crate::operation::delete_inventory::DeleteInventory::orchestrate(&runtime_plugins, input).await
          90  +
    }
          91  +
          92  +
    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
          93  +
    pub fn customize(
          94  +
        self,
          95  +
    ) -> crate::client::customize::CustomizableOperation<
          96  +
        crate::operation::delete_inventory::DeleteInventoryOutput,
          97  +
        crate::operation::delete_inventory::DeleteInventoryError,
          98  +
        Self,
          99  +
    > {
         100  +
        crate::client::customize::CustomizableOperation::new(self)
         101  +
    }
         102  +
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
         103  +
        self.set_config_override(::std::option::Option::Some(config_override.into()));
         104  +
        self
         105  +
    }
         106  +
         107  +
    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
         108  +
        self.config_override = config_override;
         109  +
        self
         110  +
    }
         111  +
    /// <p>The name of the custom inventory type for which you want to delete either all previously collected data or the inventory type itself.</p>
         112  +
    pub fn type_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         113  +
        self.inner = self.inner.type_name(input.into());
         114  +
        self
         115  +
    }
         116  +
    /// <p>The name of the custom inventory type for which you want to delete either all previously collected data or the inventory type itself.</p>
         117  +
    pub fn set_type_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         118  +
        self.inner = self.inner.set_type_name(input);
         119  +
        self
         120  +
    }
         121  +
    /// <p>The name of the custom inventory type for which you want to delete either all previously collected data or the inventory type itself.</p>
         122  +
    pub fn get_type_name(&self) -> &::std::option::Option<::std::string::String> {
         123  +
        self.inner.get_type_name()
         124  +
    }
         125  +
    /// <p>Use the <code>SchemaDeleteOption</code> to delete a custom inventory type (schema). If you don't choose this option, the system only deletes existing inventory data associated with the custom inventory type. Choose one of the following options:</p>
         126  +
    /// <p>DisableSchema: If you choose this option, the system ignores all inventory data for the specified version, and any earlier versions. To enable this schema again, you must call the <code>PutInventory</code> operation for a version greater than the disabled version.</p>
         127  +
    /// <p>DeleteSchema: This option deletes the specified custom type from the Inventory service. You can recreate the schema later, if you want.</p>
         128  +
    pub fn schema_delete_option(mut self, input: crate::types::InventorySchemaDeleteOption) -> Self {
         129  +
        self.inner = self.inner.schema_delete_option(input);
         130  +
        self
         131  +
    }
         132  +
    /// <p>Use the <code>SchemaDeleteOption</code> to delete a custom inventory type (schema). If you don't choose this option, the system only deletes existing inventory data associated with the custom inventory type. Choose one of the following options:</p>
         133  +
    /// <p>DisableSchema: If you choose this option, the system ignores all inventory data for the specified version, and any earlier versions. To enable this schema again, you must call the <code>PutInventory</code> operation for a version greater than the disabled version.</p>
         134  +
    /// <p>DeleteSchema: This option deletes the specified custom type from the Inventory service. You can recreate the schema later, if you want.</p>
         135  +
    pub fn set_schema_delete_option(mut self, input: ::std::option::Option<crate::types::InventorySchemaDeleteOption>) -> Self {
         136  +
        self.inner = self.inner.set_schema_delete_option(input);
         137  +
        self
         138  +
    }
         139  +
    /// <p>Use the <code>SchemaDeleteOption</code> to delete a custom inventory type (schema). If you don't choose this option, the system only deletes existing inventory data associated with the custom inventory type. Choose one of the following options:</p>
         140  +
    /// <p>DisableSchema: If you choose this option, the system ignores all inventory data for the specified version, and any earlier versions. To enable this schema again, you must call the <code>PutInventory</code> operation for a version greater than the disabled version.</p>
         141  +
    /// <p>DeleteSchema: This option deletes the specified custom type from the Inventory service. You can recreate the schema later, if you want.</p>
         142  +
    pub fn get_schema_delete_option(&self) -> &::std::option::Option<crate::types::InventorySchemaDeleteOption> {
         143  +
        self.inner.get_schema_delete_option()
         144  +
    }
         145  +
    /// <p>Use this option to view a summary of the deletion request without deleting any data or the data type. This option is useful when you only want to understand what will be deleted. Once you validate that the data to be deleted is what you intend to delete, you can run the same command without specifying the <code>DryRun</code> option.</p>
         146  +
    pub fn dry_run(mut self, input: bool) -> Self {
         147  +
        self.inner = self.inner.dry_run(input);
         148  +
        self
         149  +
    }
         150  +
    /// <p>Use this option to view a summary of the deletion request without deleting any data or the data type. This option is useful when you only want to understand what will be deleted. Once you validate that the data to be deleted is what you intend to delete, you can run the same command without specifying the <code>DryRun</code> option.</p>
         151  +
    pub fn set_dry_run(mut self, input: ::std::option::Option<bool>) -> Self {
         152  +
        self.inner = self.inner.set_dry_run(input);
         153  +
        self
         154  +
    }
         155  +
    /// <p>Use this option to view a summary of the deletion request without deleting any data or the data type. This option is useful when you only want to understand what will be deleted. Once you validate that the data to be deleted is what you intend to delete, you can run the same command without specifying the <code>DryRun</code> option.</p>
         156  +
    pub fn get_dry_run(&self) -> &::std::option::Option<bool> {
         157  +
        self.inner.get_dry_run()
         158  +
    }
         159  +
    /// <p>User-provided idempotency token.</p>
         160  +
    pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         161  +
        self.inner = self.inner.client_token(input.into());
         162  +
        self
         163  +
    }
         164  +
    /// <p>User-provided idempotency token.</p>
         165  +
    pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         166  +
        self.inner = self.inner.set_client_token(input);
         167  +
        self
         168  +
    }
         169  +
    /// <p>User-provided idempotency token.</p>
         170  +
    pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
         171  +
        self.inner.get_client_token()
         172  +
    }
         173  +
}

tmp-codegen-diff/aws-sdk/sdk/ssm/src/operation/delete_maintenance_window.rs

@@ -0,1 +0,521 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/// Orchestration and serialization glue logic for `DeleteMaintenanceWindow`.
           3  +
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
           4  +
#[non_exhaustive]
           5  +
pub struct DeleteMaintenanceWindow;
           6  +
impl DeleteMaintenanceWindow {
           7  +
    /// Creates a new `DeleteMaintenanceWindow`
           8  +
    pub fn new() -> Self {
           9  +
        Self
          10  +
    }
          11  +
    /// The schema for this operation's input shape.
          12  +
    pub const INPUT_SCHEMA: &'static ::aws_smithy_schema::Schema<'static> =
          13  +
        crate::operation::delete_maintenance_window::DeleteMaintenanceWindowInput::SCHEMA;
          14  +
    /// The schema for this operation's output shape.
          15  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema<'static> =
          16  +
        crate::operation::delete_maintenance_window::DeleteMaintenanceWindowOutput::SCHEMA;
          17  +
    pub(crate) async fn orchestrate(
          18  +
        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
          19  +
        input: crate::operation::delete_maintenance_window::DeleteMaintenanceWindowInput,
          20  +
    ) -> ::std::result::Result<
          21  +
        crate::operation::delete_maintenance_window::DeleteMaintenanceWindowOutput,
          22  +
        ::aws_smithy_runtime_api::client::result::SdkError<
          23  +
            crate::operation::delete_maintenance_window::DeleteMaintenanceWindowError,
          24  +
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
          25  +
        >,
          26  +
    > {
          27  +
        let map_err = |err: ::aws_smithy_runtime_api::client::result::SdkError<
          28  +
            ::aws_smithy_runtime_api::client::interceptors::context::Error,
          29  +
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
          30  +
        >| {
          31  +
            err.map_service_error(|err| {
          32  +
                err.downcast::<crate::operation::delete_maintenance_window::DeleteMaintenanceWindowError>()
          33  +
                    .expect("correct error type")
          34  +
            })
          35  +
        };
          36  +
        let context = Self::orchestrate_with_stop_point(runtime_plugins, input, ::aws_smithy_runtime::client::orchestrator::StopPoint::None)
          37  +
            .await
          38  +
            .map_err(map_err)?;
          39  +
        let output = context.finalize().map_err(map_err)?;
          40  +
        ::std::result::Result::Ok(
          41  +
            output
          42  +
                .downcast::<crate::operation::delete_maintenance_window::DeleteMaintenanceWindowOutput>()
          43  +
                .expect("correct output type"),
          44  +
        )
          45  +
    }
          46  +
          47  +
    pub(crate) async fn orchestrate_with_stop_point(
          48  +
        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
          49  +
        input: crate::operation::delete_maintenance_window::DeleteMaintenanceWindowInput,
          50  +
        stop_point: ::aws_smithy_runtime::client::orchestrator::StopPoint,
          51  +
    ) -> ::std::result::Result<
          52  +
        ::aws_smithy_runtime_api::client::interceptors::context::InterceptorContext,
          53  +
        ::aws_smithy_runtime_api::client::result::SdkError<
          54  +
            ::aws_smithy_runtime_api::client::interceptors::context::Error,
          55  +
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
          56  +
        >,
          57  +
    > {
          58  +
        let input = ::aws_smithy_runtime_api::client::interceptors::context::Input::erase(input);
          59  +
        use ::tracing::Instrument;
          60  +
        ::aws_smithy_runtime::client::orchestrator::invoke_with_stop_point("SSM", "DeleteMaintenanceWindow", input, runtime_plugins, stop_point)
          61  +
            // Create a parent span for the entire operation. Includes a random, internal-only,
          62  +
            // seven-digit ID for the operation orchestration so that it can be correlated in the logs.
          63  +
            .instrument(::tracing::debug_span!(
          64  +
                "SSM.DeleteMaintenanceWindow",
          65  +
                "rpc.service" = "SSM",
          66  +
                "rpc.method" = "DeleteMaintenanceWindow",
          67  +
                "sdk_invocation_id" = ::fastrand::u32(1_000_000..10_000_000),
          68  +
                "rpc.system" = "aws-api",
          69  +
            ))
          70  +
            .await
          71  +
    }
          72  +
          73  +
    pub(crate) fn operation_runtime_plugins(
          74  +
        client_runtime_plugins: ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
          75  +
        client_config: &crate::config::Config,
          76  +
        config_override: ::std::option::Option<crate::config::Builder>,
          77  +
    ) -> ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins {
          78  +
        let mut runtime_plugins = client_runtime_plugins.with_operation_plugin(Self::new());
          79  +
          80  +
        if let ::std::option::Option::Some(config_override) = config_override {
          81  +
            for plugin in config_override.runtime_plugins.iter().cloned() {
          82  +
                runtime_plugins = runtime_plugins.with_operation_plugin(plugin);
          83  +
            }
          84  +
            runtime_plugins = runtime_plugins.with_operation_plugin(crate::config::ConfigOverrideRuntimePlugin::new(
          85  +
                config_override,
          86  +
                client_config.config.clone(),
          87  +
                &client_config.runtime_components,
          88  +
            ));
          89  +
        }
          90  +
        runtime_plugins
          91  +
    }
          92  +
}
          93  +
/// Per-operation error registry. Contains an entry for every modeled
          94  +
/// error this operation can throw.
          95  +
///
          96  +
/// Used by the schema-serde error path as the operation-scoped lookup
          97  +
/// for registry-backed error reification: an error code that does not
          98  +
/// match one of the operation's modeled errors directly is resolved
          99  +
/// against this registry first, then widened to the service-wide error
         100  +
/// registry.
         101  +
pub(crate) mod error_registry {
         102  +
    pub(crate) static REGISTRY: ::std::sync::LazyLock<::aws_smithy_schema::registry::TypeRegistry> = ::std::sync::LazyLock::new(|| {
         103  +
        ::aws_smithy_schema::registry::TypeRegistry::builder()
         104  +
                            .insert_error_shape(
         105  +
                        crate::types::error::InternalServerError::SCHEMA,
         106  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::aws_smithy_types::type_erasure::TypeErasedBox, ::aws_smithy_schema::serde::SerdeError> {
         107  +
                            ::std::result::Result::Ok(::aws_smithy_types::type_erasure::TypeErasedBox::new(crate::types::error::InternalServerError::deserialize(d)?))
         108  +
                        },
         109  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync>, ::aws_smithy_schema::serde::SerdeError> {
         110  +
                            ::std::result::Result::Ok(::std::boxed::Box::new(crate::types::error::InternalServerError::deserialize(d)?))
         111  +
                        },
         112  +
                    )
         113  +
                            .build()
         114  +
    });
         115  +
}
         116  +
impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for DeleteMaintenanceWindow {
         117  +
    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
         118  +
        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("DeleteMaintenanceWindow");
         119  +
         120  +
        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
         121  +
            DeleteMaintenanceWindowRequestSerializer,
         122  +
        ));
         123  +
        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
         124  +
            DeleteMaintenanceWindowResponseDeserializer,
         125  +
        ));
         126  +
         127  +
        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
         128  +
            crate::config::auth::Params::builder()
         129  +
                .operation_name("DeleteMaintenanceWindow")
         130  +
                .build()
         131  +
                .expect("required fields set"),
         132  +
        ));
         133  +
         134  +
        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
         135  +
            "DeleteMaintenanceWindow",
         136  +
            "SSM",
         137  +
        ));
         138  +
        let mut signing_options = ::aws_runtime::auth::SigningOptions::default();
         139  +
        signing_options.double_uri_encode = true;
         140  +
        signing_options.content_sha256_header = false;
         141  +
        signing_options.normalize_uri_path = true;
         142  +
        signing_options.payload_override = None;
         143  +
         144  +
        cfg.store_put(::aws_runtime::auth::SigV4OperationSigningConfig {
         145  +
            signing_options,
         146  +
            ..::std::default::Default::default()
         147  +
        });
         148  +
         149  +
        ::std::option::Option::Some(cfg.freeze())
         150  +
    }
         151  +
         152  +
    fn runtime_components(
         153  +
        &self,
         154  +
        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
         155  +
    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
         156  +
        #[allow(unused_mut)]
         157  +
        let mut rcb = ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("DeleteMaintenanceWindow")
         158  +
            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
         159  +
                DeleteMaintenanceWindowTelemetryInputCaptureInterceptor,
         160  +
            ))
         161  +
            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
         162  +
                ::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default(),
         163  +
            ))
         164  +
            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
         165  +
                DeleteMaintenanceWindowEndpointParamsInterceptor,
         166  +
            ))
         167  +
            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
         168  +
                crate::operation::delete_maintenance_window::DeleteMaintenanceWindowError,
         169  +
            >::new())
         170  +
            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
         171  +
                crate::operation::delete_maintenance_window::DeleteMaintenanceWindowError,
         172  +
            >::new())
         173  +
            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
         174  +
                crate::operation::delete_maintenance_window::DeleteMaintenanceWindowError,
         175  +
            >::new())
         176  +
            .with_retry_classifier(::aws_runtime::service_clock_skew::ServiceClockSkewClassifier::<
         177  +
                crate::operation::delete_maintenance_window::DeleteMaintenanceWindowError,
         178  +
            >::new());
         179  +
         180  +
        ::std::borrow::Cow::Owned(rcb)
         181  +
    }
         182  +
}
         183  +
         184  +
#[derive(Debug)]
         185  +
struct DeleteMaintenanceWindowTelemetryInputCaptureInterceptor;
         186  +
         187  +
#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
         188  +
impl ::aws_smithy_runtime_api::client::interceptors::Intercept for DeleteMaintenanceWindowTelemetryInputCaptureInterceptor {
         189  +
    fn name(&self) -> &'static str {
         190  +
        "DeleteMaintenanceWindowTelemetryInputCaptureInterceptor"
         191  +
    }
         192  +
         193  +
    fn read_before_execution(
         194  +
        &self,
         195  +
        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
         196  +
            '_,
         197  +
            ::aws_smithy_runtime_api::client::interceptors::context::Input,
         198  +
            ::aws_smithy_runtime_api::client::interceptors::context::Output,
         199  +
            ::aws_smithy_runtime_api::client::interceptors::context::Error,
         200  +
        >,
         201  +
        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
         202  +
    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
         203  +
        // Nothing to do unless the customer opted in by naming members to record.
         204  +
        let ::std::option::Option::Some(requested) = cfg
         205  +
            .load::<::aws_smithy_types::telemetry::RequestedTelemetryAttributes>()
         206  +
            .filter(|r| !r.is_empty())
         207  +
        else {
         208  +
            return ::std::result::Result::Ok(());
         209  +
        };
         210  +
         211  +
        let ::std::option::Option::Some(input) = context.input().downcast_ref::<DeleteMaintenanceWindowInput>() else {
         212  +
            // A mismatched input is not this interceptor's concern; skip quietly.
         213  +
            return ::std::result::Result::Ok(());
         214  +
        };
         215  +
         216  +
        let mut captured = ::aws_smithy_types::telemetry::CapturedTelemetryAttributes::default();
         217  +
        if requested.should_capture("WindowId") {
         218  +
            if let ::std::option::Option::Some(value) = input.window_id.as_deref() {
         219  +
                captured.insert("WindowId", value);
         220  +
            }
         221  +
        }
         222  +
         223  +
        cfg.interceptor_state().store_put(captured);
         224  +
        ::std::result::Result::Ok(())
         225  +
    }
         226  +
}
         227  +
#[derive(Debug)]
         228  +
struct DeleteMaintenanceWindowResponseDeserializer;
         229  +
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for DeleteMaintenanceWindowResponseDeserializer {
         230  +
    fn deserialize_nonstreaming_with_config(
         231  +
        &self,
         232  +
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
         233  +
        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
         234  +
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
         235  +
        let (success, status) = (response.status().is_success(), response.status().as_u16());
         236  +
        // Load body and headers BEFORE BeforeParseResponse so customizations
         237  +
        // (e.g., S3's `body_is_error` check that detects errors returned with
         238  +
        // HTTP 200) can inspect them. The legacy non-streaming path also
         239  +
        // loads `body` before firing this hook.
         240  +
        let body = response.body().bytes().expect("body loaded");
         241  +
        let headers = response.headers();
         242  +
        #[allow(unused_mut)]
         243  +
        let mut force_error = false;
         244  +
        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
         245  +
        if !success && status != 200 || force_error {
         246  +
            let protocol = _cfg
         247  +
                .load::<::aws_smithy_schema::protocol::SharedClientProtocol>()
         248  +
                .expect("a SharedClientProtocol is required");
         249  +
            #[allow(unused_mut)]
         250  +
            let mut generic_builder = protocol.parse_error_metadata(response, _cfg).map_err(|e| {
         251  +
                ::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(::aws_smithy_runtime_api::box_error::BoxError::from(e))
         252  +
            })?;
         253  +
            generic_builder = ::aws_types::request_id::apply_request_id(generic_builder, headers);
         254  +
            let generic = generic_builder.build();
         255  +
            let error_code = match generic.code() {
         256  +
                ::std::option::Option::Some(code) => code,
         257  +
                ::std::option::Option::None => {
         258  +
                    return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         259  +
                        ::aws_smithy_runtime_api::box_error::BoxError::from(
         260  +
                            crate::operation::delete_maintenance_window::DeleteMaintenanceWindowError::unhandled(generic),
         261  +
                        ),
         262  +
                    ))
         263  +
                }
         264  +
            };
         265  +
            let _error_message = generic.message().map(|msg| msg.to_owned());
         266  +
            let err = match error_code {
         267  +
                "InternalServerError" => crate::operation::delete_maintenance_window::DeleteMaintenanceWindowError::InternalServerError({
         268  +
                    let mut tmp = match protocol.deserialize_error_response(response, _cfg).and_then(|mut deser| {
         269  +
                        crate::types::error::InternalServerError::deserialize_with_response(
         270  +
                            &mut *deser,
         271  +
                            response.headers(),
         272  +
                            response.status().into(),
         273  +
                            body,
         274  +
                        )
         275  +
                    }) {
         276  +
                        ::std::result::Result::Ok(val) => val,
         277  +
                        ::std::result::Result::Err(e) => {
         278  +
                            return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         279  +
                                ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         280  +
                            ))
         281  +
                        }
         282  +
                    };
         283  +
                    tmp.meta = generic;
         284  +
                    if tmp.message.is_none() {
         285  +
                        tmp.message = _error_message;
         286  +
                    }
         287  +
                    tmp
         288  +
                }),
         289  +
                _ => {
         290  +
                    // Registry-backed, operation-scoped reification of an error whose
         291  +
                    // code this operation does not model directly: the operation's own
         292  +
                    // error registry is consulted first, then the lookup widens to the
         293  +
                    // service-wide error registry. On a hit, the reified error is attached
         294  +
                    // as the source of the returned unhandled error while its metadata
         295  +
                    // (code, message, request id) is preserved; on a miss the generic
         296  +
                    // error is returned unchanged.
         297  +
                    match protocol
         298  +
                        .deserialize_error_response(response, _cfg)
         299  +
                        .ok()
         300  +
                        .and_then(|mut deser| {
         301  +
                            ::aws_smithy_schema::registry::reify_error(
         302  +
                                crate::operation::delete_maintenance_window::error_registry::REGISTRY
         303  +
                                    .or(&crate::error_type_registry::REGISTRY),
         304  +
                                error_code,
         305  +
                                &mut *deser,
         306  +
                            )
         307  +
                        }) {
         308  +
                        ::std::option::Option::Some(source) => <crate::operation::delete_maintenance_window::DeleteMaintenanceWindowError as ::aws_smithy_runtime_api::client::result::CreateUnhandledError>::create_unhandled_error(source, ::std::option::Option::Some(generic)),
         309  +
                        ::std::option::Option::None => crate::operation::delete_maintenance_window::DeleteMaintenanceWindowError::generic(generic),
         310  +
                    }
         311  +
                }
         312  +
            };
         313  +
            ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::operation(
         314  +
                ::aws_smithy_runtime_api::client::interceptors::context::Error::erase(err),
         315  +
            ))
         316  +
        } else {
         317  +
            let protocol = _cfg
         318  +
                .load::<::aws_smithy_schema::protocol::SharedClientProtocol>()
         319  +
                .expect("a SharedClientProtocol is required");
         320  +
            let mut deser = protocol
         321  +
                .deserialize_response(response, DeleteMaintenanceWindow::OUTPUT_SCHEMA, _cfg)
         322  +
                .map_err(|e| {
         323  +
                    ::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(::aws_smithy_runtime_api::box_error::BoxError::from(e))
         324  +
                })?;
         325  +
            // body and headers are already in scope from the top of the function;
         326  +
            // alias `headers` as `_response_headers` so MutateOutput
         327  +
            // customizations have a stable name to read from.
         328  +
            let _response_headers = headers;
         329  +
            #[allow(unused_mut)]
         330  +
            let mut output = crate::operation::delete_maintenance_window::DeleteMaintenanceWindowOutput::deserialize_with_response(
         331  +
                &mut *deser,
         332  +
                _response_headers,
         333  +
                response.status().into(),
         334  +
                body,
         335  +
            )
         336  +
            .map_err(|e| {
         337  +
                ::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(::aws_smithy_runtime_api::box_error::BoxError::from(e))
         338  +
            })?;
         339  +
            output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
         340  +
            ::std::result::Result::Ok(::aws_smithy_runtime_api::client::interceptors::context::Output::erase(output))
         341  +
        }
         342  +
    }
         343  +
}
         344  +
#[derive(Debug)]
         345  +
struct DeleteMaintenanceWindowRequestSerializer;
         346  +
impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for DeleteMaintenanceWindowRequestSerializer {
         347  +
    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
         348  +
    fn serialize_input(
         349  +
        &self,
         350  +
        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
         351  +
        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
         352  +
    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
         353  +
        let input = input
         354  +
            .downcast::<crate::operation::delete_maintenance_window::DeleteMaintenanceWindowInput>()
         355  +
            .expect("correct type");
         356  +
         357  +
        let protocol = _cfg
         358  +
            .load::<::aws_smithy_schema::protocol::SharedClientProtocol>()
         359  +
            .expect("a SharedClientProtocol is required");
         360  +
        let mut request = protocol
         361  +
            .serialize_request(&input, DeleteMaintenanceWindow::INPUT_SCHEMA, "/", _cfg)
         362  +
            .map_err(::aws_smithy_runtime_api::box_error::BoxError::from)?;
         363  +
         364  +
        return ::std::result::Result::Ok(request);
         365  +
    }
         366  +
}
         367  +
#[derive(Debug)]
         368  +
struct DeleteMaintenanceWindowEndpointParamsInterceptor;
         369  +
         370  +
#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
         371  +
impl ::aws_smithy_runtime_api::client::interceptors::Intercept for DeleteMaintenanceWindowEndpointParamsInterceptor {
         372  +
    fn name(&self) -> &'static str {
         373  +
        "DeleteMaintenanceWindowEndpointParamsInterceptor"
         374  +
    }
         375  +
         376  +
    fn read_before_execution(
         377  +
        &self,
         378  +
        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
         379  +
            '_,
         380  +
            ::aws_smithy_runtime_api::client::interceptors::context::Input,
         381  +
            ::aws_smithy_runtime_api::client::interceptors::context::Output,
         382  +
            ::aws_smithy_runtime_api::client::interceptors::context::Error,
         383  +
        >,
         384  +
        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
         385  +
    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
         386  +
        let _input = context
         387  +
            .input()
         388  +
            .downcast_ref::<DeleteMaintenanceWindowInput>()
         389  +
            .ok_or("failed to downcast to DeleteMaintenanceWindowInput")?;
         390  +
         391  +
        let params = crate::config::endpoint::Params::builder()
         392  +
            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
         393  +
            .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0))
         394  +
            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
         395  +
            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
         396  +
            .build()
         397  +
            .map_err(|err| {
         398  +
                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
         399  +
            })?;
         400  +
        cfg.interceptor_state()
         401  +
            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
         402  +
        ::std::result::Result::Ok(())
         403  +
    }
         404  +
}
         405  +
         406  +
// The get_* functions below are generated from JMESPath expressions in the
         407  +
// operationContextParams trait. They target the operation's input shape.
         408  +
         409  +
/// Error type for the `DeleteMaintenanceWindowError` operation.
         410  +
#[non_exhaustive]
         411  +
#[derive(::std::fmt::Debug)]
         412  +
pub enum DeleteMaintenanceWindowError {
         413  +
    /// <p>An error occurred on the server side.</p>
         414  +
    InternalServerError(crate::types::error::InternalServerError),
         415  +
    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
         416  +
    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
         417  +
    variable wildcard pattern and check `.code()`:
         418  +
     \
         419  +
    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
         420  +
     \
         421  +
    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-DeleteMaintenanceWindowError) for what information is available for the error.")]
         422  +
    Unhandled(crate::error::sealed_unhandled::Unhandled),
         423  +
}
         424  +
impl DeleteMaintenanceWindowError {
         425  +
    /// Creates the `DeleteMaintenanceWindowError::Unhandled` variant from any error type.
         426  +
    pub fn unhandled(
         427  +
        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
         428  +
    ) -> Self {
         429  +
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
         430  +
            source: err.into(),
         431  +
            meta: ::std::default::Default::default(),
         432  +
        })
         433  +
    }
         434  +
         435  +
    /// Creates the `DeleteMaintenanceWindowError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
         436  +
    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
         437  +
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
         438  +
            source: err.clone().into(),
         439  +
            meta: err,
         440  +
        })
         441  +
    }
         442  +
    ///
         443  +
    /// Returns error metadata, which includes the error code, message,
         444  +
    /// request ID, and potentially additional information.
         445  +
    ///
         446  +
    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
         447  +
        match self {
         448  +
            Self::InternalServerError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         449  +
            Self::Unhandled(e) => &e.meta,
         450  +
        }
         451  +
    }
         452  +
    /// Returns `true` if the error kind is `DeleteMaintenanceWindowError::InternalServerError`.
         453  +
    pub fn is_internal_server_error(&self) -> bool {
         454  +
        matches!(self, Self::InternalServerError(_))
         455  +
    }
         456  +
}
         457  +
impl ::std::error::Error for DeleteMaintenanceWindowError {
         458  +
    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
         459  +
        match self {
         460  +
            Self::InternalServerError(_inner) => ::std::option::Option::Some(_inner),
         461  +
            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
         462  +
        }
         463  +
    }
         464  +
}
         465  +
impl ::std::fmt::Display for DeleteMaintenanceWindowError {
         466  +
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
         467  +
        match self {
         468  +
            Self::InternalServerError(_inner) => _inner.fmt(f),
         469  +
            Self::Unhandled(_inner) => {
         470  +
                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
         471  +
                    write!(f, "unhandled error ({code})")
         472  +
                } else {
         473  +
                    f.write_str("unhandled error")
         474  +
                }
         475  +
            }
         476  +
        }
         477  +
    }
         478  +
}
         479  +
impl ::aws_smithy_types::retry::ProvideErrorKind for DeleteMaintenanceWindowError {
         480  +
    fn code(&self) -> ::std::option::Option<&str> {
         481  +
        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
         482  +
    }
         483  +
    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
         484  +
        ::std::option::Option::None
         485  +
    }
         486  +
}
         487  +
impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for DeleteMaintenanceWindowError {
         488  +
    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
         489  +
        match self {
         490  +
            Self::InternalServerError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
         491  +
            Self::Unhandled(_inner) => &_inner.meta,
         492  +
        }
         493  +
    }
         494  +
}
         495  +
impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for DeleteMaintenanceWindowError {
         496  +
    fn create_unhandled_error(
         497  +
        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
         498  +
        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
         499  +
    ) -> Self {
         500  +
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
         501  +
            source,
         502  +
            meta: meta.unwrap_or_default(),
         503  +
        })
         504  +
    }
         505  +
}
         506  +
impl ::aws_types::request_id::RequestId for crate::operation::delete_maintenance_window::DeleteMaintenanceWindowError {
         507  +
    fn request_id(&self) -> Option<&str> {
         508  +
        self.meta().request_id()
         509  +
    }
         510  +
}
         511  +
         512  +
pub use crate::operation::delete_maintenance_window::_delete_maintenance_window_input::DeleteMaintenanceWindowInput;
         513  +
         514  +
pub use crate::operation::delete_maintenance_window::_delete_maintenance_window_output::DeleteMaintenanceWindowOutput;
         515  +
         516  +
mod _delete_maintenance_window_input;
         517  +
         518  +
mod _delete_maintenance_window_output;
         519  +
         520  +
/// Builders
         521  +
pub mod builders;