AWS SDK

AWS SDK

rev. 18b1dd205ff4335251e6dd0ecb88193de1b1cede

Files changed:

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

@@ -0,1 +0,265 @@
           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 CreateResourceDataSyncInput {
           6  +
    /// <p>A name for the configuration.</p>
           7  +
    pub sync_name: ::std::option::Option<::std::string::String>,
           8  +
    /// <p>Amazon S3 configuration details for the sync. This parameter is required if the <code>SyncType</code> value is SyncToDestination.</p>
           9  +
    pub s3_destination: ::std::option::Option<crate::types::ResourceDataSyncS3Destination>,
          10  +
    /// <p>Specify <code>SyncToDestination</code> to create a resource data sync that synchronizes data to an S3 bucket for Inventory. If you specify <code>SyncToDestination</code>, you must provide a value for <code>S3Destination</code>. Specify <code>SyncFromSource</code> to synchronize data from a single account and multiple Regions, or multiple Amazon Web Services accounts and Amazon Web Services Regions, as listed in Organizations for Explorer. If you specify <code>SyncFromSource</code>, you must provide a value for <code>SyncSource</code>. The default value is <code>SyncToDestination</code>.</p>
          11  +
    pub sync_type: ::std::option::Option<::std::string::String>,
          12  +
    /// <p>Specify information about the data sources to synchronize. This parameter is required if the <code>SyncType</code> value is SyncFromSource.</p>
          13  +
    pub sync_source: ::std::option::Option<crate::types::ResourceDataSyncSource>,
          14  +
}
          15  +
impl CreateResourceDataSyncInput {
          16  +
    /// <p>A name for the configuration.</p>
          17  +
    pub fn sync_name(&self) -> ::std::option::Option<&str> {
          18  +
        self.sync_name.as_deref()
          19  +
    }
          20  +
    /// <p>Amazon S3 configuration details for the sync. This parameter is required if the <code>SyncType</code> value is SyncToDestination.</p>
          21  +
    pub fn s3_destination(&self) -> ::std::option::Option<&crate::types::ResourceDataSyncS3Destination> {
          22  +
        self.s3_destination.as_ref()
          23  +
    }
          24  +
    /// <p>Specify <code>SyncToDestination</code> to create a resource data sync that synchronizes data to an S3 bucket for Inventory. If you specify <code>SyncToDestination</code>, you must provide a value for <code>S3Destination</code>. Specify <code>SyncFromSource</code> to synchronize data from a single account and multiple Regions, or multiple Amazon Web Services accounts and Amazon Web Services Regions, as listed in Organizations for Explorer. If you specify <code>SyncFromSource</code>, you must provide a value for <code>SyncSource</code>. The default value is <code>SyncToDestination</code>.</p>
          25  +
    pub fn sync_type(&self) -> ::std::option::Option<&str> {
          26  +
        self.sync_type.as_deref()
          27  +
    }
          28  +
    /// <p>Specify information about the data sources to synchronize. This parameter is required if the <code>SyncType</code> value is SyncFromSource.</p>
          29  +
    pub fn sync_source(&self) -> ::std::option::Option<&crate::types::ResourceDataSyncSource> {
          30  +
        self.sync_source.as_ref()
          31  +
    }
          32  +
}
          33  +
static CREATERESOURCEDATASYNCINPUT_MEMBER_SYNC_NAME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          34  +
    ::aws_smithy_schema::ShapeId::from_parts(
          35  +
        "com.amazonaws.ssm.synthetic#CreateResourceDataSyncInput$SyncName",
          36  +
        "com.amazonaws.ssm.synthetic",
          37  +
        "CreateResourceDataSyncInput",
          38  +
    ),
          39  +
    ::aws_smithy_schema::ShapeType::String,
          40  +
    "SyncName",
          41  +
    0,
          42  +
);
          43  +
static CREATERESOURCEDATASYNCINPUT_MEMBER_S3_DESTINATION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          44  +
    ::aws_smithy_schema::ShapeId::from_parts(
          45  +
        "com.amazonaws.ssm.synthetic#CreateResourceDataSyncInput$S3Destination",
          46  +
        "com.amazonaws.ssm.synthetic",
          47  +
        "CreateResourceDataSyncInput",
          48  +
    ),
          49  +
    ::aws_smithy_schema::ShapeType::Structure,
          50  +
    "S3Destination",
          51  +
    1,
          52  +
);
          53  +
