Skip to main content

aws_sdk_applicationdiscovery/operation/
start_continuous_export.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2/// Orchestration and serialization glue logic for `StartContinuousExport`.
3#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
4#[non_exhaustive]
5pub struct StartContinuousExport;
6impl StartContinuousExport {
7    /// Creates a new `StartContinuousExport`
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_continuous_export::StartContinuousExportInput,
14    ) -> ::std::result::Result<
15        crate::operation::start_continuous_export::StartContinuousExportOutput,
16        ::aws_smithy_runtime_api::client::result::SdkError<
17            crate::operation::start_continuous_export::StartContinuousExportError,
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_continuous_export::StartContinuousExportError>()
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_continuous_export::StartContinuousExportOutput>()
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_continuous_export::StartContinuousExportInput,
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            "StartContinuousExport",
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.StartContinuousExport",
65            "rpc.service" = "Application Discovery Service",
66            "rpc.method" = "StartContinuousExport",
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 StartContinuousExport {
94    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
95        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("StartContinuousExport");
96
97        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
98            StartContinuousExportRequestSerializer,
99        ));
100        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
101            StartContinuousExportResponseDeserializer,
102        ));
103
104        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
105            crate::config::auth::Params::builder()
106                .operation_name("StartContinuousExport")
107                .build()
108                .expect("required fields set"),
109        ));
110
111        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
112            "StartContinuousExport",
113            "Application Discovery Service",
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("StartContinuousExport")
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                StartContinuousExportEndpointParamsInterceptor,
140            ))
141            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
142                crate::operation::start_continuous_export::StartContinuousExportError,
143            >::new())
144            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
145                crate::operation::start_continuous_export::StartContinuousExportError,
146            >::new())
147            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
148                crate::operation::start_continuous_export::StartContinuousExportError,
149            >::new())
150            .with_retry_classifier(::aws_runtime::service_clock_skew::ServiceClockSkewClassifier::<
151                crate::operation::start_continuous_export::StartContinuousExportError,
152            >::new());
153
154        ::std::borrow::Cow::Owned(rcb)
155    }
156}
157
158#[derive(Debug)]
159struct StartContinuousExportResponseDeserializer;
160impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for StartContinuousExportResponseDeserializer {
161    fn deserialize_nonstreaming_with_config(
162        &self,
163        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
164        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
165    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
166        let (success, status) = (response.status().is_success(), response.status().as_u16());
167        let headers = response.headers();
168        let body = response.body().bytes().expect("body loaded");
169        #[allow(unused_mut)]
170        let mut force_error = false;
171        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
172        let parse_result = if !success && status != 200 || force_error {
173            crate::protocol_serde::shape_start_continuous_export::de_start_continuous_export_http_error(status, headers, body)
174        } else {
175            crate::protocol_serde::shape_start_continuous_export::de_start_continuous_export_http_response(status, headers, body)
176        };
177        crate::protocol_serde::type_erase_result(parse_result)
178    }
179}
180#[derive(Debug)]
181struct StartContinuousExportRequestSerializer;
182impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for StartContinuousExportRequestSerializer {
183    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
184    fn serialize_input(
185        &self,
186        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
187        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
188    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
189        let input = input
190            .downcast::<crate::operation::start_continuous_export::StartContinuousExportInput>()
191            .expect("correct type");
192        let _header_serialization_settings = _cfg
193            .load::<crate::serialization_settings::HeaderSerializationSettings>()
194            .cloned()
195            .unwrap_or_default();
196        let mut request_builder = {
197            #[allow(clippy::uninlined_format_args)]
198            fn uri_base(
199                _input: &crate::operation::start_continuous_export::StartContinuousExportInput,
200                output: &mut ::std::string::String,
201            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
202                use ::std::fmt::Write as _;
203                ::std::write!(output, "/").expect("formatting should succeed");
204                ::std::result::Result::Ok(())
205            }
206            #[allow(clippy::unnecessary_wraps)]
207            fn update_http_builder(
208                input: &crate::operation::start_continuous_export::StartContinuousExportInput,
209                builder: ::http_1x::request::Builder,
210            ) -> ::std::result::Result<::http_1x::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
211                let mut uri = ::std::string::String::new();
212                uri_base(input, &mut uri)?;
213                ::std::result::Result::Ok(builder.method("POST").uri(uri))
214            }
215            let mut builder = update_http_builder(&input, ::http_1x::request::Builder::new())?;
216            builder = _header_serialization_settings.set_default_header(builder, ::http_1x::header::CONTENT_TYPE, "application/x-amz-json-1.1");
217            builder = _header_serialization_settings.set_default_header(
218                builder,
219                ::http_1x::header::HeaderName::from_static("x-amz-target"),
220                "AWSPoseidonService_V2015_11_01.StartContinuousExport",
221            );
222            builder
223        };
224        let body = ::aws_smithy_types::body::SdkBody::from(crate::protocol_serde::shape_start_continuous_export::ser_start_continuous_export_input(
225            &input,
226        )?);
227
228        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
229    }
230}
231#[derive(Debug)]
232struct StartContinuousExportEndpointParamsInterceptor;
233
234#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
235impl ::aws_smithy_runtime_api::client::interceptors::Intercept for StartContinuousExportEndpointParamsInterceptor {
236    fn name(&self) -> &'static str {
237        "StartContinuousExportEndpointParamsInterceptor"
238    }
239
240    fn read_before_execution(
241        &self,
242        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
243            '_,
244            ::aws_smithy_runtime_api::client::interceptors::context::Input,
245            ::aws_smithy_runtime_api::client::interceptors::context::Output,
246            ::aws_smithy_runtime_api::client::interceptors::context::Error,
247        >,
248        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
249    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
250        let _input = context
251            .input()
252            .downcast_ref::<StartContinuousExportInput>()
253            .ok_or("failed to downcast to StartContinuousExportInput")?;
254
255        let params = crate::config::endpoint::Params::builder()
256            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
257            .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0))
258            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
259            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
260            .build()
261            .map_err(|err| {
262                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
263            })?;
264        cfg.interceptor_state()
265            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
266        ::std::result::Result::Ok(())
267    }
268}
269
270// The get_* functions below are generated from JMESPath expressions in the
271// operationContextParams trait. They target the operation's input shape.
272
273/// Error type for the `StartContinuousExportError` operation.
274#[non_exhaustive]
275#[derive(::std::fmt::Debug)]
276pub enum StartContinuousExportError {
277    /// <p>The user does not have permission to perform the action. Check the IAM policy associated with this user.</p>
278    AuthorizationErrorException(crate::types::error::AuthorizationErrorException),
279    /// <p>Conflict error.</p>
280    ConflictErrorException(crate::types::error::ConflictErrorException),
281    /// <p>The home Region is not set. Set the home Region to continue.</p>
282    HomeRegionNotSetException(crate::types::error::HomeRegionNotSetException),
283    /// <p>One or more parameters are not valid. Verify the parameters and try again.</p>
284    InvalidParameterException(crate::types::error::InvalidParameterException),
285    /// <p>The value of one or more parameters are either invalid or out of range. Verify the parameter values and try again.</p>
286    InvalidParameterValueException(crate::types::error::InvalidParameterValueException),
287    /// <p>This operation is not permitted.</p>
288    OperationNotPermittedException(crate::types::error::OperationNotPermittedException),
289    /// <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>
290    ResourceInUseException(crate::types::error::ResourceInUseException),
291    /// <p>The server experienced an internal error. Try again.</p>
292    ServerInternalErrorException(crate::types::error::ServerInternalErrorException),
293    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
294    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
295    variable wildcard pattern and check `.code()`:
296     \
297    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
298     \
299    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-StartContinuousExportError) for what information is available for the error.")]
300    Unhandled(crate::error::sealed_unhandled::Unhandled),
301}
302impl StartContinuousExportError {
303    /// Creates the `StartContinuousExportError::Unhandled` variant from any error type.
304    pub fn unhandled(
305        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
306    ) -> Self {
307        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
308            source: err.into(),
309            meta: ::std::default::Default::default(),
310        })
311    }
312
313    /// Creates the `StartContinuousExportError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
314    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
315        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
316            source: err.clone().into(),
317            meta: err,
318        })
319    }
320    ///
321    /// Returns error metadata, which includes the error code, message,
322    /// request ID, and potentially additional information.
323    ///
324    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
325        match self {
326            Self::AuthorizationErrorException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
327            Self::ConflictErrorException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
328            Self::HomeRegionNotSetException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
329            Self::InvalidParameterException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
330            Self::InvalidParameterValueException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
331            Self::OperationNotPermittedException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
332            Self::ResourceInUseException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
333            Self::ServerInternalErrorException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
334            Self::Unhandled(e) => &e.meta,
335        }
336    }
337    /// Returns `true` if the error kind is `StartContinuousExportError::AuthorizationErrorException`.
338    pub fn is_authorization_error_exception(&self) -> bool {
339        matches!(self, Self::AuthorizationErrorException(_))
340    }
341    /// Returns `true` if the error kind is `StartContinuousExportError::ConflictErrorException`.
342    pub fn is_conflict_error_exception(&self) -> bool {
343        matches!(self, Self::ConflictErrorException(_))
344    }
345    /// Returns `true` if the error kind is `StartContinuousExportError::HomeRegionNotSetException`.
346    pub fn is_home_region_not_set_exception(&self) -> bool {
347        matches!(self, Self::HomeRegionNotSetException(_))
348    }
349    /// Returns `true` if the error kind is `StartContinuousExportError::InvalidParameterException`.
350    pub fn is_invalid_parameter_exception(&self) -> bool {
351        matches!(self, Self::InvalidParameterException(_))
352    }
353    /// Returns `true` if the error kind is `StartContinuousExportError::InvalidParameterValueException`.
354    pub fn is_invalid_parameter_value_exception(&self) -> bool {
355        matches!(self, Self::InvalidParameterValueException(_))
356    }
357    /// Returns `true` if the error kind is `StartContinuousExportError::OperationNotPermittedException`.
358    pub fn is_operation_not_permitted_exception(&self) -> bool {
359        matches!(self, Self::OperationNotPermittedException(_))
360    }
361    /// Returns `true` if the error kind is `StartContinuousExportError::ResourceInUseException`.
362    pub fn is_resource_in_use_exception(&self) -> bool {
363        matches!(self, Self::ResourceInUseException(_))
364    }
365    /// Returns `true` if the error kind is `StartContinuousExportError::ServerInternalErrorException`.
366    pub fn is_server_internal_error_exception(&self) -> bool {
367        matches!(self, Self::ServerInternalErrorException(_))
368    }
369}
370impl ::std::error::Error for StartContinuousExportError {
371    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
372        match self {
373            Self::AuthorizationErrorException(_inner) => ::std::option::Option::Some(_inner),
374            Self::ConflictErrorException(_inner) => ::std::option::Option::Some(_inner),
375            Self::HomeRegionNotSetException(_inner) => ::std::option::Option::Some(_inner),
376            Self::InvalidParameterException(_inner) => ::std::option::Option::Some(_inner),
377            Self::InvalidParameterValueException(_inner) => ::std::option::Option::Some(_inner),
378            Self::OperationNotPermittedException(_inner) => ::std::option::Option::Some(_inner),
379            Self::ResourceInUseException(_inner) => ::std::option::Option::Some(_inner),
380            Self::ServerInternalErrorException(_inner) => ::std::option::Option::Some(_inner),
381            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
382        }
383    }
384}
385impl ::std::fmt::Display for StartContinuousExportError {
386    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
387        match self {
388            Self::AuthorizationErrorException(_inner) => _inner.fmt(f),
389            Self::ConflictErrorException(_inner) => _inner.fmt(f),
390            Self::HomeRegionNotSetException(_inner) => _inner.fmt(f),
391            Self::InvalidParameterException(_inner) => _inner.fmt(f),
392            Self::InvalidParameterValueException(_inner) => _inner.fmt(f),
393            Self::OperationNotPermittedException(_inner) => _inner.fmt(f),
394            Self::ResourceInUseException(_inner) => _inner.fmt(f),
395            Self::ServerInternalErrorException(_inner) => _inner.fmt(f),
396            Self::Unhandled(_inner) => {
397                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
398                    write!(f, "unhandled error ({code})")
399                } else {
400                    f.write_str("unhandled error")
401                }
402            }
403        }
404    }
405}
406impl ::aws_smithy_types::retry::ProvideErrorKind for StartContinuousExportError {
407    fn code(&self) -> ::std::option::Option<&str> {
408        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
409    }
410    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
411        ::std::option::Option::None
412    }
413}
414impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for StartContinuousExportError {
415    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
416        match self {
417            Self::AuthorizationErrorException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
418            Self::ConflictErrorException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
419            Self::HomeRegionNotSetException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
420            Self::InvalidParameterException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
421            Self::InvalidParameterValueException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
422            Self::OperationNotPermittedException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
423            Self::ResourceInUseException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
424            Self::ServerInternalErrorException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
425            Self::Unhandled(_inner) => &_inner.meta,
426        }
427    }
428}
429impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for StartContinuousExportError {
430    fn create_unhandled_error(
431        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
432        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
433    ) -> Self {
434        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
435            source,
436            meta: meta.unwrap_or_default(),
437        })
438    }
439}
440impl ::aws_types::request_id::RequestId for crate::operation::start_continuous_export::StartContinuousExportError {
441    fn request_id(&self) -> Option<&str> {
442        self.meta().request_id()
443    }
444}
445
446pub use crate::operation::start_continuous_export::_start_continuous_export_input::StartContinuousExportInput;
447
448pub use crate::operation::start_continuous_export::_start_continuous_export_output::StartContinuousExportOutput;
449
450mod _start_continuous_export_input;
451
452mod _start_continuous_export_output;
453
454/// Builders
455pub mod builders;