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