static CREATERESOURCEDATASYNCINPUT_MEMBER_SYNC_TYPE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          54  +
    ::aws_smithy_schema::ShapeId::from_parts(
          55  +
        "com.amazonaws.ssm.synthetic#CreateResourceDataSyncInput$SyncType",
          56  +
        "com.amazonaws.ssm.synthetic",
          57  +
        "CreateResourceDataSyncInput",
          58  +
    ),
          59  +
    ::aws_smithy_schema::ShapeType::String,
          60  +
    "SyncType",
          61  +
    2,
          62  +
);
          63  +
static CREATERESOURCEDATASYNCINPUT_MEMBER_SYNC_SOURCE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          64  +
    ::aws_smithy_schema::ShapeId::from_parts(
          65  +
        "com.amazonaws.ssm.synthetic#CreateResourceDataSyncInput$SyncSource",
          66  +
        "com.amazonaws.ssm.synthetic",
          67  +
        "CreateResourceDataSyncInput",
          68  +
    ),
          69  +
    ::aws_smithy_schema::ShapeType::Structure,
          70  +
    "SyncSource",
          71  +
    3,
          72  +
);
          73  +
static CREATERESOURCEDATASYNCINPUT_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
          74  +
    ::aws_smithy_schema::ShapeId::from_parts(
          75  +
        "com.amazonaws.ssm.synthetic#CreateResourceDataSyncInput",
          76  +
        "com.amazonaws.ssm.synthetic",
          77  +
        "CreateResourceDataSyncInput",
          78  +
    ),
          79  +
    ::aws_smithy_schema::ShapeType::Structure,
          80  +
    &[
          81  +
        &CREATERESOURCEDATASYNCINPUT_MEMBER_SYNC_NAME,
          82  +
        &CREATERESOURCEDATASYNCINPUT_MEMBER_S3_DESTINATION,
          83  +
        &CREATERESOURCEDATASYNCINPUT_MEMBER_SYNC_TYPE,
          84  +
        &CREATERESOURCEDATASYNCINPUT_MEMBER_SYNC_SOURCE,
          85  +
    ],
          86  +
)
          87  +
.with_payload_hint(::aws_smithy_schema::PayloadHint::NoStructPayload)
          88  +
.with_original_name("CreateResourceDataSyncRequest");
          89  +
impl CreateResourceDataSyncInput {
          90  +
    /// The schema for this shape.
          91  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &CREATERESOURCEDATASYNCINPUT_SCHEMA;
          92  +
}
          93  +
impl ::aws_smithy_schema::serde::SerializableStruct for CreateResourceDataSyncInput {
          94  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
          95  +
    fn serialize_members(
          96  +
        &self,
          97  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
          98  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
          99  +
        if let Some(ref val) = self.sync_name {
         100  +
            ser.write_string(&CREATERESOURCEDATASYNCINPUT_MEMBER_SYNC_NAME, val)?;
         101  +
        }
         102  +
        if let Some(ref val) = self.s3_destination {
         103  +
            ser.write_struct(&CREATERESOURCEDATASYNCINPUT_MEMBER_S3_DESTINATION, val)?;
         104  +
        }
         105  +
        if let Some(ref val) = self.sync_type {
         106  +
            ser.write_string(&CREATERESOURCEDATASYNCINPUT_MEMBER_SYNC_TYPE, val)?;
         107  +
        }
         108  +
        if let Some(ref val) = self.sync_source {
         109  +
            ser.write_struct(&CREATERESOURCEDATASYNCINPUT_MEMBER_SYNC_SOURCE, val)?;
         110  +
        }
         111  +
        Ok(())
         112  +
    }
         113  +
}
         114  +
