aws_sdk_bedrockagentcore/operation/
invoke_code_interpreter.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2/// Orchestration and serialization glue logic for `InvokeCodeInterpreter`.
3#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
4#[non_exhaustive]
5pub struct InvokeCodeInterpreter;
6impl InvokeCodeInterpreter {
7    /// Creates a new `InvokeCodeInterpreter`
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::invoke_code_interpreter::InvokeCodeInterpreterInput,
14    ) -> ::std::result::Result<
15        crate::operation::invoke_code_interpreter::InvokeCodeInterpreterOutput,
16        ::aws_smithy_runtime_api::client::result::SdkError<
17            crate::operation::invoke_code_interpreter::InvokeCodeInterpreterError,
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::invoke_code_interpreter::InvokeCodeInterpreterError>()
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::invoke_code_interpreter::InvokeCodeInterpreterOutput>()
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::invoke_code_interpreter::InvokeCodeInterpreterInput,
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            "Bedrock AgentCore",
56            "InvokeCodeInterpreter",
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            "Bedrock AgentCore.InvokeCodeInterpreter",
65            "rpc.service" = "Bedrock AgentCore",
66            "rpc.method" = "InvokeCodeInterpreter",
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 InvokeCodeInterpreter {
94    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
95        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("InvokeCodeInterpreter");
96
97        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
98            InvokeCodeInterpreterRequestSerializer,
99        ));
100        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
101            InvokeCodeInterpreterResponseDeserializer,
102        ));
103
104        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
105            crate::config::auth::Params::builder()
106                .operation_name("InvokeCodeInterpreter")
107                .build()
108                .expect("required fields set"),
109        ));
110
111        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
112            "InvokeCodeInterpreter",
113            "Bedrock AgentCore",
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("InvokeCodeInterpreter")
135            .with_interceptor(InvokeCodeInterpreterEndpointParamsInterceptor)
136            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
137                crate::operation::invoke_code_interpreter::InvokeCodeInterpreterError,
138            >::new())
139            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
140                crate::operation::invoke_code_interpreter::InvokeCodeInterpreterError,
141            >::new())
142            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
143                crate::operation::invoke_code_interpreter::InvokeCodeInterpreterError,
144            >::new());
145
146        ::std::borrow::Cow::Owned(rcb)
147    }
148}
149
150#[derive(Debug)]
151struct InvokeCodeInterpreterResponseDeserializer;
152impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for InvokeCodeInterpreterResponseDeserializer {
153    fn deserialize_streaming(
154        &self,
155        response: &mut ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
156    ) -> ::std::option::Option<::aws_smithy_runtime_api::client::interceptors::context::OutputOrError> {
157        #[allow(unused_mut)]
158        let mut force_error = false;
159        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
160
161        // If this is an error, defer to the non-streaming parser
162        if (!response.status().is_success() && response.status().as_u16() != 200) || force_error {
163            return ::std::option::Option::None;
164        }
165        ::std::option::Option::Some(crate::protocol_serde::type_erase_result(
166            crate::protocol_serde::shape_invoke_code_interpreter::de_invoke_code_interpreter_http_response(response),
167        ))
168    }
169
170    fn deserialize_nonstreaming(
171        &self,
172        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
173    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
174        // For streaming operations, we only hit this case if its an error
175        let body = response.body().bytes().expect("body loaded");
176        crate::protocol_serde::type_erase_result(
177            crate::protocol_serde::shape_invoke_code_interpreter::de_invoke_code_interpreter_http_error(
178                response.status().as_u16(),
179                response.headers(),
180                body,
181            ),
182        )
183    }
184}
185#[derive(Debug)]
186struct InvokeCodeInterpreterRequestSerializer;
187impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for InvokeCodeInterpreterRequestSerializer {
188    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
189    fn serialize_input(
190        &self,
191        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
192        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
193    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
194        let input = input
195            .downcast::<crate::operation::invoke_code_interpreter::InvokeCodeInterpreterInput>()
196            .expect("correct type");
197        let _header_serialization_settings = _cfg
198            .load::<crate::serialization_settings::HeaderSerializationSettings>()
199            .cloned()
200            .unwrap_or_default();
201        let mut request_builder = {
202            fn uri_base(
203                _input: &crate::operation::invoke_code_interpreter::InvokeCodeInterpreterInput,
204                output: &mut ::std::string::String,
205            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
206                use ::std::fmt::Write as _;
207                let input_1 = &_input.code_interpreter_identifier;
208                let input_1 = input_1.as_ref().ok_or_else(|| {
209                    ::aws_smithy_types::error::operation::BuildError::missing_field("code_interpreter_identifier", "cannot be empty or unset")
210                })?;
211                let code_interpreter_identifier = ::aws_smithy_http::label::fmt_string(input_1, ::aws_smithy_http::label::EncodingStrategy::Default);
212                if code_interpreter_identifier.is_empty() {
213                    return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::missing_field(
214                        "code_interpreter_identifier",
215                        "cannot be empty or unset",
216                    ));
217                }
218                ::std::write!(
219                    output,
220                    "/code-interpreters/{codeInterpreterIdentifier}/tools/invoke",
221                    codeInterpreterIdentifier = code_interpreter_identifier
222                )
223                .expect("formatting should succeed");
224                ::std::result::Result::Ok(())
225            }
226            #[allow(clippy::unnecessary_wraps)]
227            fn update_http_builder(
228                input: &crate::operation::invoke_code_interpreter::InvokeCodeInterpreterInput,
229                builder: ::http::request::Builder,
230            ) -> ::std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
231                let mut uri = ::std::string::String::new();
232                uri_base(input, &mut uri)?;
233                let builder = crate::protocol_serde::shape_invoke_code_interpreter::ser_invoke_code_interpreter_headers(input, builder)?;
234                ::std::result::Result::Ok(builder.method("POST").uri(uri))
235            }
236            let mut builder = update_http_builder(&input, ::http::request::Builder::new())?;
237            builder = _header_serialization_settings.set_default_header(builder, ::http::header::CONTENT_TYPE, "application/json");
238            builder
239        };
240        let body = ::aws_smithy_types::body::SdkBody::from(crate::protocol_serde::shape_invoke_code_interpreter::ser_invoke_code_interpreter_input(
241            &input,
242        )?);
243        if let Some(content_length) = body.content_length() {
244            let content_length = content_length.to_string();
245            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http::header::CONTENT_LENGTH, &content_length);
246        }
247        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
248    }
249}
250#[derive(Debug)]
251struct InvokeCodeInterpreterEndpointParamsInterceptor;
252
253impl ::aws_smithy_runtime_api::client::interceptors::Intercept for InvokeCodeInterpreterEndpointParamsInterceptor {
254    fn name(&self) -> &'static str {
255        "InvokeCodeInterpreterEndpointParamsInterceptor"
256    }
257
258    fn read_before_execution(
259        &self,
260        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
261            '_,
262            ::aws_smithy_runtime_api::client::interceptors::context::Input,
263            ::aws_smithy_runtime_api::client::interceptors::context::Output,
264            ::aws_smithy_runtime_api::client::interceptors::context::Error,
265        >,
266        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
267    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
268        let _input = context
269            .input()
270            .downcast_ref::<InvokeCodeInterpreterInput>()
271            .ok_or("failed to downcast to InvokeCodeInterpreterInput")?;
272
273        let params = crate::config::endpoint::Params::builder()
274            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
275            .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0))
276            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
277            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
278            .build()
279            .map_err(|err| {
280                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
281            })?;
282        cfg.interceptor_state()
283            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
284        ::std::result::Result::Ok(())
285    }
286}
287
288// The get_* functions below are generated from JMESPath expressions in the
289// operationContextParams trait. They target the operation's input shape.
290
291/// Error type for the `InvokeCodeInterpreterError` operation.
292#[non_exhaustive]
293#[derive(::std::fmt::Debug)]
294pub enum InvokeCodeInterpreterError {
295    /// <p>The exception that occurs when the input fails to satisfy the constraints specified by the service. Check the error message for details about which input parameter is invalid and correct your request.</p>
296    ValidationException(crate::types::error::ValidationException),
297    /// <p>The exception that occurs when the specified resource does not exist. This can happen when using an invalid identifier or when trying to access a resource that has been deleted.</p>
298    ResourceNotFoundException(crate::types::error::ResourceNotFoundException),
299    /// <p>The exception that occurs when you do not have sufficient permissions to perform an action. Verify that your IAM policy includes the necessary permissions for the operation you are trying to perform.</p>
300    AccessDeniedException(crate::types::error::AccessDeniedException),
301    /// <p>The exception that occurs when the request would cause a service quota to be exceeded. Review your service quotas and either reduce your request rate or request a quota increase.</p>
302    ServiceQuotaExceededException(crate::types::error::ServiceQuotaExceededException),
303    /// <p>The exception that occurs when the request conflicts with the current state of the resource. This can happen when trying to modify a resource that is currently being modified by another request, or when trying to create a resource that already exists.</p>
304    ConflictException(crate::types::error::ConflictException),
305    /// <p>The exception that occurs when the service encounters an unexpected internal error. This is a temporary condition that will resolve itself with retries. We recommend implementing exponential backoff retry logic in your application.</p>
306    InternalServerException(crate::types::error::InternalServerException),
307    /// <p>The exception that occurs when the request was denied due to request throttling. This happens when you exceed the allowed request rate for an operation. Reduce the frequency of requests or implement exponential backoff retry logic in your application.</p>
308    ThrottlingException(crate::types::error::ThrottlingException),
309    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
310    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
311    variable wildcard pattern and check `.code()`:
312     \
313    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
314     \
315    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-InvokeCodeInterpreterError) for what information is available for the error.")]
316    Unhandled(crate::error::sealed_unhandled::Unhandled),
317}
318impl InvokeCodeInterpreterError {
319    /// Creates the `InvokeCodeInterpreterError::Unhandled` variant from any error type.
320    pub fn unhandled(
321        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
322    ) -> Self {
323        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
324            source: err.into(),
325            meta: ::std::default::Default::default(),
326        })
327    }
328
329    /// Creates the `InvokeCodeInterpreterError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
330    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
331        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
332            source: err.clone().into(),
333            meta: err,
334        })
335    }
336    ///
337    /// Returns error metadata, which includes the error code, message,
338    /// request ID, and potentially additional information.
339    ///
340    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
341        match self {
342            Self::ValidationException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
343            Self::ResourceNotFoundException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
344            Self::AccessDeniedException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
345            Self::ServiceQuotaExceededException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
346            Self::ConflictException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
347            Self::InternalServerException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
348            Self::ThrottlingException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
349            Self::Unhandled(e) => &e.meta,
350        }
351    }
352    /// Returns `true` if the error kind is `InvokeCodeInterpreterError::ValidationException`.
353    pub fn is_validation_exception(&self) -> bool {
354        matches!(self, Self::ValidationException(_))
355    }
356    /// Returns `true` if the error kind is `InvokeCodeInterpreterError::ResourceNotFoundException`.
357    pub fn is_resource_not_found_exception(&self) -> bool {
358        matches!(self, Self::ResourceNotFoundException(_))
359    }
360    /// Returns `true` if the error kind is `InvokeCodeInterpreterError::AccessDeniedException`.
361    pub fn is_access_denied_exception(&self) -> bool {
362        matches!(self, Self::AccessDeniedException(_))
363    }
364    /// Returns `true` if the error kind is `InvokeCodeInterpreterError::ServiceQuotaExceededException`.
365    pub fn is_service_quota_exceeded_exception(&self) -> bool {
366        matches!(self, Self::ServiceQuotaExceededException(_))
367    }
368    /// Returns `true` if the error kind is `InvokeCodeInterpreterError::ConflictException`.
369    pub fn is_conflict_exception(&self) -> bool {
370        matches!(self, Self::ConflictException(_))
371    }
372    /// Returns `true` if the error kind is `InvokeCodeInterpreterError::InternalServerException`.
373    pub fn is_internal_server_exception(&self) -> bool {
374        matches!(self, Self::InternalServerException(_))
375    }
376    /// Returns `true` if the error kind is `InvokeCodeInterpreterError::ThrottlingException`.
377    pub fn is_throttling_exception(&self) -> bool {
378        matches!(self, Self::ThrottlingException(_))
379    }
380}
381impl ::std::error::Error for InvokeCodeInterpreterError {
382    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
383        match self {
384            Self::ValidationException(_inner) => ::std::option::Option::Some(_inner),
385            Self::ResourceNotFoundException(_inner) => ::std::option::Option::Some(_inner),
386            Self::AccessDeniedException(_inner) => ::std::option::Option::Some(_inner),
387            Self::ServiceQuotaExceededException(_inner) => ::std::option::Option::Some(_inner),
388            Self::ConflictException(_inner) => ::std::option::Option::Some(_inner),
389            Self::InternalServerException(_inner) => ::std::option::Option::Some(_inner),
390            Self::ThrottlingException(_inner) => ::std::option::Option::Some(_inner),
391            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
392        }
393    }
394}
395impl ::std::fmt::Display for InvokeCodeInterpreterError {
396    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
397        match self {
398            Self::ValidationException(_inner) => _inner.fmt(f),
399            Self::ResourceNotFoundException(_inner) => _inner.fmt(f),
400            Self::AccessDeniedException(_inner) => _inner.fmt(f),
401            Self::ServiceQuotaExceededException(_inner) => _inner.fmt(f),
402            Self::ConflictException(_inner) => _inner.fmt(f),
403            Self::InternalServerException(_inner) => _inner.fmt(f),
404            Self::ThrottlingException(_inner) => _inner.fmt(f),
405            Self::Unhandled(_inner) => {
406                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
407                    write!(f, "unhandled error ({code})")
408                } else {
409                    f.write_str("unhandled error")
410                }
411            }
412        }
413    }
414}
415impl ::aws_smithy_types::retry::ProvideErrorKind for InvokeCodeInterpreterError {
416    fn code(&self) -> ::std::option::Option<&str> {
417        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
418    }
419    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
420        ::std::option::Option::None
421    }
422}
423impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for InvokeCodeInterpreterError {
424    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
425        match self {
426            Self::ValidationException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
427            Self::ResourceNotFoundException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
428            Self::AccessDeniedException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
429            Self::ServiceQuotaExceededException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
430            Self::ConflictException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
431            Self::InternalServerException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
432            Self::ThrottlingException(_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 InvokeCodeInterpreterError {
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::invoke_code_interpreter::InvokeCodeInterpreterError {
449    fn request_id(&self) -> Option<&str> {
450        self.meta().request_id()
451    }
452}
453
454pub use crate::operation::invoke_code_interpreter::_invoke_code_interpreter_output::InvokeCodeInterpreterOutput;
455
456pub use crate::operation::invoke_code_interpreter::_invoke_code_interpreter_input::InvokeCodeInterpreterInput;
457
458mod _invoke_code_interpreter_input;
459
460mod _invoke_code_interpreter_output;
461
462/// Builders
463pub mod builders;