Skip to main content

aws_sdk_efs/operation/
update_file_system.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2/// Orchestration and serialization glue logic for `UpdateFileSystem`.
3#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
4#[non_exhaustive]
5pub struct UpdateFileSystem;
6impl UpdateFileSystem {
7    /// Creates a new `UpdateFileSystem`
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::update_file_system::UpdateFileSystemInput,
14    ) -> ::std::result::Result<
15        crate::operation::update_file_system::UpdateFileSystemOutput,
16        ::aws_smithy_runtime_api::client::result::SdkError<
17            crate::operation::update_file_system::UpdateFileSystemError,
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::update_file_system::UpdateFileSystemError>()
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::update_file_system::UpdateFileSystemOutput>()
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::update_file_system::UpdateFileSystemInput,
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("EFS", "UpdateFileSystem", input, runtime_plugins, stop_point)
55            // Create a parent span for the entire operation. Includes a random, internal-only,
56            // seven-digit ID for the operation orchestration so that it can be correlated in the logs.
57            .instrument(::tracing::debug_span!(
58                "EFS.UpdateFileSystem",
59                "rpc.service" = "EFS",
60                "rpc.method" = "UpdateFileSystem",
61                "sdk_invocation_id" = ::fastrand::u32(1_000_000..10_000_000),
62                "rpc.system" = "aws-api",
63            ))
64            .await
65    }
66
67    pub(crate) fn operation_runtime_plugins(
68        client_runtime_plugins: ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
69        client_config: &crate::config::Config,
70        config_override: ::std::option::Option<crate::config::Builder>,
71    ) -> ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins {
72        let mut runtime_plugins = client_runtime_plugins.with_operation_plugin(Self::new());
73
74        if let ::std::option::Option::Some(config_override) = config_override {
75            for plugin in config_override.runtime_plugins.iter().cloned() {
76                runtime_plugins = runtime_plugins.with_operation_plugin(plugin);
77            }
78            runtime_plugins = runtime_plugins.with_operation_plugin(crate::config::ConfigOverrideRuntimePlugin::new(
79                config_override,
80                client_config.config.clone(),
81                &client_config.runtime_components,
82            ));
83        }
84        runtime_plugins
85    }
86}
87impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for UpdateFileSystem {
88    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
89        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("UpdateFileSystem");
90
91        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
92            UpdateFileSystemRequestSerializer,
93        ));
94        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
95            UpdateFileSystemResponseDeserializer,
96        ));
97
98        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
99            crate::config::auth::Params::builder()
100                .operation_name("UpdateFileSystem")
101                .build()
102                .expect("required fields set"),
103        ));
104
105        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new("UpdateFileSystem", "EFS"));
106        let mut signing_options = ::aws_runtime::auth::SigningOptions::default();
107        signing_options.double_uri_encode = true;
108        signing_options.content_sha256_header = false;
109        signing_options.normalize_uri_path = true;
110        signing_options.payload_override = None;
111
112        cfg.store_put(::aws_runtime::auth::SigV4OperationSigningConfig {
113            signing_options,
114            ..::std::default::Default::default()
115        });
116
117        ::std::option::Option::Some(cfg.freeze())
118    }
119
120    fn runtime_components(
121        &self,
122        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
123    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
124        #[allow(unused_mut)]
125        let mut rcb = ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("UpdateFileSystem")
126            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
127                UpdateFileSystemTelemetryInputCaptureInterceptor,
128            ))
129            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
130                ::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default(),
131            ))
132            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
133                UpdateFileSystemEndpointParamsInterceptor,
134            ))
135            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
136                crate::operation::update_file_system::UpdateFileSystemError,
137            >::new())
138            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
139                crate::operation::update_file_system::UpdateFileSystemError,
140            >::new())
141            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
142                crate::operation::update_file_system::UpdateFileSystemError,
143            >::new());
144
145        ::std::borrow::Cow::Owned(rcb)
146    }
147}
148
149#[derive(Debug)]
150struct UpdateFileSystemTelemetryInputCaptureInterceptor;
151
152#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
153impl ::aws_smithy_runtime_api::client::interceptors::Intercept for UpdateFileSystemTelemetryInputCaptureInterceptor {
154    fn name(&self) -> &'static str {
155        "UpdateFileSystemTelemetryInputCaptureInterceptor"
156    }
157
158    fn read_before_execution(
159        &self,
160        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
161            '_,
162            ::aws_smithy_runtime_api::client::interceptors::context::Input,
163            ::aws_smithy_runtime_api::client::interceptors::context::Output,
164            ::aws_smithy_runtime_api::client::interceptors::context::Error,
165        >,
166        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
167    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
168        // Nothing to do unless the customer opted in by naming members to record.
169        let ::std::option::Option::Some(requested) = cfg
170            .load::<::aws_smithy_types::telemetry::RequestedTelemetryAttributes>()
171            .filter(|r| !r.is_empty())
172        else {
173            return ::std::result::Result::Ok(());
174        };
175
176        let ::std::option::Option::Some(input) = context.input().downcast_ref::<UpdateFileSystemInput>() else {
177            // A mismatched input is not this interceptor's concern; skip quietly.
178            return ::std::result::Result::Ok(());
179        };
180
181        let mut captured = ::aws_smithy_types::telemetry::CapturedTelemetryAttributes::default();
182        if requested.should_capture("FileSystemId") {
183            if let ::std::option::Option::Some(value) = input.file_system_id.as_deref() {
184                captured.insert("FileSystemId", value);
185            }
186        }
187
188        cfg.interceptor_state().store_put(captured);
189        ::std::result::Result::Ok(())
190    }
191}
192#[derive(Debug)]
193struct UpdateFileSystemResponseDeserializer;
194impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for UpdateFileSystemResponseDeserializer {
195    fn deserialize_nonstreaming_with_config(
196        &self,
197        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
198        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
199    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
200        let (success, status) = (response.status().is_success(), response.status().as_u16());
201        let headers = response.headers();
202        let body = response.body().bytes().expect("body loaded");
203        #[allow(unused_mut)]
204        let mut force_error = false;
205        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
206        let parse_result = if !success && status != 202 || force_error {
207            crate::protocol_serde::shape_update_file_system::de_update_file_system_http_error(status, headers, body)
208        } else {
209            crate::protocol_serde::shape_update_file_system::de_update_file_system_http_response(status, headers, body)
210        };
211        crate::protocol_serde::type_erase_result(parse_result)
212    }
213}
214#[derive(Debug)]
215struct UpdateFileSystemRequestSerializer;
216impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for UpdateFileSystemRequestSerializer {
217    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
218    fn serialize_input(
219        &self,
220        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
221        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
222    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
223        let input = input
224            .downcast::<crate::operation::update_file_system::UpdateFileSystemInput>()
225            .expect("correct type");
226        let _header_serialization_settings = _cfg
227            .load::<crate::serialization_settings::HeaderSerializationSettings>()
228            .cloned()
229            .unwrap_or_default();
230        let mut request_builder = {
231            #[allow(clippy::uninlined_format_args)]
232            fn uri_base(
233                _input: &crate::operation::update_file_system::UpdateFileSystemInput,
234                output: &mut ::std::string::String,
235            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
236                use ::std::fmt::Write as _;
237                let input_1 = &_input.file_system_id;
238                let input_1 = input_1
239                    .as_ref()
240                    .ok_or_else(|| ::aws_smithy_types::error::operation::BuildError::missing_field("file_system_id", "cannot be empty or unset"))?;
241                let file_system_id = ::aws_smithy_http::label::fmt_string(input_1, ::aws_smithy_http::label::EncodingStrategy::Default);
242                if file_system_id.is_empty() {
243                    return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::missing_field(
244                        "file_system_id",
245                        "cannot be empty or unset",
246                    ));
247                }
248                ::std::write!(output, "/2015-02-01/file-systems/{FileSystemId}", FileSystemId = file_system_id).expect("formatting should succeed");
249                ::std::result::Result::Ok(())
250            }
251            #[allow(clippy::unnecessary_wraps)]
252            fn update_http_builder(
253                input: &crate::operation::update_file_system::UpdateFileSystemInput,
254                builder: ::http_1x::request::Builder,
255            ) -> ::std::result::Result<::http_1x::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
256                let mut uri = ::std::string::String::new();
257                uri_base(input, &mut uri)?;
258                ::std::result::Result::Ok(builder.method("PUT").uri(uri))
259            }
260            let mut builder = update_http_builder(&input, ::http_1x::request::Builder::new())?;
261            builder = _header_serialization_settings.set_default_header(builder, ::http_1x::header::CONTENT_TYPE, "application/json");
262            builder
263        };
264        let body = ::aws_smithy_types::body::SdkBody::from(crate::protocol_serde::shape_update_file_system::ser_update_file_system_input(&input)?);
265        if let Some(content_length) = body.content_length() {
266            let content_length = content_length.to_string();
267            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http_1x::header::CONTENT_LENGTH, &content_length);
268        }
269        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
270    }
271}
272#[derive(Debug)]
273struct UpdateFileSystemEndpointParamsInterceptor;
274
275#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
276impl ::aws_smithy_runtime_api::client::interceptors::Intercept for UpdateFileSystemEndpointParamsInterceptor {
277    fn name(&self) -> &'static str {
278        "UpdateFileSystemEndpointParamsInterceptor"
279    }
280
281    fn read_before_execution(
282        &self,
283        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
284            '_,
285            ::aws_smithy_runtime_api::client::interceptors::context::Input,
286            ::aws_smithy_runtime_api::client::interceptors::context::Output,
287            ::aws_smithy_runtime_api::client::interceptors::context::Error,
288        >,
289        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
290    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
291        let _input = context
292            .input()
293            .downcast_ref::<UpdateFileSystemInput>()
294            .ok_or("failed to downcast to UpdateFileSystemInput")?;
295
296        let params = crate::config::endpoint::Params::builder()
297            .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0))
298            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
299            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
300            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
301            .build()
302            .map_err(|err| {
303                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
304            })?;
305        cfg.interceptor_state()
306            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
307        ::std::result::Result::Ok(())
308    }
309}
310
311// The get_* functions below are generated from JMESPath expressions in the
312// operationContextParams trait. They target the operation's input shape.
313
314/// Error type for the `UpdateFileSystemError` operation.
315#[non_exhaustive]
316#[derive(::std::fmt::Debug)]
317pub enum UpdateFileSystemError {
318    /// <p>Returned if the request is malformed or contains an error such as an invalid parameter value or a missing required parameter.</p>
319    BadRequest(crate::types::error::BadRequest),
320    /// <p>Returned if the specified <code>FileSystemId</code> value doesn't exist in the requester's Amazon Web Services account.</p>
321    FileSystemNotFound(crate::types::error::FileSystemNotFound),
322    /// <p>Returned if the file system's lifecycle state is not "available".</p>
323    IncorrectFileSystemLifeCycleState(crate::types::error::IncorrectFileSystemLifeCycleState),
324    /// <p>Returned if there's not enough capacity to provision additional throughput. This value might be returned when you try to create a file system in provisioned throughput mode, when you attempt to increase the provisioned throughput of an existing file system, or when you attempt to change an existing file system from Bursting Throughput to Provisioned Throughput mode. Try again later.</p>
325    InsufficientThroughputCapacity(crate::types::error::InsufficientThroughputCapacity),
326    /// <p>Returned if an error occurred on the server side.</p>
327    InternalServerError(crate::types::error::InternalServerError),
328    /// <p>Returned if the throughput mode or amount of provisioned throughput can't be changed because the throughput limit of 1024 MiB/s has been reached.</p>
329    ThroughputLimitExceeded(crate::types::error::ThroughputLimitExceeded),
330    /// <p>Returned if you don’t wait at least 24 hours before either changing the throughput mode, or decreasing the Provisioned Throughput value.</p>
331    TooManyRequests(crate::types::error::TooManyRequests),
332    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
333    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
334    variable wildcard pattern and check `.code()`:
335     \
336    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
337     \
338    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-UpdateFileSystemError) for what information is available for the error.")]
339    Unhandled(crate::error::sealed_unhandled::Unhandled),
340}
341impl UpdateFileSystemError {
342    /// Creates the `UpdateFileSystemError::Unhandled` variant from any error type.
343    pub fn unhandled(
344        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
345    ) -> Self {
346        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
347            source: err.into(),
348            meta: ::std::default::Default::default(),
349        })
350    }
351
352    /// Creates the `UpdateFileSystemError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
353    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
354        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
355            source: err.clone().into(),
356            meta: err,
357        })
358    }
359    ///
360    /// Returns error metadata, which includes the error code, message,
361    /// request ID, and potentially additional information.
362    ///
363    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
364        match self {
365            Self::BadRequest(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
366            Self::FileSystemNotFound(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
367            Self::IncorrectFileSystemLifeCycleState(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
368            Self::InsufficientThroughputCapacity(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
369            Self::InternalServerError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
370            Self::ThroughputLimitExceeded(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
371            Self::TooManyRequests(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
372            Self::Unhandled(e) => &e.meta,
373        }
374    }
375    /// Returns `true` if the error kind is `UpdateFileSystemError::BadRequest`.
376    pub fn is_bad_request(&self) -> bool {
377        matches!(self, Self::BadRequest(_))
378    }
379    /// Returns `true` if the error kind is `UpdateFileSystemError::FileSystemNotFound`.
380    pub fn is_file_system_not_found(&self) -> bool {
381        matches!(self, Self::FileSystemNotFound(_))
382    }
383    /// Returns `true` if the error kind is `UpdateFileSystemError::IncorrectFileSystemLifeCycleState`.
384    pub fn is_incorrect_file_system_life_cycle_state(&self) -> bool {
385        matches!(self, Self::IncorrectFileSystemLifeCycleState(_))
386    }
387    /// Returns `true` if the error kind is `UpdateFileSystemError::InsufficientThroughputCapacity`.
388    pub fn is_insufficient_throughput_capacity(&self) -> bool {
389        matches!(self, Self::InsufficientThroughputCapacity(_))
390    }
391    /// Returns `true` if the error kind is `UpdateFileSystemError::InternalServerError`.
392    pub fn is_internal_server_error(&self) -> bool {
393        matches!(self, Self::InternalServerError(_))
394    }
395    /// Returns `true` if the error kind is `UpdateFileSystemError::ThroughputLimitExceeded`.
396    pub fn is_throughput_limit_exceeded(&self) -> bool {
397        matches!(self, Self::ThroughputLimitExceeded(_))
398    }
399    /// Returns `true` if the error kind is `UpdateFileSystemError::TooManyRequests`.
400    pub fn is_too_many_requests(&self) -> bool {
401        matches!(self, Self::TooManyRequests(_))
402    }
403}
404impl ::std::error::Error for UpdateFileSystemError {
405    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
406        match self {
407            Self::BadRequest(_inner) => ::std::option::Option::Some(_inner),
408            Self::FileSystemNotFound(_inner) => ::std::option::Option::Some(_inner),
409            Self::IncorrectFileSystemLifeCycleState(_inner) => ::std::option::Option::Some(_inner),
410            Self::InsufficientThroughputCapacity(_inner) => ::std::option::Option::Some(_inner),
411            Self::InternalServerError(_inner) => ::std::option::Option::Some(_inner),
412            Self::ThroughputLimitExceeded(_inner) => ::std::option::Option::Some(_inner),
413            Self::TooManyRequests(_inner) => ::std::option::Option::Some(_inner),
414            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
415        }
416    }
417}
418impl ::std::fmt::Display for UpdateFileSystemError {
419    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
420        match self {
421            Self::BadRequest(_inner) => _inner.fmt(f),
422            Self::FileSystemNotFound(_inner) => _inner.fmt(f),
423            Self::IncorrectFileSystemLifeCycleState(_inner) => _inner.fmt(f),
424            Self::InsufficientThroughputCapacity(_inner) => _inner.fmt(f),
425            Self::InternalServerError(_inner) => _inner.fmt(f),
426            Self::ThroughputLimitExceeded(_inner) => _inner.fmt(f),
427            Self::TooManyRequests(_inner) => _inner.fmt(f),
428            Self::Unhandled(_inner) => {
429                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
430                    write!(f, "unhandled error ({code})")
431                } else {
432                    f.write_str("unhandled error")
433                }
434            }
435        }
436    }
437}
438impl ::aws_smithy_types::retry::ProvideErrorKind for UpdateFileSystemError {
439    fn code(&self) -> ::std::option::Option<&str> {
440        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
441    }
442    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
443        ::std::option::Option::None
444    }
445}
446impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for UpdateFileSystemError {
447    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
448        match self {
449            Self::BadRequest(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
450            Self::FileSystemNotFound(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
451            Self::IncorrectFileSystemLifeCycleState(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
452            Self::InsufficientThroughputCapacity(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
453            Self::InternalServerError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
454            Self::ThroughputLimitExceeded(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
455            Self::TooManyRequests(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
456            Self::Unhandled(_inner) => &_inner.meta,
457        }
458    }
459}
460impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for UpdateFileSystemError {
461    fn create_unhandled_error(
462        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
463        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
464    ) -> Self {
465        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
466            source,
467            meta: meta.unwrap_or_default(),
468        })
469    }
470}
471impl ::aws_types::request_id::RequestId for crate::operation::update_file_system::UpdateFileSystemError {
472    fn request_id(&self) -> Option<&str> {
473        self.meta().request_id()
474    }
475}
476
477pub use crate::operation::update_file_system::_update_file_system_input::UpdateFileSystemInput;
478
479pub use crate::operation::update_file_system::_update_file_system_output::UpdateFileSystemOutput;
480
481mod _update_file_system_input;
482
483mod _update_file_system_output;
484
485/// Builders
486pub mod builders;