impl CreateResourceDataSyncInput {
         115  +
    /// Deserializes this structure from a [`ShapeDeserializer`].
         116  +
    pub fn deserialize(
         117  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         118  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         119  +
        #[allow(unused_variables, unused_mut)]
         120  +
        let mut builder = Self::builder();
         121  +
        #[allow(
         122  +
            unused_variables,
         123  +
            unreachable_code,
         124  +
            clippy::single_match,
         125  +
            clippy::match_single_binding,
         126  +
            clippy::diverging_sub_expression
         127  +
        )]
         128  +
        deserializer.read_struct(&CREATERESOURCEDATASYNCINPUT_SCHEMA, &mut |member, deser| {
         129  +
            match member.member_index() {
         130  +
                Some(0) => {
         131  +
                    if deser.is_null() {
         132  +
                        deser.read_null()?;
         133  +
                    } else {
         134  +
                        builder.sync_name = Some(deser.read_string(member)?);
         135  +
                    }
         136  +
                }
         137  +
                Some(1) => {
         138  +
                    if deser.is_null() {
         139  +
                        deser.read_null()?;
         140  +
                    } else {
         141  +
                        builder.s3_destination = Some(crate::types::ResourceDataSyncS3Destination::deserialize(deser)?);
         142  +
                    }
         143  +
                }
         144  +
                Some(2) => {
         145  +
                    if deser.is_null() {
         146  +
                        deser.read_null()?;
         147  +
                    } else {
         148  +
                        builder.sync_type = Some(deser.read_string(member)?);
         149  +
                    }
         150  +
                }
         151  +
                Some(3) => {
         152  +
                    if deser.is_null() {
         153  +
                        deser.read_null()?;
         154  +
                    } else {
         155  +
                        builder.sync_source = Some(crate::types::ResourceDataSyncSource::deserialize(deser)?);
         156  +
                    }
         157  +
                }
         158  +
                _ => {}
         159  +
            }
         160  +
            Ok(())
         161  +
        })?;
         162  +
        builder.sync_name = builder.sync_name.or(Some(String::new()));
         163  +
        builder.build().map_err(|e| aws_smithy_schema::serde::SerdeError::custom(e.to_string()))
         164  +
    }
         165  +
}
         166  +
impl CreateResourceDataSyncInput {
         167  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         168  +
    pub fn deserialize_with_response(
         169  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         170  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         171  +
        _status: u16,
         172  +
        _body: &[u8],
         173  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         174  +
        Self::deserialize(deserializer)
         175  +
    }
         176  +
}
         177  +
impl CreateResourceDataSyncInput {
         178  +
    /// Creates a new builder-style object to manufacture [`CreateResourceDataSyncInput`](crate::operation::create_resource_data_sync::CreateResourceDataSyncInput).
         179  +
    pub fn builder() -> crate::operation::create_resource_data_sync::builders::CreateResourceDataSyncInputBuilder {
         180  +
        crate::operation::create_resource_data_sync::builders::CreateResourceDataSyncInputBuilder::default()
         181  +
    }
         182  +
}
         183  +
         184  +
/// A builder for [`CreateResourceDataSyncInput`](crate::operation::create_resource_data_sync::CreateResourceDataSyncInput).
         185  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         186  +
#[non_exhaustive]
         187  +
pub struct CreateResourceDataSyncInputBuilder {
         188  +
    pub(crate) sync_name: ::std::option::Option<::std::string::String>,
         189  +
    pub(crate) s3_destination: ::std::option::Option<crate::types::ResourceDataSyncS3Destination>,
         190  +
    pub(crate) sync_type: ::std::option::Option<::std::string::String>,
         191  +
    pub(crate) sync_source: ::std::option::Option<crate::types::ResourceDataSyncSource>,
         192  +
}
         193  +
