Skip to main content

aws_sdk_efs/operation/
modify_mount_target_security_groups.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2/// Orchestration and serialization glue logic for `ModifyMountTargetSecurityGroups`.
3#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
4#[non_exhaustive]
5pub struct ModifyMountTargetSecurityGroups;
6impl ModifyMountTargetSecurityGroups {
7    /// Creates a new `ModifyMountTargetSecurityGroups`
8    pub fn new() -> Self {
9        Self
10    }
11    pub(crate) async fn orchestrate(
12        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
13        input: crate::operation::modify_mount_target_security_groups::ModifyMountTargetSecurityGroupsInput,
14    ) -> ::std::result::Result<
15        crate::operation::modify_mount_target_security_groups::ModifyMountTargetSecurityGroupsOutput,
16        ::aws_smithy_runtime_api::client::result::SdkError<
17            crate::operation::modify_mount_target_security_groups::ModifyMountTargetSecurityGroupsError,
18            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
19        >,
20    > {
21        let map_err = |err: ::aws_smithy_runtime_api::client::result::SdkError<
22            ::aws_smithy_runtime_api::client::interceptors::context::Error,
23            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
24        >| {
25            err.map_service_error(|err| {
26                err.downcast::<crate::operation::modify_mount_target_security_groups::ModifyMountTargetSecurityGroupsError>()
27                    .expect("correct error type")
28            })
29        };
30        let context = Self::orchestrate_with_stop_point(runtime_plugins, input, ::aws_smithy_runtime::client::orchestrator::StopPoint::None)
31            .await
32            .map_err(map_err)?;
33        let output = context.finalize().map_err(map_err)?;
34        ::std::result::Result::Ok(
35            output
36                .downcast::<crate::operation::modify_mount_target_security_groups::ModifyMountTargetSecurityGroupsOutput>()
37                .expect("correct output type"),
38        )
39    }
40
41    pub(crate) async fn orchestrate_with_stop_point(
42        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
43        input: crate::operation::modify_mount_target_security_groups::ModifyMountTargetSecurityGroupsInput,
44        stop_point: ::aws_smithy_runtime::client::orchestrator::StopPoint,
45    ) -> ::std::result::Result<
46        ::aws_smithy_runtime_api::client::interceptors::context::InterceptorContext,
47        ::aws_smithy_runtime_api::client::result::SdkError<
48            ::aws_smithy_runtime_api::client::interceptors::context::Error,
49            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
50        >,
51    > {
52        let input = ::aws_smithy_runtime_api::client::interceptors::context::Input::erase(input);
53        use ::tracing::Instrument;
54        ::aws_smithy_runtime::client::orchestrator::invoke_with_stop_point(
55            "EFS",
56            "ModifyMountTargetSecurityGroups",
57            input,
58            runtime_plugins,
59            stop_point,
60        )
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            "EFS.ModifyMountTargetSecurityGroups",
65            "rpc.service" = "EFS",
66            "rpc.method" = "ModifyMountTargetSecurityGroups",
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}
93impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for ModifyMountTargetSecurityGroups {
94    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
95        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("ModifyMountTargetSecurityGroups");
96
97        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
98            ModifyMountTargetSecurityGroupsRequestSerializer,
99        ));
100        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
101            ModifyMountTargetSecurityGroupsResponseDeserializer,
102        ));
103
104        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
105            crate::config::auth::Params::builder()
106                .operation_name("ModifyMountTargetSecurityGroups")
107                .build()
108                .expect("required fields set"),
109        ));
110
111        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
112            "ModifyMountTargetSecurityGroups",
113            "EFS",
114        ));
115        let mut signing_options = ::aws_runtime::auth::SigningOptions::default();
116        signing_options.double_uri_encode = true;
117        signing_options.content_sha256_header = false;
118        signing_options.normalize_uri_path = true;
119        signing_options.payload_override = None;
120
121        cfg.store_put(::aws_runtime::auth::SigV4OperationSigningConfig {
122            signing_options,
123            ..::std::default::Default::default()
124        });
125
126        ::std::option::Option::Some(cfg.freeze())
127    }
128
129    fn runtime_components(
130        &self,
131        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
132    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
133        #[allow(unused_mut)]
134        let mut rcb = ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("ModifyMountTargetSecurityGroups")
135            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
136                ::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default(),
137            ))
138            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
139                ModifyMountTargetSecurityGroupsEndpointParamsInterceptor,
140            ))
141            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
142                crate::operation::modify_mount_target_security_groups::ModifyMountTargetSecurityGroupsError,
143            >::new())
144            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
145                crate::operation::modify_mount_target_security_groups::ModifyMountTargetSecurityGroupsError,
146            >::new())
147            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
148                crate::operation::modify_mount_target_security_groups::ModifyMountTargetSecurityGroupsError,
149            >::new());
150
151        ::std::borrow::Cow::Owned(rcb)
152    }
153}
154
155#[derive(Debug)]
156struct ModifyMountTargetSecurityGroupsResponseDeserializer;
157impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for ModifyMountTargetSecurityGroupsResponseDeserializer {
158    fn deserialize_nonstreaming_with_config(
159        &self,
160        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
161        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
162    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
163        let (success, status) = (response.status().is_success(), response.status().as_u16());
164        let headers = response.headers();
165        let body = response.body().bytes().expect("body loaded");
166        #[allow(unused_mut)]
167        let mut force_error = false;
168        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
169        let parse_result = if !success && status != 204 || force_error {
170            crate::protocol_serde::shape_modify_mount_target_security_groups::de_modify_mount_target_security_groups_http_error(status, headers, body)
171        } else {
172            crate::protocol_serde::shape_modify_mount_target_security_groups::de_modify_mount_target_security_groups_http_response(
173                status, headers, body,
174            )
175        };
176        crate::protocol_serde::type_erase_result(parse_result)
177    }
178}
179#[derive(Debug)]
180struct ModifyMountTargetSecurityGroupsRequestSerializer;
181impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for ModifyMountTargetSecurityGroupsRequestSerializer {
182    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
183    fn serialize_input(
184        &self,
185        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
186        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
187    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
188        let input = input
189            .downcast::<crate::operation::modify_mount_target_security_groups::ModifyMountTargetSecurityGroupsInput>()
190            .expect("correct type");
191        let _header_serialization_settings = _cfg
192            .load::<crate::serialization_settings::HeaderSerializationSettings>()
193            .cloned()
194            .unwrap_or_default();
195        let mut request_builder = {
196            #[allow(clippy::uninlined_format_args)]
197            fn uri_base(
198                _input: &crate::operation::modify_mount_target_security_groups::ModifyMountTargetSecurityGroupsInput,
199                output: &mut ::std::string::String,
200            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
201                use ::std::fmt::Write as _;
202                let input_1 = &_input.mount_target_id;
203                let input_1 = input_1
204                    .as_ref()
205                    .ok_or_else(|| ::aws_smithy_types::error::operation::BuildError::missing_field("mount_target_id", "cannot be empty or unset"))?;
206                let mount_target_id = ::aws_smithy_http::label::fmt_string(input_1, ::aws_smithy_http::label::EncodingStrategy::Default);
207                if mount_target_id.is_empty() {
208                    return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::missing_field(
209                        "mount_target_id",
210                        "cannot be empty or unset",
211                    ));
212                }
213                ::std::write!(
214                    output,
215                    "/2015-02-01/mount-targets/{MountTargetId}/security-groups",
216                    MountTargetId = mount_target_id
217                )
218                .expect("formatting should succeed");
219                ::std::result::Result::Ok(())
220            }
221            #[allow(clippy::unnecessary_wraps)]
222            fn update_http_builder(
223                input: &crate::operation::modify_mount_target_security_groups::ModifyMountTargetSecurityGroupsInput,
224                builder: ::http_1x::request::Builder,
225            ) -> ::std::result::Result<::http_1x::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
226                let mut uri = ::std::string::String::new();
227                uri_base(input, &mut uri)?;
228                ::std::result::Result::Ok(builder.method("PUT").uri(uri))
229            }
230            let mut builder = update_http_builder(&input, ::http_1x::request::Builder::new())?;
231            builder = _header_serialization_settings.set_default_header(builder, ::http_1x::header::CONTENT_TYPE, "application/json");
232            builder
233        };
234        let body = ::aws_smithy_types::body::SdkBody::from(
235            crate::protocol_serde::shape_modify_mount_target_security_groups::ser_modify_mount_target_security_groups_input(&input)?,
236        );
237        if let Some(content_length) = body.content_length() {
238            let content_length = content_length.to_string();
239            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http_1x::header::CONTENT_LENGTH, &content_length);
240        }
241        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
242    }
243}
244#[derive(Debug)]
245struct ModifyMountTargetSecurityGroupsEndpointParamsInterceptor;
246
247#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
248impl ::aws_smithy_runtime_api::client::interceptors::Intercept for ModifyMountTargetSecurityGroupsEndpointParamsInterceptor {
249    fn name(&self) -> &'static str {
250        "ModifyMountTargetSecurityGroupsEndpointParamsInterceptor"
251    }
252
253    fn read_before_execution(
254        &self,
255        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
256            '_,
257            ::aws_smithy_runtime_api::client::interceptors::context::Input,
258            ::aws_smithy_runtime_api::client::interceptors::context::Output,
259            ::aws_smithy_runtime_api::client::interceptors::context::Error,
260        >,
261        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
262    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
263        let _input = context
264            .input()
265            .downcast_ref::<ModifyMountTargetSecurityGroupsInput>()
266            .ok_or("failed to downcast to ModifyMountTargetSecurityGroupsInput")?;
267
268        let params = crate::config::endpoint::Params::builder()
269            .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0))
270            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
271            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
272            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
273            .build()
274            .map_err(|err| {
275                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
276            })?;
277        cfg.interceptor_state()
278            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
279        ::std::result::Result::Ok(())
280    }
281}
282
283// The get_* functions below are generated from JMESPath expressions in the
284// operationContextParams trait. They target the operation's input shape.
285
286/// Error type for the `ModifyMountTargetSecurityGroupsError` operation.
287#[non_exhaustive]
288#[derive(::std::fmt::Debug)]
289pub enum ModifyMountTargetSecurityGroupsError {
290    /// <p>Returned if the request is malformed or contains an error such as an invalid parameter value or a missing required parameter.</p>
291    BadRequest(crate::types::error::BadRequest),
292    /// <p>Returned if the mount target is not in the correct state for the operation.</p>
293    IncorrectMountTargetState(crate::types::error::IncorrectMountTargetState),
294    /// <p>Returned if an error occurred on the server side.</p>
295    InternalServerError(crate::types::error::InternalServerError),
296    /// <p>Returned if there is no mount target with the specified ID found in the caller's Amazon Web Services account.</p>
297    MountTargetNotFound(crate::types::error::MountTargetNotFound),
298    /// <p>Returned if the number of <code>SecurityGroups</code> specified in the request is greater than the limit, which is based on account quota. Either delete some security groups or request that the account quota be raised. For more information, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html">Amazon VPC Quotas</a> in the <i>Amazon VPC User Guide</i> (see the <b>Security Groups</b> table).</p>
299    SecurityGroupLimitExceeded(crate::types::error::SecurityGroupLimitExceeded),
300    /// <p>Returned if one of the specified security groups doesn't exist in the subnet's virtual private cloud (VPC).</p>
301    SecurityGroupNotFound(crate::types::error::SecurityGroupNotFound),
302    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
303    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
304    variable wildcard pattern and check `.code()`:
305     \
306    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
307     \
308    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-ModifyMountTargetSecurityGroupsError) for what information is available for the error.")]
309    Unhandled(crate::error::sealed_unhandled::Unhandled),
310}
311impl ModifyMountTargetSecurityGroupsError {
312    /// Creates the `ModifyMountTargetSecurityGroupsError::Unhandled` variant from any error type.
313    pub fn unhandled(
314        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
315    ) -> Self {
316        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
317            source: err.into(),
318            meta: ::std::default::Default::default(),
319        })
320    }
321
322    /// Creates the `ModifyMountTargetSecurityGroupsError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
323    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
324        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
325            source: err.clone().into(),
326            meta: err,
327        })
328    }
329    ///
330    /// Returns error metadata, which includes the error code, message,
331    /// request ID, and potentially additional information.
332    ///
333    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
334        match self {
335            Self::BadRequest(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
336            Self::IncorrectMountTargetState(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
337            Self::InternalServerError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
338            Self::MountTargetNotFound(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
339            Self::SecurityGroupLimitExceeded(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
340            Self::SecurityGroupNotFound(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
341            Self::Unhandled(e) => &e.meta,
342        }
343    }
344    /// Returns `true` if the error kind is `ModifyMountTargetSecurityGroupsError::BadRequest`.
345    pub fn is_bad_request(&self) -> bool {
346        matches!(self, Self::BadRequest(_))
347    }
348    /// Returns `true` if the error kind is `ModifyMountTargetSecurityGroupsError::IncorrectMountTargetState`.
349    pub fn is_incorrect_mount_target_state(&self) -> bool {
350        matches!(self, Self::IncorrectMountTargetState(_))
351    }
352    /// Returns `true` if the error kind is `ModifyMountTargetSecurityGroupsError::InternalServerError`.
353    pub fn is_internal_server_error(&self) -> bool {
354        matches!(self, Self::InternalServerError(_))
355    }
356    /// Returns `true` if the error kind is `ModifyMountTargetSecurityGroupsError::MountTargetNotFound`.
357    pub fn is_mount_target_not_found(&self) -> bool {
358        matches!(self, Self::MountTargetNotFound(_))
359    }
360    /// Returns `true` if the error kind is `ModifyMountTargetSecurityGroupsError::SecurityGroupLimitExceeded`.
361    pub fn is_security_group_limit_exceeded(&self) -> bool {
362        matches!(self, Self::SecurityGroupLimitExceeded(_))
363    }
364    /// Returns `true` if the error kind is `ModifyMountTargetSecurityGroupsError::SecurityGroupNotFound`.
365    pub fn is_security_group_not_found(&self) -> bool {
366        matches!(self, Self::SecurityGroupNotFound(_))
367    }
368}
369impl ::std::error::Error for ModifyMountTargetSecurityGroupsError {
370    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
371        match self {
372            Self::BadRequest(_inner) => ::std::option::Option::Some(_inner),
373            Self::IncorrectMountTargetState(_inner) => ::std::option::Option::Some(_inner),
374            Self::InternalServerError(_inner) => ::std::option::Option::Some(_inner),
375            Self::MountTargetNotFound(_inner) => ::std::option::Option::Some(_inner),
376            Self::SecurityGroupLimitExceeded(_inner) => ::std::option::Option::Some(_inner),
377            Self::SecurityGroupNotFound(_inner) => ::std::option::Option::Some(_inner),
378            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
379        }
380    }
381}
382impl ::std::fmt::Display for ModifyMountTargetSecurityGroupsError {
383    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
384        match self {
385            Self::BadRequest(_inner) => _inner.fmt(f),
386            Self::IncorrectMountTargetState(_inner) => _inner.fmt(f),
387            Self::InternalServerError(_inner) => _inner.fmt(f),
388            Self::MountTargetNotFound(_inner) => _inner.fmt(f),
389            Self::SecurityGroupLimitExceeded(_inner) => _inner.fmt(f),
390            Self::SecurityGroupNotFound(_inner) => _inner.fmt(f),
391            Self::Unhandled(_inner) => {
392                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
393                    write!(f, "unhandled error ({code})")
394                } else {
395                    f.write_str("unhandled error")
396                }
397            }
398        }
399    }
400}
401impl ::aws_smithy_types::retry::ProvideErrorKind for ModifyMountTargetSecurityGroupsError {
402    fn code(&self) -> ::std::option::Option<&str> {
403        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
404    }
405    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
406        ::std::option::Option::None
407    }
408}
409impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for ModifyMountTargetSecurityGroupsError {
410    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
411        match self {
412            Self::BadRequest(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
413            Self::IncorrectMountTargetState(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
414            Self::InternalServerError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
415            Self::MountTargetNotFound(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
416            Self::SecurityGroupLimitExceeded(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
417            Self::SecurityGroupNotFound(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
418            Self::Unhandled(_inner) => &_inner.meta,
419        }
420    }
421}
422impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for ModifyMountTargetSecurityGroupsError {
423    fn create_unhandled_error(
424        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
425        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
426    ) -> Self {
427        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
428            source,
429            meta: meta.unwrap_or_default(),
430        })
431    }
432}
433impl ::aws_types::request_id::RequestId for crate::operation::modify_mount_target_security_groups::ModifyMountTargetSecurityGroupsError {
434    fn request_id(&self) -> Option<&str> {
435        self.meta().request_id()
436    }
437}
438
439pub use crate::operation::modify_mount_target_security_groups::_modify_mount_target_security_groups_input::ModifyMountTargetSecurityGroupsInput;
440
441pub use crate::operation::modify_mount_target_security_groups::_modify_mount_target_security_groups_output::ModifyMountTargetSecurityGroupsOutput;
442
443mod _modify_mount_target_security_groups_input;
444
445mod _modify_mount_target_security_groups_output;
446
447/// Builders
448pub mod builders;