Skip to main content

aws_sdk_codecatalyst/operation/
start_dev_environment_session.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2/// Orchestration and serialization glue logic for `StartDevEnvironmentSession`.
3#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
4#[non_exhaustive]
5pub struct StartDevEnvironmentSession;
6impl StartDevEnvironmentSession {
7    /// Creates a new `StartDevEnvironmentSession`
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_dev_environment_session::StartDevEnvironmentSessionInput,
14    ) -> ::std::result::Result<
15        crate::operation::start_dev_environment_session::StartDevEnvironmentSessionOutput,
16        ::aws_smithy_runtime_api::client::result::SdkError<
17            crate::operation::start_dev_environment_session::StartDevEnvironmentSessionError,
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_dev_environment_session::StartDevEnvironmentSessionError>()
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_dev_environment_session::StartDevEnvironmentSessionOutput>()
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_dev_environment_session::StartDevEnvironmentSessionInput,
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            "CodeCatalyst",
56            "StartDevEnvironmentSession",
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            "CodeCatalyst.StartDevEnvironmentSession",
65            "rpc.service" = "CodeCatalyst",
66            "rpc.method" = "StartDevEnvironmentSession",
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 StartDevEnvironmentSession {
94    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
95        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("StartDevEnvironmentSession");
96
97        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
98            StartDevEnvironmentSessionRequestSerializer,
99        ));
100        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
101            StartDevEnvironmentSessionResponseDeserializer,
102        ));
103
104        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
105            crate::config::auth::Params::builder()
106                .operation_name("StartDevEnvironmentSession")
107                .build()
108                .expect("required fields set"),
109        ));
110
111        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::SensitiveOutput);
112        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
113            "StartDevEnvironmentSession",
114            "CodeCatalyst",
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("StartDevEnvironmentSession")
126            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
127                ::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default(),
128            ))
129            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
130                StartDevEnvironmentSessionEndpointParamsInterceptor,
131            ))
132            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
133                crate::operation::start_dev_environment_session::StartDevEnvironmentSessionError,
134            >::new())
135            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
136                crate::operation::start_dev_environment_session::StartDevEnvironmentSessionError,
137            >::new())
138            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
139                crate::operation::start_dev_environment_session::StartDevEnvironmentSessionError,
140            >::new());
141
142        ::std::borrow::Cow::Owned(rcb)
143    }
144}
145
146#[derive(Debug)]
147struct StartDevEnvironmentSessionResponseDeserializer;
148impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for StartDevEnvironmentSessionResponseDeserializer {
149    fn deserialize_nonstreaming_with_config(
150        &self,
151        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
152        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
153    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
154        let (success, status) = (response.status().is_success(), response.status().as_u16());
155        let headers = response.headers();
156        let body = response.body().bytes().expect("body loaded");
157        #[allow(unused_mut)]
158        let mut force_error = false;
159        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
160        let parse_result = if !success && status != 200 || force_error {
161            crate::protocol_serde::shape_start_dev_environment_session::de_start_dev_environment_session_http_error(status, headers, body)
162        } else {
163            crate::protocol_serde::shape_start_dev_environment_session::de_start_dev_environment_session_http_response(status, headers, body)
164        };
165        crate::protocol_serde::type_erase_result(parse_result)
166    }
167}
168#[derive(Debug)]
169struct StartDevEnvironmentSessionRequestSerializer;
170impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for StartDevEnvironmentSessionRequestSerializer {
171    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
172    fn serialize_input(
173        &self,
174        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
175        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
176    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
177        let input = input
178            .downcast::<crate::operation::start_dev_environment_session::StartDevEnvironmentSessionInput>()
179            .expect("correct type");
180        let _header_serialization_settings = _cfg
181            .load::<crate::serialization_settings::HeaderSerializationSettings>()
182            .cloned()
183            .unwrap_or_default();
184        let mut request_builder = {
185            #[allow(clippy::uninlined_format_args)]
186            fn uri_base(
187                _input: &crate::operation::start_dev_environment_session::StartDevEnvironmentSessionInput,
188                output: &mut ::std::string::String,
189            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
190                use ::std::fmt::Write as _;
191                let input_1 = &_input.space_name;
192                let input_1 = input_1
193                    .as_ref()
194                    .ok_or_else(|| ::aws_smithy_types::error::operation::BuildError::missing_field("space_name", "cannot be empty or unset"))?;
195                let space_name = ::aws_smithy_http::label::fmt_string(input_1, ::aws_smithy_http::label::EncodingStrategy::Default);
196                if space_name.is_empty() {
197                    return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::missing_field(
198                        "space_name",
199                        "cannot be empty or unset",
200                    ));
201                }
202                let input_2 = &_input.project_name;
203                let input_2 = input_2
204                    .as_ref()
205                    .ok_or_else(|| ::aws_smithy_types::error::operation::BuildError::missing_field("project_name", "cannot be empty or unset"))?;
206                let project_name = ::aws_smithy_http::label::fmt_string(input_2, ::aws_smithy_http::label::EncodingStrategy::Default);
207                if project_name.is_empty() {
208                    return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::missing_field(
209                        "project_name",
210                        "cannot be empty or unset",
211                    ));
212                }
213                let input_3 = &_input.id;
214                let input_3 = input_3
215                    .as_ref()
216                    .ok_or_else(|| ::aws_smithy_types::error::operation::BuildError::missing_field("id", "cannot be empty or unset"))?;
217                let id = ::aws_smithy_http::label::fmt_string(input_3, ::aws_smithy_http::label::EncodingStrategy::Default);
218                if id.is_empty() {
219                    return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::missing_field(
220                        "id",
221                        "cannot be empty or unset",
222                    ));
223                }
224                ::std::write!(
225                    output,
226                    "/v1/spaces/{spaceName}/projects/{projectName}/devEnvironments/{id}/session",
227                    spaceName = space_name,
228                    projectName = project_name,
229                    id = id
230                )
231                .expect("formatting should succeed");
232                ::std::result::Result::Ok(())
233            }
234            #[allow(clippy::unnecessary_wraps)]
235            fn update_http_builder(
236                input: &crate::operation::start_dev_environment_session::StartDevEnvironmentSessionInput,
237                builder: ::http_1x::request::Builder,
238            ) -> ::std::result::Result<::http_1x::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
239                let mut uri = ::std::string::String::new();
240                uri_base(input, &mut uri)?;
241                ::std::result::Result::Ok(builder.method("PUT").uri(uri))
242            }
243            let mut builder = update_http_builder(&input, ::http_1x::request::Builder::new())?;
244            builder = _header_serialization_settings.set_default_header(builder, ::http_1x::header::CONTENT_TYPE, "application/json");
245            builder
246        };
247        let body = ::aws_smithy_types::body::SdkBody::from(
248            crate::protocol_serde::shape_start_dev_environment_session::ser_start_dev_environment_session_input(&input)?,
249        );
250        if let Some(content_length) = body.content_length() {
251            let content_length = content_length.to_string();
252            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http_1x::header::CONTENT_LENGTH, &content_length);
253        }
254        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
255    }
256}
257#[derive(Debug)]
258struct StartDevEnvironmentSessionEndpointParamsInterceptor;
259
260#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
261impl ::aws_smithy_runtime_api::client::interceptors::Intercept for StartDevEnvironmentSessionEndpointParamsInterceptor {
262    fn name(&self) -> &'static str {
263        "StartDevEnvironmentSessionEndpointParamsInterceptor"
264    }
265
266    fn read_before_execution(
267        &self,
268        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
269            '_,
270            ::aws_smithy_runtime_api::client::interceptors::context::Input,
271            ::aws_smithy_runtime_api::client::interceptors::context::Output,
272            ::aws_smithy_runtime_api::client::interceptors::context::Error,
273        >,
274        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
275    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
276        let _input = context
277            .input()
278            .downcast_ref::<StartDevEnvironmentSessionInput>()
279            .ok_or("failed to downcast to StartDevEnvironmentSessionInput")?;
280
281        let params = crate::config::endpoint::Params::builder()
282            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
283            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
284            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
285            .build()
286            .map_err(|err| {
287                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
288            })?;
289        cfg.interceptor_state()
290            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
291        ::std::result::Result::Ok(())
292    }
293}
294
295// The get_* functions below are generated from JMESPath expressions in the
296// operationContextParams trait. They target the operation's input shape.
297
298/// Error type for the `StartDevEnvironmentSessionError` operation.
299#[non_exhaustive]
300#[derive(::std::fmt::Debug)]
301pub enum StartDevEnvironmentSessionError {
302    /// <p>The request was denied because you don't have sufficient access to perform this action. Verify that you are a member of a role that allows this action.</p>
303    AccessDeniedException(crate::types::error::AccessDeniedException),
304    /// <p>The request was denied because the requested operation would cause a conflict with the current state of a service resource associated with the request. Another user might have updated the resource. Reload, make sure you have the latest data, and then try again.</p>
305    ConflictException(crate::types::error::ConflictException),
306    /// <p>The request was denied because the specified resource was not found. Verify that the spelling is correct and that you have access to the resource.</p>
307    ResourceNotFoundException(crate::types::error::ResourceNotFoundException),
308    /// <p>The request was denied because one or more resources has reached its limits for the tier the space belongs to. Either reduce the number of resources, or change the tier if applicable.</p>
309    ServiceQuotaExceededException(crate::types::error::ServiceQuotaExceededException),
310    /// <p>The request was denied due to request throttling.</p>
311    ThrottlingException(crate::types::error::ThrottlingException),
312    /// <p>The request was denied because an input failed to satisfy the constraints specified by the service. Check the spelling and input requirements, and then try again.</p>
313    ValidationException(crate::types::error::ValidationException),
314    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
315    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
316    variable wildcard pattern and check `.code()`:
317     \
318    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
319     \
320    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-StartDevEnvironmentSessionError) for what information is available for the error.")]
321    Unhandled(crate::error::sealed_unhandled::Unhandled),
322}
323impl StartDevEnvironmentSessionError {
324    /// Creates the `StartDevEnvironmentSessionError::Unhandled` variant from any error type.
325    pub fn unhandled(
326        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
327    ) -> Self {
328        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
329            source: err.into(),
330            meta: ::std::default::Default::default(),
331        })
332    }
333
334    /// Creates the `StartDevEnvironmentSessionError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
335    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
336        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
337            source: err.clone().into(),
338            meta: err,
339        })
340    }
341    ///
342    /// Returns error metadata, which includes the error code, message,
343    /// request ID, and potentially additional information.
344    ///
345    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
346        match self {
347            Self::AccessDeniedException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
348            Self::ConflictException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
349            Self::ResourceNotFoundException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
350            Self::ServiceQuotaExceededException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
351            Self::ThrottlingException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
352            Self::ValidationException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
353            Self::Unhandled(e) => &e.meta,
354        }
355    }
356    /// Returns `true` if the error kind is `StartDevEnvironmentSessionError::AccessDeniedException`.
357    pub fn is_access_denied_exception(&self) -> bool {
358        matches!(self, Self::AccessDeniedException(_))
359    }
360    /// Returns `true` if the error kind is `StartDevEnvironmentSessionError::ConflictException`.
361    pub fn is_conflict_exception(&self) -> bool {
362        matches!(self, Self::ConflictException(_))
363    }
364    /// Returns `true` if the error kind is `StartDevEnvironmentSessionError::ResourceNotFoundException`.
365    pub fn is_resource_not_found_exception(&self) -> bool {
366        matches!(self, Self::ResourceNotFoundException(_))
367    }
368    /// Returns `true` if the error kind is `StartDevEnvironmentSessionError::ServiceQuotaExceededException`.
369    pub fn is_service_quota_exceeded_exception(&self) -> bool {
370        matches!(self, Self::ServiceQuotaExceededException(_))
371    }
372    /// Returns `true` if the error kind is `StartDevEnvironmentSessionError::ThrottlingException`.
373    pub fn is_throttling_exception(&self) -> bool {
374        matches!(self, Self::ThrottlingException(_))
375    }
376    /// Returns `true` if the error kind is `StartDevEnvironmentSessionError::ValidationException`.
377    pub fn is_validation_exception(&self) -> bool {
378        matches!(self, Self::ValidationException(_))
379    }
380}
381impl ::std::error::Error for StartDevEnvironmentSessionError {
382    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
383        match self {
384            Self::AccessDeniedException(_inner) => ::std::option::Option::Some(_inner),
385            Self::ConflictException(_inner) => ::std::option::Option::Some(_inner),
386            Self::ResourceNotFoundException(_inner) => ::std::option::Option::Some(_inner),
387            Self::ServiceQuotaExceededException(_inner) => ::std::option::Option::Some(_inner),
388            Self::ThrottlingException(_inner) => ::std::option::Option::Some(_inner),
389            Self::ValidationException(_inner) => ::std::option::Option::Some(_inner),
390            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
391        }
392    }
393}
394impl ::std::fmt::Display for StartDevEnvironmentSessionError {
395    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
396        match self {
397            Self::AccessDeniedException(_inner) => _inner.fmt(f),
398            Self::ConflictException(_inner) => _inner.fmt(f),
399            Self::ResourceNotFoundException(_inner) => _inner.fmt(f),
400            Self::ServiceQuotaExceededException(_inner) => _inner.fmt(f),
401            Self::ThrottlingException(_inner) => _inner.fmt(f),
402            Self::ValidationException(_inner) => _inner.fmt(f),
403            Self::Unhandled(_inner) => {
404                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
405                    write!(f, "unhandled error ({code})")
406                } else {
407                    f.write_str("unhandled error")
408                }
409            }
410        }
411    }
412}
413impl ::aws_smithy_types::retry::ProvideErrorKind for StartDevEnvironmentSessionError {
414    fn code(&self) -> ::std::option::Option<&str> {
415        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
416    }
417    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
418        match self {
419            Self::ThrottlingException(inner) => ::std::option::Option::Some(inner.retryable_error_kind()),
420            _ => ::std::option::Option::None,
421        }
422    }
423}
424impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for StartDevEnvironmentSessionError {
425    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
426        match self {
427            Self::AccessDeniedException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
428            Self::ConflictException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
429            Self::ResourceNotFoundException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
430            Self::ServiceQuotaExceededException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
431            Self::ThrottlingException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
432            Self::ValidationException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
433            Self::Unhandled(_inner) => &_inner.meta,
434        }
435    }
436}
437impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for StartDevEnvironmentSessionError {
438    fn create_unhandled_error(
439        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
440        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
441    ) -> Self {
442        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
443            source,
444            meta: meta.unwrap_or_default(),
445        })
446    }
447}
448impl ::aws_types::request_id::RequestId for crate::operation::start_dev_environment_session::StartDevEnvironmentSessionError {
449    fn request_id(&self) -> Option<&str> {
450        self.meta().request_id()
451    }
452}
453
454pub use crate::operation::start_dev_environment_session::_start_dev_environment_session_input::StartDevEnvironmentSessionInput;
455
456pub use crate::operation::start_dev_environment_session::_start_dev_environment_session_output::StartDevEnvironmentSessionOutput;
457
458mod _start_dev_environment_session_input;
459
460mod _start_dev_environment_session_output;
461
462/// Builders
463pub mod builders;