impl CreateResourceDataSyncInputBuilder {
         194  +
    /// <p>A name for the configuration.</p>
         195  +
    /// This field is required.
         196  +
    pub fn sync_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         197  +
        self.sync_name = ::std::option::Option::Some(input.into());
         198  +
        self
         199  +
    }
         200  +
    /// <p>A name for the configuration.</p>
         201  +
    pub fn set_sync_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         202  +
        self.sync_name = input;
         203  +
        self
         204  +
    }
         205  +
    /// <p>A name for the configuration.</p>
         206  +
    pub fn get_sync_name(&self) -> &::std::option::Option<::std::string::String> {
         207  +
        &self.sync_name
         208  +
    }
         209  +
    /// <p>Amazon S3 configuration details for the sync. This parameter is required if the <code>SyncType</code> value is SyncToDestination.</p>
         210  +
    pub fn s3_destination(mut self, input: crate::types::ResourceDataSyncS3Destination) -> Self {
         211  +
        self.s3_destination = ::std::option::Option::Some(input);
         212  +
        self
         213  +
    }
         214  +
    /// <p>Amazon S3 configuration details for the sync. This parameter is required if the <code>SyncType</code> value is SyncToDestination.</p>
         215  +
    pub fn set_s3_destination(mut self, input: ::std::option::Option<crate::types::ResourceDataSyncS3Destination>) -> Self {
         216  +
        self.s3_destination = input;
         217  +
        self
         218  +
    }
         219  +
    /// <p>Amazon S3 configuration details for the sync. This parameter is required if the <code>SyncType</code> value is SyncToDestination.</p>
         220  +
    pub fn get_s3_destination(&self) -> &::std::option::Option<crate::types::ResourceDataSyncS3Destination> {
         221  +
        &self.s3_destination
         222  +
    }
         223  +
    /// <p>Specify <code>SyncToDestination</code> to create a resource data sync that synchronizes data to an S3 bucket for Inventory. If you specify <code>SyncToDestination</code>, you must provide a value for <code>S3Destination</code>. Specify <code>SyncFromSource</code> to synchronize data from a single account and multiple Regions, or multiple Amazon Web Services accounts and Amazon Web Services Regions, as listed in Organizations for Explorer. If you specify <code>SyncFromSource</code>, you must provide a value for <code>SyncSource</code>. The default value is <code>SyncToDestination</code>.</p>
         224  +
    pub fn sync_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         225  +
        self.sync_type = ::std::option::Option::Some(input.into());
         226  +
        self
         227  +
    }
         228  +
    /// <p>Specify <code>SyncToDestination</code> to create a resource data sync that synchronizes data to an S3 bucket for Inventory. If you specify <code>SyncToDestination</code>, you must provide a value for <code>S3Destination</code>. Specify <code>SyncFromSource</code> to synchronize data from a single account and multiple Regions, or multiple Amazon Web Services accounts and Amazon Web Services Regions, as listed in Organizations for Explorer. If you specify <code>SyncFromSource</code>, you must provide a value for <code>SyncSource</code>. The default value is <code>SyncToDestination</code>.</p>
         229  +
    pub fn set_sync_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         230  +
        self.sync_type = input;
         231  +
        self
         232  +
    }
         233  +
    /// <p>Specify <code>SyncToDestination</code> to create a resource data sync that synchronizes data to an S3 bucket for Inventory. If you specify <code>SyncToDestination</code>, you must provide a value for <code>S3Destination</code>. Specify <code>SyncFromSource</code> to synchronize data from a single account and multiple Regions, or multiple Amazon Web Services accounts and Amazon Web Services Regions, as listed in Organizations for Explorer. If you specify <code>SyncFromSource</code>, you must provide a value for <code>SyncSource</code>. The default value is <code>SyncToDestination</code>.</p>
         234  +
    pub fn get_sync_type(&self) -> &::std::option::Option<::std::string::String> {
         235  +
        &self.sync_type
         236  +
    }
         237  +
    /// <p>Specify information about the data sources to synchronize. This parameter is required if the <code>SyncType</code> value is SyncFromSource.</p>
         238  +
    pub fn sync_source(mut self, input: crate::types::ResourceDataSyncSource) -> Self {
         239  +
        self.sync_source = ::std::option::Option::Some(input);
         240  +
        self
         241  +
    }
         242  +
    /// <p>Specify information about the data sources to synchronize. This parameter is required if the <code>SyncType</code> value is SyncFromSource.</p>
         243  +
    pub fn set_sync_source(mut self, input: ::std::option::Option<crate::types::ResourceDataSyncSource>) -> Self {
         244  +
        self.sync_source = input;
         245  +
        self
         246  +
    }
         247  +
    /// <p>Specify information about the data sources to synchronize. This parameter is required if the <code>SyncType</code> value is SyncFromSource.</p>
         248  +
    pub fn get_sync_source(&self) -> &::std::option::Option<crate::types::ResourceDataSyncSource> {
         249  +
        &self.sync_source
         250  +
    }
         251  +
    /// Consumes the builder and constructs a [`CreateResourceDataSyncInput`](crate::operation::create_resource_data_sync::CreateResourceDataSyncInput).
         252  +
    pub fn build(
         253  +
        self,
         254  +
    ) -> ::std::result::Result<
         255  +
        crate::operation::create_resource_data_sync::CreateResourceDataSyncInput,
         256  +
        ::aws_smithy_types::error::operation::BuildError,
         257  +
    > {
         258  +
        ::std::result::Result::Ok(crate::operation::create_resource_data_sync::CreateResourceDataSyncInput {
         259  +
            sync_name: self.sync_name,
         260  +
            s3_destination: self.s3_destination,
         261  +
            sync_type: self.sync_type,
         262  +
            sync_source: self.sync_source,
         263  +
        })
         264  +
    }
         265  +
}

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

