Skip to main content

aws_sdk_applicationdiscovery/operation/
start_import_task.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2/// Orchestration and serialization glue logic for `StartImportTask`.
3#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
4#[non_exhaustive]
5pub struct StartImportTask;
6impl StartImportTask {
7    /// Creates a new `StartImportTask`
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::start_import_task::StartImportTaskInput,
14    ) -> ::std::result::Result<
15        crate::operation::start_import_task::StartImportTaskOutput,
16        ::aws_smithy_runtime_api::client::result::SdkError<
17            crate::operation::start_import_task::StartImportTaskError,
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::start_import_task::StartImportTaskError>()
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::start_import_task::StartImportTaskOutput>()
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::start_import_task::StartImportTaskInput,
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            "Application Discovery Service",
56            "StartImportTask",
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            "Application Discovery Service.StartImportTask",
65            "rpc.service" = "Application Discovery Service",
66            "rpc.method" = "StartImportTask",
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        runtime_plugins = runtime_plugins.with_operation_plugin(crate::client_idempotency_token::IdempotencyTokenRuntimePlugin::new(
80            |token_provider, input| {
81                let input: &mut crate::operation::start_import_task::StartImportTaskInput = input.downcast_mut().expect("correct type");
82                if input.client_request_token.is_none() {
83                    input.client_request_token = ::std::option::Option::Some(token_provider.make_idempotency_token());
84                }
85            },
86        ));
87        if let ::std::option::Option::Some(config_override) = config_override {
88            for plugin in config_override.runtime_plugins.iter().cloned() {
89                runtime_plugins = runtime_plugins.with_operation_plugin(plugin);
90            }
91            runtime_plugins = runtime_plugins.with_operation_plugin(crate::config::ConfigOverrideRuntimePlugin::new(
92                config_override,
93                client_config.config.clone(),
94                &client_config.runtime_components,
95            ));
96        }
97        runtime_plugins
98    }
99}
100impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for StartImportTask {
101    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
102        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("StartImportTask");
103
104        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
105            StartImportTaskRequestSerializer,
106        ));
107        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
108            StartImportTaskResponseDeserializer,
109        ));
110
111        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
112            crate::config::auth::Params::builder()
113                .operation_name("StartImportTask")
114                .build()
115                .expect("required fields set"),
116        ));
117
118        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
119            "StartImportTask",
120            "Application Discovery Service",
121        ));
122        let mut signing_options = ::aws_runtime::auth::SigningOptions::default();
123        signing_options.double_uri_encode = true;
124        signing_options.content_sha256_header = false;
125        signing_options.normalize_uri_path = true;
126        signing_options.payload_override = None;
127
128        cfg.store_put(::aws_runtime::auth::SigV4OperationSigningConfig {
129            signing_options,
130            ..::std::default::Default::default()
131        });
132
133        ::std::option::Option::Some(cfg.freeze())
134    }
135
136    fn runtime_components(
137        &self,
138        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
139    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
140        #[allow(unused_mut)]
141        let mut rcb = ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("StartImportTask")
142            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
143                StartImportTaskTelemetryInputCaptureInterceptor,
144            ))
145            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
146                ::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default(),
147            ))
148            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
149                StartImportTaskEndpointParamsInterceptor,
150            ))
151            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
152                crate::operation::start_import_task::StartImportTaskError,
153            >::new())
154            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
155                crate::operation::start_import_task::StartImportTaskError,
156            >::new())
157            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
158                crate::operation::start_import_task::StartImportTaskError,
159            >::new());
160
161        ::std::borrow::Cow::Owned(rcb)
162    }
163}
164
165#[derive(Debug)]
166struct StartImportTaskTelemetryInputCaptureInterceptor;
167
168#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
169impl ::aws_smithy_runtime_api::client::interceptors::Intercept for StartImportTaskTelemetryInputCaptureInterceptor {
170    fn name(&self) -> &'static str {
171        "StartImportTaskTelemetryInputCaptureInterceptor"
172    }
173
174    fn read_before_execution(
175        &self,
176        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
177            '_,
178            ::aws_smithy_runtime_api::client::interceptors::context::Input,
179            ::aws_smithy_runtime_api::client::interceptors::context::Output,
180            ::aws_smithy_runtime_api::client::interceptors::context::Error,
181        >,
182        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
183    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
184        // Nothing to do unless the customer opted in by naming members to record.
185        let ::std::option::Option::Some(requested) = cfg
186            .load::<::aws_smithy_types::telemetry::RequestedTelemetryAttributes>()
187            .filter(|r| !r.is_empty())
188        else {
189            return ::std::result::Result::Ok(());
190        };
191
192        let ::std::option::Option::Some(input) = context.input().downcast_ref::<StartImportTaskInput>() else {
193            // A mismatched input is not this interceptor's concern; skip quietly.
194            return ::std::result::Result::Ok(());
195        };
196
197        let mut captured = ::aws_smithy_types::telemetry::CapturedTelemetryAttributes::default();
198        if requested.should_capture("clientRequestToken") {
199            if let ::std::option::Option::Some(value) = input.client_request_token.as_deref() {
200                captured.insert("clientRequestToken", value);
201            }
202        }
203        if requested.should_capture("name") {
204            if let ::std::option::Option::Some(value) = input.name.as_deref() {
205                captured.insert("name", value);
206            }
207        }
208        if requested.should_capture("importUrl") {
209            if let ::std::option::Option::Some(value) = input.import_url.as_deref() {
210                captured.insert("importUrl", value);
211            }
212        }
213
214        cfg.interceptor_state().store_put(captured);
215        ::std::result::Result::Ok(())
216    }
217}
218#[derive(Debug)]
219struct StartImportTaskResponseDeserializer;
220impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for StartImportTaskResponseDeserializer {
221    fn deserialize_nonstreaming_with_config(
222        &self,
223        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
224        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
225    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
226        let (success, status) = (response.status().is_success(), response.status().as_u16());
227        let headers = response.headers();
228        let body = response.body().bytes().expect("body loaded");
229        #[allow(unused_mut)]
230        let mut force_error = false;
231        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
232        let parse_result = if !success && status != 200 || force_error {
233            crate::protocol_serde::shape_start_import_task::de_start_import_task_http_error(status, headers, body)
234        } else {
235            crate::protocol_serde::shape_start_import_task::de_start_import_task_http_response(status, headers, body)
236        };
237        crate::protocol_serde::type_erase_result(parse_result)
238    }
239}
240#[derive(Debug)]
241struct StartImportTaskRequestSerializer;
242impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for StartImportTaskRequestSerializer {
243    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
244    fn serialize_input(
245        &self,
246        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
247        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
248    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
249        let input = input
250            .downcast::<crate::operation::start_import_task::StartImportTaskInput>()
251            .expect("correct type");
252        let _header_serialization_settings = _cfg
253            .load::<crate::serialization_settings::HeaderSerializationSettings>()
254            .cloned()
255            .unwrap_or_default();
256        let mut request_builder = {
257            #[allow(clippy::uninlined_format_args)]
258            fn uri_base(
259                _input: &crate::operation::start_import_task::StartImportTaskInput,
260                output: &mut ::std::string::String,
261            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
262                use ::std::fmt::Write as _;
263                ::std::write!(output, "/").expect("formatting should succeed");
264                ::std::result::Result::Ok(())
265            }
266            #[allow(clippy::unnecessary_wraps)]
267            fn update_http_builder(
268                input: &crate::operation::start_import_task::StartImportTaskInput,
269                builder: ::http_1x::request::Builder,
270            ) -> ::std::result::Result<::http_1x::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
271                let mut uri = ::std::string::String::new();
272                uri_base(input, &mut uri)?;
273                ::std::result::Result::Ok(builder.method("POST").uri(uri))
274            }
275            let mut builder = update_http_builder(&input, ::http_1x::request::Builder::new())?;
276            builder = _header_serialization_settings.set_default_header(builder, ::http_1x::header::CONTENT_TYPE, "application/x-amz-json-1.1");
277            builder = _header_serialization_settings.set_default_header(
278                builder,
279                ::http_1x::header::HeaderName::from_static("x-amz-target"),
280                "AWSPoseidonService_V2015_11_01.StartImportTask",
281            );
282            builder
283        };
284        let body = ::aws_smithy_types::body::SdkBody::from(crate::protocol_serde::shape_start_import_task::ser_start_import_task_input(&input)?);
285        if let Some(content_length) = body.content_length() {
286            let content_length = content_length.to_string();
287            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http_1x::header::CONTENT_LENGTH, &content_length);
288        }
289        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
290    }
291}
292#[derive(Debug)]
293struct StartImportTaskEndpointParamsInterceptor;
294
295#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
296impl ::aws_smithy_runtime_api::client::interceptors::Intercept for StartImportTaskEndpointParamsInterceptor {
297    fn name(&self) -> &'static str {
298        "StartImportTaskEndpointParamsInterceptor"
299    }
300
301    fn read_before_execution(
302        &self,
303        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
304            '_,
305            ::aws_smithy_runtime_api::client::interceptors::context::Input,
306            ::aws_smithy_runtime_api::client::interceptors::context::Output,
307            ::aws_smithy_runtime_api::client::interceptors::context::Error,
308        >,
309        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
310    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
311        let _input = context
312            .input()
313            .downcast_ref::<StartImportTaskInput>()
314            .ok_or("failed to downcast to StartImportTaskInput")?;
315
316        let params = crate::config::endpoint::Params::builder()
317            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
318            .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0))
319            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
320            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
321            .build()
322            .map_err(|err| {
323                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
324            })?;
325        cfg.interceptor_state()
326            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
327        ::std::result::Result::Ok(())
328    }
329}
330
331// The get_* functions below are generated from JMESPath expressions in the
332// operationContextParams trait. They target the operation's input shape.
333
334/// Error type for the `StartImportTaskError` operation.
335#[non_exhaustive]
336#[derive(::std::fmt::Debug)]
337pub enum StartImportTaskError {
338    /// <p>The user does not have permission to perform the action. Check the IAM policy associated with this user.</p>
339    AuthorizationErrorException(crate::types::error::AuthorizationErrorException),
340    /// <p>The home Region is not set. Set the home Region to continue.</p>
341    HomeRegionNotSetException(crate::types::error::HomeRegionNotSetException),
342    /// <p>One or more parameters are not valid. Verify the parameters and try again.</p>
343    InvalidParameterException(crate::types::error::InvalidParameterException),
344    /// <p>The value of one or more parameters are either invalid or out of range. Verify the parameter values and try again.</p>
345    InvalidParameterValueException(crate::types::error::InvalidParameterValueException),
346    /// <p>This issue occurs when the same <code>clientRequestToken</code> is used with the <code>StartImportTask</code> action, but with different parameters. For example, you use the same request token but have two different import URLs, you can encounter this issue. If the import tasks are meant to be different, use a different <code>clientRequestToken</code>, and try again.</p>
347    ResourceInUseException(crate::types::error::ResourceInUseException),
348    /// <p>The server experienced an internal error. Try again.</p>
349    ServerInternalErrorException(crate::types::error::ServerInternalErrorException),
350    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
351    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
352    variable wildcard pattern and check `.code()`:
353     \
354    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
355     \
356    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-StartImportTaskError) for what information is available for the error.")]
357    Unhandled(crate::error::sealed_unhandled::Unhandled),
358}
359impl StartImportTaskError {
360    /// Creates the `StartImportTaskError::Unhandled` variant from any error type.
361    pub fn unhandled(
362        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
363    ) -> Self {
364        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
365            source: err.into(),
366            meta: ::std::default::Default::default(),
367        })
368    }
369
370    /// Creates the `StartImportTaskError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
371    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
372        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
373            source: err.clone().into(),
374            meta: err,
375        })
376    }
377    ///
378    /// Returns error metadata, which includes the error code, message,
379    /// request ID, and potentially additional information.
380    ///
381    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
382        match self {
383            Self::AuthorizationErrorException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
384            Self::HomeRegionNotSetException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
385            Self::InvalidParameterException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
386            Self::InvalidParameterValueException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
387            Self::ResourceInUseException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
388            Self::ServerInternalErrorException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
389            Self::Unhandled(e) => &e.meta,
390        }
391    }
392    /// Returns `true` if the error kind is `StartImportTaskError::AuthorizationErrorException`.
393    pub fn is_authorization_error_exception(&self) -> bool {
394        matches!(self, Self::AuthorizationErrorException(_))
395    }
396    /// Returns `true` if the error kind is `StartImportTaskError::HomeRegionNotSetException`.
397    pub fn is_home_region_not_set_exception(&self) -> bool {
398        matches!(self, Self::HomeRegionNotSetException(_))
399    }
400    /// Returns `true` if the error kind is `StartImportTaskError::InvalidParameterException`.
401    pub fn is_invalid_parameter_exception(&self) -> bool {
402        matches!(self, Self::InvalidParameterException(_))
403    }
404    /// Returns `true` if the error kind is `StartImportTaskError::InvalidParameterValueException`.
405    pub fn is_invalid_parameter_value_exception(&self) -> bool {
406        matches!(self, Self::InvalidParameterValueException(_))
407    }
408    /// Returns `true` if the error kind is `StartImportTaskError::ResourceInUseException`.
409    pub fn is_resource_in_use_exception(&self) -> bool {
410        matches!(self, Self::ResourceInUseException(_))
411    }
412    /// Returns `true` if the error kind is `StartImportTaskError::ServerInternalErrorException`.
413    pub fn is_server_internal_error_exception(&self) -> bool {
414        matches!(self, Self::ServerInternalErrorException(_))
415    }
416}
417impl ::std::error::Error for StartImportTaskError {
418    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
419        match self {
420            Self::AuthorizationErrorException(_inner) => ::std::option::Option::Some(_inner),
421            Self::HomeRegionNotSetException(_inner) => ::std::option::Option::Some(_inner),
422            Self::InvalidParameterException(_inner) => ::std::option::Option::Some(_inner),
423            Self::InvalidParameterValueException(_inner) => ::std::option::Option::Some(_inner),
424            Self::ResourceInUseException(_inner) => ::std::option::Option::Some(_inner),
425            Self::ServerInternalErrorException(_inner) => ::std::option::Option::Some(_inner),
426            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
427        }
428    }
429}
430impl ::std::fmt::Display for StartImportTaskError {
431    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
432        match self {
433            Self::AuthorizationErrorException(_inner) => _inner.fmt(f),
434            Self::HomeRegionNotSetException(_inner) => _inner.fmt(f),
435            Self::InvalidParameterException(_inner) => _inner.fmt(f),
436            Self::InvalidParameterValueException(_inner) => _inner.fmt(f),
437            Self::ResourceInUseException(_inner) => _inner.fmt(f),
438            Self::ServerInternalErrorException(_inner) => _inner.fmt(f),
439            Self::Unhandled(_inner) => {
440                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
441                    write!(f, "unhandled error ({code})")
442                } else {
443                    f.write_str("unhandled error")
444                }
445            }
446        }
447    }
448}
449impl ::aws_smithy_types::retry::ProvideErrorKind for StartImportTaskError {
450    fn code(&self) -> ::std::option::Option<&str> {
451        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
452    }
453    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
454        ::std::option::Option::None
455    }
456}
457impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for StartImportTaskError {
458    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
459        match self {
460            Self::AuthorizationErrorException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
461            Self::HomeRegionNotSetException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
462            Self::InvalidParameterException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
463            Self::InvalidParameterValueException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
464            Self::ResourceInUseException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
465            Self::ServerInternalErrorException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
466            Self::Unhandled(_inner) => &_inner.meta,
467        }
468    }
469}
470impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for StartImportTaskError {
471    fn create_unhandled_error(
472        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
473        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
474    ) -> Self {
475        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
476            source,
477            meta: meta.unwrap_or_default(),
478        })
479    }
480}
481impl ::aws_types::request_id::RequestId for crate::operation::start_import_task::StartImportTaskError {
482    fn request_id(&self) -> Option<&str> {
483        self.meta().request_id()
484    }
485}
486
487pub use crate::operation::start_import_task::_start_import_task_input::StartImportTaskInput;
488
489pub use crate::operation::start_import_task::_start_import_task_output::StartImportTaskOutput;
490
491mod _start_import_task_input;
492
493mod _start_import_task_output;
494
495/// Builders
496pub mod builders;