Skip to main content

aws_sdk_codecatalyst/operation/
list_workflow_runs.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2/// Orchestration and serialization glue logic for `ListWorkflowRuns`.
3#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
4#[non_exhaustive]
5pub struct ListWorkflowRuns;
6impl ListWorkflowRuns {
7    /// Creates a new `ListWorkflowRuns`
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::list_workflow_runs::ListWorkflowRunsInput,
14    ) -> ::std::result::Result<
15        crate::operation::list_workflow_runs::ListWorkflowRunsOutput,
16        ::aws_smithy_runtime_api::client::result::SdkError<
17            crate::operation::list_workflow_runs::ListWorkflowRunsError,
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::list_workflow_runs::ListWorkflowRunsError>()
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::list_workflow_runs::ListWorkflowRunsOutput>()
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::list_workflow_runs::ListWorkflowRunsInput,
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("CodeCatalyst", "ListWorkflowRuns", input, runtime_plugins, stop_point)
55            // Create a parent span for the entire operation. Includes a random, internal-only,
56            // seven-digit ID for the operation orchestration so that it can be correlated in the logs.
57            .instrument(::tracing::debug_span!(
58                "CodeCatalyst.ListWorkflowRuns",
59                "rpc.service" = "CodeCatalyst",
60                "rpc.method" = "ListWorkflowRuns",
61                "sdk_invocation_id" = ::fastrand::u32(1_000_000..10_000_000),
62                "rpc.system" = "aws-api",
63            ))
64            .await
65    }
66
67    pub(crate) fn operation_runtime_plugins(
68        client_runtime_plugins: ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
69        client_config: &crate::config::Config,
70        config_override: ::std::option::Option<crate::config::Builder>,
71    ) -> ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins {
72        let mut runtime_plugins = client_runtime_plugins.with_operation_plugin(Self::new());
73
74        if let ::std::option::Option::Some(config_override) = config_override {
75            for plugin in config_override.runtime_plugins.iter().cloned() {
76                runtime_plugins = runtime_plugins.with_operation_plugin(plugin);
77            }
78            runtime_plugins = runtime_plugins.with_operation_plugin(crate::config::ConfigOverrideRuntimePlugin::new(
79                config_override,
80                client_config.config.clone(),
81                &client_config.runtime_components,
82            ));
83        }
84        runtime_plugins
85    }
86}
87impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for ListWorkflowRuns {
88    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
89        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("ListWorkflowRuns");
90
91        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
92            ListWorkflowRunsRequestSerializer,
93        ));
94        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
95            ListWorkflowRunsResponseDeserializer,
96        ));
97
98        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
99            crate::config::auth::Params::builder()
100                .operation_name("ListWorkflowRuns")
101                .build()
102                .expect("required fields set"),
103        ));
104
105        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
106            "ListWorkflowRuns",
107            "CodeCatalyst",
108        ));
109
110        ::std::option::Option::Some(cfg.freeze())
111    }
112
113    fn runtime_components(
114        &self,
115        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
116    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
117        #[allow(unused_mut)]
118        let mut rcb = ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("ListWorkflowRuns")
119            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
120                ListWorkflowRunsTelemetryInputCaptureInterceptor,
121            ))
122            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
123                ::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default(),
124            ))
125            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
126                ListWorkflowRunsEndpointParamsInterceptor,
127            ))
128            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
129                crate::operation::list_workflow_runs::ListWorkflowRunsError,
130            >::new())
131            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
132                crate::operation::list_workflow_runs::ListWorkflowRunsError,
133            >::new())
134            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
135                crate::operation::list_workflow_runs::ListWorkflowRunsError,
136            >::new());
137
138        ::std::borrow::Cow::Owned(rcb)
139    }
140}
141
142#[derive(Debug)]
143struct ListWorkflowRunsTelemetryInputCaptureInterceptor;
144
145#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
146impl ::aws_smithy_runtime_api::client::interceptors::Intercept for ListWorkflowRunsTelemetryInputCaptureInterceptor {
147    fn name(&self) -> &'static str {
148        "ListWorkflowRunsTelemetryInputCaptureInterceptor"
149    }
150
151    fn read_before_execution(
152        &self,
153        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
154            '_,
155            ::aws_smithy_runtime_api::client::interceptors::context::Input,
156            ::aws_smithy_runtime_api::client::interceptors::context::Output,
157            ::aws_smithy_runtime_api::client::interceptors::context::Error,
158        >,
159        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
160    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
161        // Nothing to do unless the customer opted in by naming members to record.
162        let ::std::option::Option::Some(requested) = cfg
163            .load::<::aws_smithy_types::telemetry::RequestedTelemetryAttributes>()
164            .filter(|r| !r.is_empty())
165        else {
166            return ::std::result::Result::Ok(());
167        };
168
169        let ::std::option::Option::Some(input) = context.input().downcast_ref::<ListWorkflowRunsInput>() else {
170            // A mismatched input is not this interceptor's concern; skip quietly.
171            return ::std::result::Result::Ok(());
172        };
173
174        let mut captured = ::aws_smithy_types::telemetry::CapturedTelemetryAttributes::default();
175        if requested.should_capture("spaceName") {
176            if let ::std::option::Option::Some(value) = input.space_name.as_deref() {
177                captured.insert("spaceName", value);
178            }
179        }
180        if requested.should_capture("workflowId") {
181            if let ::std::option::Option::Some(value) = input.workflow_id.as_deref() {
182                captured.insert("workflowId", value);
183            }
184        }
185        if requested.should_capture("projectName") {
186            if let ::std::option::Option::Some(value) = input.project_name.as_deref() {
187                captured.insert("projectName", value);
188            }
189        }
190        if requested.should_capture("nextToken") {
191            if let ::std::option::Option::Some(value) = input.next_token.as_deref() {
192                captured.insert("nextToken", value);
193            }
194        }
195
196        cfg.interceptor_state().store_put(captured);
197        ::std::result::Result::Ok(())
198    }
199}
200#[derive(Debug)]
201struct ListWorkflowRunsResponseDeserializer;
202impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for ListWorkflowRunsResponseDeserializer {
203    fn deserialize_nonstreaming_with_config(
204        &self,
205        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
206        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
207    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
208        let (success, status) = (response.status().is_success(), response.status().as_u16());
209        let headers = response.headers();
210        let body = response.body().bytes().expect("body loaded");
211        #[allow(unused_mut)]
212        let mut force_error = false;
213        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
214        let parse_result = if !success && status != 200 || force_error {
215            crate::protocol_serde::shape_list_workflow_runs::de_list_workflow_runs_http_error(status, headers, body)
216        } else {
217            crate::protocol_serde::shape_list_workflow_runs::de_list_workflow_runs_http_response(status, headers, body)
218        };
219        crate::protocol_serde::type_erase_result(parse_result)
220    }
221}
222#[derive(Debug)]
223struct ListWorkflowRunsRequestSerializer;
224impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for ListWorkflowRunsRequestSerializer {
225    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
226    fn serialize_input(
227        &self,
228        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
229        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
230    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
231        let input = input
232            .downcast::<crate::operation::list_workflow_runs::ListWorkflowRunsInput>()
233            .expect("correct type");
234        let _header_serialization_settings = _cfg
235            .load::<crate::serialization_settings::HeaderSerializationSettings>()
236            .cloned()
237            .unwrap_or_default();
238        let mut request_builder = {
239            #[allow(clippy::uninlined_format_args)]
240            fn uri_base(
241                _input: &crate::operation::list_workflow_runs::ListWorkflowRunsInput,
242                output: &mut ::std::string::String,
243            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
244                use ::std::fmt::Write as _;
245                let input_1 = &_input.space_name;
246                let input_1 = input_1
247                    .as_ref()
248                    .ok_or_else(|| ::aws_smithy_types::error::operation::BuildError::missing_field("space_name", "cannot be empty or unset"))?;
249                let space_name = ::aws_smithy_http::label::fmt_string(input_1, ::aws_smithy_http::label::EncodingStrategy::Default);
250                if space_name.is_empty() {
251                    return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::missing_field(
252                        "space_name",
253                        "cannot be empty or unset",
254                    ));
255                }
256                let input_2 = &_input.project_name;
257                let input_2 = input_2
258                    .as_ref()
259                    .ok_or_else(|| ::aws_smithy_types::error::operation::BuildError::missing_field("project_name", "cannot be empty or unset"))?;
260                let project_name = ::aws_smithy_http::label::fmt_string(input_2, ::aws_smithy_http::label::EncodingStrategy::Default);
261                if project_name.is_empty() {
262                    return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::missing_field(
263                        "project_name",
264                        "cannot be empty or unset",
265                    ));
266                }
267                ::std::write!(
268                    output,
269                    "/v1/spaces/{spaceName}/projects/{projectName}/workflowRuns",
270                    spaceName = space_name,
271                    projectName = project_name
272                )
273                .expect("formatting should succeed");
274                ::std::result::Result::Ok(())
275            }
276            fn uri_query(
277                _input: &crate::operation::list_workflow_runs::ListWorkflowRunsInput,
278                mut output: &mut ::std::string::String,
279            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
280                let mut query = ::aws_smithy_http::query::Writer::new(output);
281                if let ::std::option::Option::Some(inner_3) = &_input.workflow_id {
282                    {
283                        query.push_kv("workflowId", &::aws_smithy_http::query::fmt_string(inner_3));
284                    }
285                }
286                if let ::std::option::Option::Some(inner_4) = &_input.next_token {
287                    {
288                        query.push_kv("nextToken", &::aws_smithy_http::query::fmt_string(inner_4));
289                    }
290                }
291                if let ::std::option::Option::Some(inner_5) = &_input.max_results {
292                    {
293                        query.push_kv("maxResults", ::aws_smithy_types::primitive::Encoder::from(*inner_5).encode());
294                    }
295                }
296                ::std::result::Result::Ok(())
297            }
298            #[allow(clippy::unnecessary_wraps)]
299            fn update_http_builder(
300                input: &crate::operation::list_workflow_runs::ListWorkflowRunsInput,
301                builder: ::http_1x::request::Builder,
302            ) -> ::std::result::Result<::http_1x::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
303                let mut uri = ::std::string::String::new();
304                uri_base(input, &mut uri)?;
305                uri_query(input, &mut uri)?;
306                ::std::result::Result::Ok(builder.method("POST").uri(uri))
307            }
308            let mut builder = update_http_builder(&input, ::http_1x::request::Builder::new())?;
309            builder = _header_serialization_settings.set_default_header(builder, ::http_1x::header::CONTENT_TYPE, "application/json");
310            builder
311        };
312        let body = ::aws_smithy_types::body::SdkBody::from(crate::protocol_serde::shape_list_workflow_runs::ser_list_workflow_runs_input(&input)?);
313        if let Some(content_length) = body.content_length() {
314            let content_length = content_length.to_string();
315            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http_1x::header::CONTENT_LENGTH, &content_length);
316        }
317        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
318    }
319}
320#[derive(Debug)]
321struct ListWorkflowRunsEndpointParamsInterceptor;
322
323#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
324impl ::aws_smithy_runtime_api::client::interceptors::Intercept for ListWorkflowRunsEndpointParamsInterceptor {
325    fn name(&self) -> &'static str {
326        "ListWorkflowRunsEndpointParamsInterceptor"
327    }
328
329    fn read_before_execution(
330        &self,
331        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
332            '_,
333            ::aws_smithy_runtime_api::client::interceptors::context::Input,
334            ::aws_smithy_runtime_api::client::interceptors::context::Output,
335            ::aws_smithy_runtime_api::client::interceptors::context::Error,
336        >,
337        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
338    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
339        let _input = context
340            .input()
341            .downcast_ref::<ListWorkflowRunsInput>()
342            .ok_or("failed to downcast to ListWorkflowRunsInput")?;
343
344        let params = crate::config::endpoint::Params::builder()
345            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
346            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
347            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
348            .build()
349            .map_err(|err| {
350                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
351            })?;
352        cfg.interceptor_state()
353            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
354        ::std::result::Result::Ok(())
355    }
356}
357
358// The get_* functions below are generated from JMESPath expressions in the
359// operationContextParams trait. They target the operation's input shape.
360
361/// Error type for the `ListWorkflowRunsError` operation.
362#[non_exhaustive]
363#[derive(::std::fmt::Debug)]
364pub enum ListWorkflowRunsError {
365    /// <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>
366    AccessDeniedException(crate::types::error::AccessDeniedException),
367    /// <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>
368    ConflictException(crate::types::error::ConflictException),
369    /// <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>
370    ResourceNotFoundException(crate::types::error::ResourceNotFoundException),
371    /// <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>
372    ServiceQuotaExceededException(crate::types::error::ServiceQuotaExceededException),
373    /// <p>The request was denied due to request throttling.</p>
374    ThrottlingException(crate::types::error::ThrottlingException),
375    /// <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>
376    ValidationException(crate::types::error::ValidationException),
377    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
378    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
379    variable wildcard pattern and check `.code()`:
380     \
381    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
382     \
383    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-ListWorkflowRunsError) for what information is available for the error.")]
384    Unhandled(crate::error::sealed_unhandled::Unhandled),
385}
386impl ListWorkflowRunsError {
387    /// Creates the `ListWorkflowRunsError::Unhandled` variant from any error type.
388    pub fn unhandled(
389        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
390    ) -> Self {
391        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
392            source: err.into(),
393            meta: ::std::default::Default::default(),
394        })
395    }
396
397    /// Creates the `ListWorkflowRunsError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
398    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
399        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
400            source: err.clone().into(),
401            meta: err,
402        })
403    }
404    ///
405    /// Returns error metadata, which includes the error code, message,
406    /// request ID, and potentially additional information.
407    ///
408    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
409        match self {
410            Self::AccessDeniedException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
411            Self::ConflictException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
412            Self::ResourceNotFoundException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
413            Self::ServiceQuotaExceededException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
414            Self::ThrottlingException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
415            Self::ValidationException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
416            Self::Unhandled(e) => &e.meta,
417        }
418    }
419    /// Returns `true` if the error kind is `ListWorkflowRunsError::AccessDeniedException`.
420    pub fn is_access_denied_exception(&self) -> bool {
421        matches!(self, Self::AccessDeniedException(_))
422    }
423    /// Returns `true` if the error kind is `ListWorkflowRunsError::ConflictException`.
424    pub fn is_conflict_exception(&self) -> bool {
425        matches!(self, Self::ConflictException(_))
426    }
427    /// Returns `true` if the error kind is `ListWorkflowRunsError::ResourceNotFoundException`.
428    pub fn is_resource_not_found_exception(&self) -> bool {
429        matches!(self, Self::ResourceNotFoundException(_))
430    }
431    /// Returns `true` if the error kind is `ListWorkflowRunsError::ServiceQuotaExceededException`.
432    pub fn is_service_quota_exceeded_exception(&self) -> bool {
433        matches!(self, Self::ServiceQuotaExceededException(_))
434    }
435    /// Returns `true` if the error kind is `ListWorkflowRunsError::ThrottlingException`.
436    pub fn is_throttling_exception(&self) -> bool {
437        matches!(self, Self::ThrottlingException(_))
438    }
439    /// Returns `true` if the error kind is `ListWorkflowRunsError::ValidationException`.
440    pub fn is_validation_exception(&self) -> bool {
441        matches!(self, Self::ValidationException(_))
442    }
443}
444impl ::std::error::Error for ListWorkflowRunsError {
445    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
446        match self {
447            Self::AccessDeniedException(_inner) => ::std::option::Option::Some(_inner),
448            Self::ConflictException(_inner) => ::std::option::Option::Some(_inner),
449            Self::ResourceNotFoundException(_inner) => ::std::option::Option::Some(_inner),
450            Self::ServiceQuotaExceededException(_inner) => ::std::option::Option::Some(_inner),
451            Self::ThrottlingException(_inner) => ::std::option::Option::Some(_inner),
452            Self::ValidationException(_inner) => ::std::option::Option::Some(_inner),
453            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
454        }
455    }
456}
457impl ::std::fmt::Display for ListWorkflowRunsError {
458    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
459        match self {
460            Self::AccessDeniedException(_inner) => _inner.fmt(f),
461            Self::ConflictException(_inner) => _inner.fmt(f),
462            Self::ResourceNotFoundException(_inner) => _inner.fmt(f),
463            Self::ServiceQuotaExceededException(_inner) => _inner.fmt(f),
464            Self::ThrottlingException(_inner) => _inner.fmt(f),
465            Self::ValidationException(_inner) => _inner.fmt(f),
466            Self::Unhandled(_inner) => {
467                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
468                    write!(f, "unhandled error ({code})")
469                } else {
470                    f.write_str("unhandled error")
471                }
472            }
473        }
474    }
475}
476impl ::aws_smithy_types::retry::ProvideErrorKind for ListWorkflowRunsError {
477    fn code(&self) -> ::std::option::Option<&str> {
478        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
479    }
480    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
481        match self {
482            Self::ThrottlingException(inner) => ::std::option::Option::Some(inner.retryable_error_kind()),
483            _ => ::std::option::Option::None,
484        }
485    }
486}
487impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for ListWorkflowRunsError {
488    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
489        match self {
490            Self::AccessDeniedException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
491            Self::ConflictException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
492            Self::ResourceNotFoundException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
493            Self::ServiceQuotaExceededException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
494            Self::ThrottlingException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
495            Self::ValidationException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
496            Self::Unhandled(_inner) => &_inner.meta,
497        }
498    }
499}
500impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for ListWorkflowRunsError {
501    fn create_unhandled_error(
502        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
503        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
504    ) -> Self {
505        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
506            source,
507            meta: meta.unwrap_or_default(),
508        })
509    }
510}
511impl ::aws_types::request_id::RequestId for crate::operation::list_workflow_runs::ListWorkflowRunsError {
512    fn request_id(&self) -> Option<&str> {
513        self.meta().request_id()
514    }
515}
516
517pub use crate::operation::list_workflow_runs::_list_workflow_runs_input::ListWorkflowRunsInput;
518
519pub use crate::operation::list_workflow_runs::_list_workflow_runs_output::ListWorkflowRunsOutput;
520
521mod _list_workflow_runs_input;
522
523mod _list_workflow_runs_output;
524
525/// Builders
526pub mod builders;
527
528/// Paginator for this operation
529pub mod paginator;