@@ -0,1 +0,122 @@
           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 CreateResourceDataSyncOutput {
           6  +
    _request_id: Option<String>,
           7  +
}
           8  +
static CREATERESOURCEDATASYNCOUTPUT_MEMBER__REQUEST_ID: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
           9  +
    ::aws_smithy_schema::ShapeId::from_parts("synthetic#request_id", "synthetic", "request_id"),
          10  +
    ::aws_smithy_schema::ShapeType::String,
          11  +
    "request_id",
          12  +
    0,
          13  +
)
          14  +
.with_http_header("x-amzn-requestid");
          15  +
static CREATERESOURCEDATASYNCOUTPUT_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
          16  +
    ::aws_smithy_schema::ShapeId::from_parts(
          17  +
        "com.amazonaws.ssm.synthetic#CreateResourceDataSyncOutput",
          18  +
        "com.amazonaws.ssm.synthetic",
          19  +
        "CreateResourceDataSyncOutput",
          20  +
    ),
          21  +
    ::aws_smithy_schema::ShapeType::Structure,
          22  +
    &[&CREATERESOURCEDATASYNCOUTPUT_MEMBER__REQUEST_ID],
          23  +
)
          24  +
.with_original_name("CreateResourceDataSyncResult");
          25  +
impl CreateResourceDataSyncOutput {
          26  +
    /// The schema for this shape.
          27  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &CREATERESOURCEDATASYNCOUTPUT_SCHEMA;
          28  +
}
          29  +
impl ::aws_smithy_schema::serde::SerializableStruct for CreateResourceDataSyncOutput {
          30  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
          31  +
    fn serialize_members(
          32  +
        &self,
          33  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
          34  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
          35  +
        Ok(())
          36  +
    }
          37  +
}
          38  +
impl CreateResourceDataSyncOutput {
          39  +
    /// Deserializes this structure from a [`ShapeDeserializer`].
          40  +
    pub fn deserialize(
          41  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          42  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          43  +
        #[allow(unused_variables, unused_mut)]
          44  +
        let mut builder = Self::builder();
          45  +
        #[allow(
          46  +
            unused_variables,
          47  +
            unreachable_code,
          48  +
            clippy::single_match,
          49  +
            clippy::match_single_binding,
          50  +
            clippy::diverging_sub_expression
          51  +
        )]
          52  +
        deserializer.read_struct(&CREATERESOURCEDATASYNCOUTPUT_SCHEMA, &mut |member, deser| {
          53  +
            match member.member_index() {
          54  +
                Some(0) => {
          55  +
                    builder._request_id = Some(deser.read_string(member)?);
          56  +
                }
          57  +
                _ => {}
          58  +
            }
          59  +
            Ok(())
          60  +
        })?;
          61  +
        Ok(builder.build())
          62  +
    }
          63  +
}
          64  +
impl CreateResourceDataSyncOutput {
          65  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
          66  +
    /// Header-bound members are read directly from headers, avoiding runtime
          67  +
    /// member iteration overhead. Body members are read via the deserializer.
          68  +
    pub fn deserialize_with_response(
          69  +
        _deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          70  +
        headers: &::aws_smithy_runtime_api::http::Headers,
          71  +
        _status: u16,
          72  +
        _body: &[u8],
          73  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          74  +
        #[allow(unused_variables, unused_mut)]
          75  +
        let mut builder = Self::builder();
          76  +
        if let Some(val) = headers.get("x-amzn-requestid") {
          77  +
            builder._request_id = Some(val.to_string());
          78  +
        }
          79  +
        Ok(builder.build())
          80  +
    }
          81  +
}
          82  +
impl ::aws_types::request_id::RequestId for CreateResourceDataSyncOutput {
          83  +
    fn request_id(&self) -> Option<&str> {
          84  +
        self._request_id.as_deref()
          85  +
    }
          86  +
}
          87  +
impl CreateResourceDataSyncOutput {
          88  +
    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
          89  +
        self._request_id = request_id;
          90  +
        self
          91  +
    }
          92  +
}
          93  +
impl CreateResourceDataSyncOutput {
          94  +
    /// Creates a new builder-style object to manufacture [`CreateResourceDataSyncOutput`](crate::operation::create_resource_data_sync::CreateResourceDataSyncOutput).
          95  +
    pub fn builder() -> crate::operation::create_resource_data_sync::builders::CreateResourceDataSyncOutputBuilder {
          96  +
        crate::operation::create_resource_data_sync::builders::CreateResourceDataSyncOutputBuilder::default()
          97  +
    }
          98  +
}
          99  +
         100  +
/// A builder for [`CreateResourceDataSyncOutput`](crate::operation::create_resource_data_sync::CreateResourceDataSyncOutput).
         101  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         102  +
#[non_exhaustive]
         103  +
pub struct CreateResourceDataSyncOutputBuilder {
         104  +
    _request_id: Option<String>,
         105  +
}
         106  +
impl CreateResourceDataSyncOutputBuilder {
         107  +
    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
         108  +
        self._request_id = Some(request_id.into());
         109  +
        self
         110  +
    }
         111  +
         112  +
    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
         113  +
        self._request_id = request_id;
         114  +
        self
         115  +
    }
         116  +
    /// Consumes the builder and constructs a [`CreateResourceDataSyncOutput`](crate::operation::create_resource_data_sync::CreateResourceDataSyncOutput).
         117  +
    pub fn build(self) -> crate::operation::create_resource_data_sync::CreateResourceDataSyncOutput {
         118  +
        crate::operation::create_resource_data_sync::CreateResourceDataSyncOutput {
         119  +
            _request_id: self._request_id,
         120  +
        }
         121  +
    }
         122  +
}

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

@@ -0,1 +0,172 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
pub use crate::operation::create_resource_data_sync::_create_resource_data_sync_input::CreateResourceDataSyncInputBuilder;
           3  +
           4  +
pub use crate::operation::create_resource_data_sync::_create_resource_data_sync_output::CreateResourceDataSyncOutputBuilder;
           5  +
           6  +
impl crate::operation::create_resource_data_sync::builders::CreateResourceDataSyncInputBuilder {
           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::create_resource_data_sync::CreateResourceDataSyncOutput,
          13  +
        ::aws_smithy_runtime_api::client::result::SdkError<
          14  +
            crate::operation::create_resource_data_sync::CreateResourceDataSyncError,
          15  +
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
          16  +
        >,
          17  +
    > {
          18  +
        let mut fluent_builder = client.create_resource_data_sync();
          19  +
        fluent_builder.inner = self;
          20  +
        fluent_builder.send().await
          21  +
    }
          22  +
}
          23  +
/// Fluent builder constructing a request to `CreateResourceDataSync`.
          24  +
///
          25  +
/// <p>A resource data sync helps you view data from multiple sources in a single location. Amazon Web Services Systems Manager offers two types of resource data sync: <code>SyncToDestination</code> and <code>SyncFromSource</code>.</p>
          26  +
/// <p>You can configure Systems Manager Inventory to use the <code>SyncToDestination</code> type to synchronize Inventory data from multiple Amazon Web Services Regions to a single Amazon Simple Storage Service (Amazon S3) bucket. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/inventory-create-resource-data-sync.html">Creating a resource data sync for Inventory</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
          27  +
/// <p>You can configure Systems Manager Explorer to use the <code>SyncFromSource</code> type to synchronize operational work items (OpsItems) and operational data (OpsData) from multiple Amazon Web Services Regions to a single Amazon S3 bucket. This type can synchronize OpsItems and OpsData from multiple Amazon Web Services accounts and Amazon Web Services Regions or <code>EntireOrganization</code> by using Organizations. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/Explorer-resource-data-sync.html">Setting up Systems Manager Explorer to display data from multiple accounts and Regions</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
          28  +
/// <p>A resource data sync is an asynchronous operation that returns immediately. After a successful initial sync is completed, the system continuously syncs data. To check the status of a sync, use the <code>ListResourceDataSync</code>.</p><note>
          29  +
/// <p>By default, data isn't encrypted in Amazon S3. We strongly recommend that you enable encryption in Amazon S3 to ensure secure data storage. We also recommend that you secure access to the Amazon S3 bucket by creating a restrictive bucket policy.</p>
          30  +
/// </note>
          31  +
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
          32  +
pub struct CreateResourceDataSyncFluentBuilder {
          33  +
    handle: ::std::sync::Arc<crate::client::Handle>,
          34  +
    inner: crate::operation::create_resource_data_sync::builders::CreateResourceDataSyncInputBuilder,
          35  +
    config_override: ::std::option::Option<crate::config::Builder>,
          36  +
}
          37  +
impl
          38  +
    crate::client::customize::internal::CustomizableSend<
          39  +
        crate::operation::create_resource_data_sync::CreateResourceDataSyncOutput,
          40  +
        crate::operation::create_resource_data_sync::CreateResourceDataSyncError,
          41  +
    > for CreateResourceDataSyncFluentBuilder
          42  +
{
          43  +
    fn send(
          44  +
        self,
          45  +
        config_override: crate::config::Builder,
          46  +
    ) -> crate::client::customize::internal::BoxFuture<
          47  +
        crate::client::customize::internal::SendResult<
          48  +
            crate::operation::create_resource_data_sync::CreateResourceDataSyncOutput,
          49  +
            crate::operation::create_resource_data_sync::CreateResourceDataSyncError,
          50  +
        >,
          51  +
    > {
          52  +
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
          53  +
    }
          54  +
}
          55  +
impl CreateResourceDataSyncFluentBuilder {
          56  +
    /// Creates a new `CreateResourceDataSyncFluentBuilder`.
          57  +
    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
          58  +
        Self {
          59  +
            handle,
          60  +
            inner: ::std::default::Default::default(),
          61  +
            config_override: ::std::option::Option::None,
          62  +
        }
          63  +
    }
          64  +
    /// Access the CreateResourceDataSync as a reference.
          65  +
    pub fn as_input(&self) -> &crate::operation::create_resource_data_sync::builders::CreateResourceDataSyncInputBuilder {
          66  +
        &self.inner
          67  +
    }
          68  +
    /// Sends the request and returns the response.
          69  +
    ///
          70  +
    /// If an error occurs, an `SdkError` will be returned with additional details that
          71  +
    /// can be matched against.
          72  +
    ///
          73  +
    /// By default, any retryable failures will be retried twice. Retry behavior
          74  +
    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
          75  +
    /// set when configuring the client.
          76  +
    pub async fn send(
          77  +
        self,
          78  +
    ) -> ::std::result::Result<
          79  +
        crate::operation::create_resource_data_sync::CreateResourceDataSyncOutput,
          80  +
        ::aws_smithy_runtime_api::client::result::SdkError<
          81  +
            crate::operation::create_resource_data_sync::CreateResourceDataSyncError,
          82  +
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
          83  +
        >,
          84  +
    > {
          85  +
        let input = self
          86  +
            .inner
          87  +
            .build()
          88  +
            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
          89  +
        let runtime_plugins = crate::operation::create_resource_data_sync::CreateResourceDataSync::operation_runtime_plugins(
          90  +
            self.handle.runtime_plugins.clone(),
          91  +
            &self.handle.conf,
          92  +
            self.config_override,
          93  +
        );
          94  +
        crate::operation::create_resource_data_sync::CreateResourceDataSync::orchestrate(&runtime_plugins, input).await
          95  +
    }
          96  +
          97  +
    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
          98  +
    pub fn customize(
          99  +
        self,
         100  +
    ) -> crate::client::customize::CustomizableOperation<
         101  +
        crate::operation::create_resource_data_sync::CreateResourceDataSyncOutput,
         102  +
        crate::operation::create_resource_data_sync::CreateResourceDataSyncError,
         103  +
        Self,
         104  +
    > {
         105  +
        crate::client::customize::CustomizableOperation::new(self)
         106  +
    }
         107  +
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
         108  +
        self.set_config_override(::std::option::Option::Some(config_override.into()));
         109  +
        self
         110  +
    }
         111  +
         112  +
    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
         113  +
        self.config_override = config_override;
         114  +
        self
         115  +
    }
         116  +
    /// <p>A name for the configuration.</p>
         117  +
    pub fn sync_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         118  +
        self.inner = self.inner.sync_name(input.into());
         119  +
        self
         120  +
    }
         121  +
    /// <p>A name for the configuration.</p>
         122  +
    pub fn set_sync_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         123  +
        self.inner = self.inner.set_sync_name(input);
         124  +
        self
         125  +
    }
         126  +
    /// <p>A name for the configuration.</p>
         127  +
    pub fn get_sync_name(&self) -> &::std::option::Option<::std::string::String> {
         128  +
        self.inner.get_sync_name()
         129  +
    }
         130  +
    /// <p>Amazon S3 configuration details for the sync. This parameter is required if the <code>SyncType</code> value is SyncToDestination.</p>
         131  +
    pub fn s3_destination(mut self, input: crate::types::ResourceDataSyncS3Destination) -> Self {
         132  +
        self.inner = self.inner.s3_destination(input);
         133  +
        self
         134  +
    }
         135  +
    /// <p>Amazon S3 configuration details for the sync. This parameter is required if the <code>SyncType</code> value is SyncToDestination.</p>
         136  +
    pub fn set_s3_destination(mut self, input: ::std::option::Option<crate::types::ResourceDataSyncS3Destination>) -> Self {
         137  +
        self.inner = self.inner.set_s3_destination(input);
         138  +
        self
         139  +
    }
         140  +
    /// <p>Amazon S3 configuration details for the sync. This parameter is required if the <code>SyncType</code> value is SyncToDestination.</p>
         141  +
    pub fn get_s3_destination(&self) -> &::std::option::Option<crate::types::ResourceDataSyncS3Destination> {
         142  +
        self.inner.get_s3_destination()
         143  +
    }
         144  +
    /// <p>Specify <code>SyncToDestination</code> to create a resource data sync that synchronizes data to an S3 bucket for Inventory. If you specify <code>SyncToDestination</code>, you must provide a value for <code>S3Destination</code>. Specify <code>SyncFromSource</code> to synchronize data from a single account and multiple Regions, or multiple Amazon Web Services accounts and Amazon Web Services Regions, as listed in Organizations for Explorer. If you specify <code>SyncFromSource</code>, you must provide a value for <code>SyncSource</code>. The default value is <code>SyncToDestination</code>.</p>
         145  +
    pub fn sync_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         146  +
        self.inner = self.inner.sync_type(input.into());
         147  +
        self
         148  +
    }
         149  +
    /// <p>Specify <code>SyncToDestination</code> to create a resource data sync that synchronizes data to an S3 bucket for Inventory. If you specify <code>SyncToDestination</code>, you must provide a value for <code>S3Destination</code>. Specify <code>SyncFromSource</code> to synchronize data from a single account and multiple Regions, or multiple Amazon Web Services accounts and Amazon Web Services Regions, as listed in Organizations for Explorer. If you specify <code>SyncFromSource</code>, you must provide a value for <code>SyncSource</code>. The default value is <code>SyncToDestination</code>.</p>
         150  +
    pub fn set_sync_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         151  +
        self.inner = self.inner.set_sync_type(input);
         152  +
        self
         153  +
    }
         154  +
    /// <p>Specify <code>SyncToDestination</code> to create a resource data sync that synchronizes data to an S3 bucket for Inventory. If you specify <code>SyncToDestination</code>, you must provide a value for <code>S3Destination</code>. Specify <code>SyncFromSource</code> to synchronize data from a single account and multiple Regions, or multiple Amazon Web Services accounts and Amazon Web Services Regions, as listed in Organizations for Explorer. If you specify <code>SyncFromSource</code>, you must provide a value for <code>SyncSource</code>. The default value is <code>SyncToDestination</code>.</p>
         155  +
    pub fn get_sync_type(&self) -> &::std::option::Option<::std::string::String> {
         156  +
        self.inner.get_sync_type()
         157  +
    }
         158  +
    /// <p>Specify information about the data sources to synchronize. This parameter is required if the <code>SyncType</code> value is SyncFromSource.</p>
         159  +
    pub fn sync_source(mut self, input: crate::types::ResourceDataSyncSource) -> Self {
         160  +
        self.inner = self.inner.sync_source(input);
         161  +
        self
         162  +
    }
         163  +
    /// <p>Specify information about the data sources to synchronize. This parameter is required if the <code>SyncType</code> value is SyncFromSource.</p>
         164  +
    pub fn set_sync_source(mut self, input: ::std::option::Option<crate::types::ResourceDataSyncSource>) -> Self {
         165  +
        self.inner = self.inner.set_sync_source(input);
         166  +
        self
         167  +
    }
         168  +
    /// <p>Specify information about the data sources to synchronize. This parameter is required if the <code>SyncType</code> value is SyncFromSource.</p>
         169  +
    pub fn get_sync_source(&self) -> &::std::option::Option<crate::types::ResourceDataSyncSource> {
         170  +
        self.inner.get_sync_source()
         171  +
    }
         172  +
}

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

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