Skip to main content

aws_sdk_codecommit/operation/
describe_pull_request_events.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2/// Orchestration and serialization glue logic for `DescribePullRequestEvents`.
3#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
4#[non_exhaustive]
5pub struct DescribePullRequestEvents;
6impl DescribePullRequestEvents {
7    /// Creates a new `DescribePullRequestEvents`
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::describe_pull_request_events::DescribePullRequestEventsInput,
14    ) -> ::std::result::Result<
15        crate::operation::describe_pull_request_events::DescribePullRequestEventsOutput,
16        ::aws_smithy_runtime_api::client::result::SdkError<
17            crate::operation::describe_pull_request_events::DescribePullRequestEventsError,
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::describe_pull_request_events::DescribePullRequestEventsError>()
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::describe_pull_request_events::DescribePullRequestEventsOutput>()
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::describe_pull_request_events::DescribePullRequestEventsInput,
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            "CodeCommit",
56            "DescribePullRequestEvents",
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            "CodeCommit.DescribePullRequestEvents",
65            "rpc.service" = "CodeCommit",
66            "rpc.method" = "DescribePullRequestEvents",
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 DescribePullRequestEvents {
94    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
95        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("DescribePullRequestEvents");
96
97        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
98            DescribePullRequestEventsRequestSerializer,
99        ));
100        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
101            DescribePullRequestEventsResponseDeserializer,
102        ));
103
104        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
105            crate::config::auth::Params::builder()
106                .operation_name("DescribePullRequestEvents")
107                .build()
108                .expect("required fields set"),
109        ));
110
111        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
112            "DescribePullRequestEvents",
113            "CodeCommit",
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("DescribePullRequestEvents")
135            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
136                DescribePullRequestEventsTelemetryInputCaptureInterceptor,
137            ))
138            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
139                ::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default(),
140            ))
141            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
142                DescribePullRequestEventsEndpointParamsInterceptor,
143            ))
144            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
145                crate::operation::describe_pull_request_events::DescribePullRequestEventsError,
146            >::new())
147            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
148                crate::operation::describe_pull_request_events::DescribePullRequestEventsError,
149            >::new())
150            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
151                crate::operation::describe_pull_request_events::DescribePullRequestEventsError,
152            >::new())
153            .with_retry_classifier(::aws_runtime::service_clock_skew::ServiceClockSkewClassifier::<
154                crate::operation::describe_pull_request_events::DescribePullRequestEventsError,
155            >::new());
156
157        ::std::borrow::Cow::Owned(rcb)
158    }
159}
160
161#[derive(Debug)]
162struct DescribePullRequestEventsTelemetryInputCaptureInterceptor;
163
164#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
165impl ::aws_smithy_runtime_api::client::interceptors::Intercept for DescribePullRequestEventsTelemetryInputCaptureInterceptor {
166    fn name(&self) -> &'static str {
167        "DescribePullRequestEventsTelemetryInputCaptureInterceptor"
168    }
169
170    fn read_before_execution(
171        &self,
172        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
173            '_,
174            ::aws_smithy_runtime_api::client::interceptors::context::Input,
175            ::aws_smithy_runtime_api::client::interceptors::context::Output,
176            ::aws_smithy_runtime_api::client::interceptors::context::Error,
177        >,
178        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
179    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
180        // Nothing to do unless the customer opted in by naming members to record.
181        let ::std::option::Option::Some(requested) = cfg
182            .load::<::aws_smithy_types::telemetry::RequestedTelemetryAttributes>()
183            .filter(|r| !r.is_empty())
184        else {
185            return ::std::result::Result::Ok(());
186        };
187
188        let ::std::option::Option::Some(input) = context.input().downcast_ref::<DescribePullRequestEventsInput>() else {
189            // A mismatched input is not this interceptor's concern; skip quietly.
190            return ::std::result::Result::Ok(());
191        };
192
193        let mut captured = ::aws_smithy_types::telemetry::CapturedTelemetryAttributes::default();
194        if requested.should_capture("pullRequestId") {
195            if let ::std::option::Option::Some(value) = input.pull_request_id.as_deref() {
196                captured.insert("pullRequestId", value);
197            }
198        }
199        if requested.should_capture("actorArn") {
200            if let ::std::option::Option::Some(value) = input.actor_arn.as_deref() {
201                captured.insert("actorArn", value);
202            }
203        }
204        if requested.should_capture("nextToken") {
205            if let ::std::option::Option::Some(value) = input.next_token.as_deref() {
206                captured.insert("nextToken", value);
207            }
208        }
209
210        cfg.interceptor_state().store_put(captured);
211        ::std::result::Result::Ok(())
212    }
213}
214#[derive(Debug)]
215struct DescribePullRequestEventsResponseDeserializer;
216impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for DescribePullRequestEventsResponseDeserializer {
217    fn deserialize_nonstreaming_with_config(
218        &self,
219        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
220        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
221    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
222        let (success, status) = (response.status().is_success(), response.status().as_u16());
223        let headers = response.headers();
224        let body = response.body().bytes().expect("body loaded");
225        #[allow(unused_mut)]
226        let mut force_error = false;
227        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
228        let parse_result = if !success && status != 200 || force_error {
229            crate::protocol_serde::shape_describe_pull_request_events::de_describe_pull_request_events_http_error(status, headers, body)
230        } else {
231            crate::protocol_serde::shape_describe_pull_request_events::de_describe_pull_request_events_http_response(status, headers, body)
232        };
233        crate::protocol_serde::type_erase_result(parse_result)
234    }
235}
236#[derive(Debug)]
237struct DescribePullRequestEventsRequestSerializer;
238impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for DescribePullRequestEventsRequestSerializer {
239    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
240    fn serialize_input(
241        &self,
242        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
243        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
244    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
245        let input = input
246            .downcast::<crate::operation::describe_pull_request_events::DescribePullRequestEventsInput>()
247            .expect("correct type");
248        let _header_serialization_settings = _cfg
249            .load::<crate::serialization_settings::HeaderSerializationSettings>()
250            .cloned()
251            .unwrap_or_default();
252        let mut request_builder = {
253            #[allow(clippy::uninlined_format_args)]
254            fn uri_base(
255                _input: &crate::operation::describe_pull_request_events::DescribePullRequestEventsInput,
256                output: &mut ::std::string::String,
257            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
258                use ::std::fmt::Write as _;
259                ::std::write!(output, "/").expect("formatting should succeed");
260                ::std::result::Result::Ok(())
261            }
262            #[allow(clippy::unnecessary_wraps)]
263            fn update_http_builder(
264                input: &crate::operation::describe_pull_request_events::DescribePullRequestEventsInput,
265                builder: ::http_1x::request::Builder,
266            ) -> ::std::result::Result<::http_1x::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
267                let mut uri = ::std::string::String::new();
268                uri_base(input, &mut uri)?;
269                ::std::result::Result::Ok(builder.method("POST").uri(uri))
270            }
271            let mut builder = update_http_builder(&input, ::http_1x::request::Builder::new())?;
272            builder = _header_serialization_settings.set_default_header(builder, ::http_1x::header::CONTENT_TYPE, "application/x-amz-json-1.1");
273            builder = _header_serialization_settings.set_default_header(
274                builder,
275                ::http_1x::header::HeaderName::from_static("x-amz-target"),
276                "CodeCommit_20150413.DescribePullRequestEvents",
277            );
278            builder
279        };
280        let body = ::aws_smithy_types::body::SdkBody::from(
281            crate::protocol_serde::shape_describe_pull_request_events::ser_describe_pull_request_events_input(&input)?,
282        );
283        if let Some(content_length) = body.content_length() {
284            let content_length = content_length.to_string();
285            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http_1x::header::CONTENT_LENGTH, &content_length);
286        }
287        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
288    }
289}
290#[derive(Debug)]
291struct DescribePullRequestEventsEndpointParamsInterceptor;
292
293#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
294impl ::aws_smithy_runtime_api::client::interceptors::Intercept for DescribePullRequestEventsEndpointParamsInterceptor {
295    fn name(&self) -> &'static str {
296        "DescribePullRequestEventsEndpointParamsInterceptor"
297    }
298
299    fn read_before_execution(
300        &self,
301        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
302            '_,
303            ::aws_smithy_runtime_api::client::interceptors::context::Input,
304            ::aws_smithy_runtime_api::client::interceptors::context::Output,
305            ::aws_smithy_runtime_api::client::interceptors::context::Error,
306        >,
307        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
308    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
309        let _input = context
310            .input()
311            .downcast_ref::<DescribePullRequestEventsInput>()
312            .ok_or("failed to downcast to DescribePullRequestEventsInput")?;
313
314        let params = crate::config::endpoint::Params::builder()
315            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
316            .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0))
317            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
318            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
319            .build()
320            .map_err(|err| {
321                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
322            })?;
323        cfg.interceptor_state()
324            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
325        ::std::result::Result::Ok(())
326    }
327}
328
329// The get_* functions below are generated from JMESPath expressions in the
330// operationContextParams trait. They target the operation's input shape.
331
332/// Error type for the `DescribePullRequestEventsError` operation.
333#[non_exhaustive]
334#[derive(::std::fmt::Debug)]
335pub enum DescribePullRequestEventsError {
336    /// <p>The specified Amazon Resource Name (ARN) does not exist in the Amazon Web Services account.</p>
337    ActorDoesNotExistException(crate::types::error::ActorDoesNotExistException),
338    /// <p>An encryption integrity check failed.</p>
339    EncryptionIntegrityChecksFailedException(crate::types::error::EncryptionIntegrityChecksFailedException),
340    /// <p>An encryption key could not be accessed.</p>
341    EncryptionKeyAccessDeniedException(crate::types::error::EncryptionKeyAccessDeniedException),
342    /// <p>The encryption key is disabled.</p>
343    EncryptionKeyDisabledException(crate::types::error::EncryptionKeyDisabledException),
344    /// <p>No encryption key was found.</p>
345    EncryptionKeyNotFoundException(crate::types::error::EncryptionKeyNotFoundException),
346    /// <p>The encryption key is not available.</p>
347    EncryptionKeyUnavailableException(crate::types::error::EncryptionKeyUnavailableException),
348    /// <p>The Amazon Resource Name (ARN) is not valid. Make sure that you have provided the full ARN for the user who initiated the change for the pull request, and then try again.</p>
349    InvalidActorArnException(crate::types::error::InvalidActorArnException),
350    /// <p>The specified continuation token is not valid.</p>
351    InvalidContinuationTokenException(crate::types::error::InvalidContinuationTokenException),
352    /// <p>The specified number of maximum results is not valid.</p>
353    InvalidMaxResultsException(crate::types::error::InvalidMaxResultsException),
354    /// <p>The pull request event type is not valid.</p>
355    InvalidPullRequestEventTypeException(crate::types::error::InvalidPullRequestEventTypeException),
356    /// <p>The pull request ID is not valid. Make sure that you have provided the full ID and that the pull request is in the specified repository, and then try again.</p>
357    InvalidPullRequestIdException(crate::types::error::InvalidPullRequestIdException),
358    /// <p>The pull request ID could not be found. Make sure that you have specified the correct repository name and pull request ID, and then try again.</p>
359    PullRequestDoesNotExistException(crate::types::error::PullRequestDoesNotExistException),
360    /// <p>A pull request ID is required, but none was provided.</p>
361    PullRequestIdRequiredException(crate::types::error::PullRequestIdRequiredException),
362    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
363    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
364    variable wildcard pattern and check `.code()`:
365     \
366    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
367     \
368    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-DescribePullRequestEventsError) for what information is available for the error.")]
369    Unhandled(crate::error::sealed_unhandled::Unhandled),
370}
371impl DescribePullRequestEventsError {
372    /// Creates the `DescribePullRequestEventsError::Unhandled` variant from any error type.
373    pub fn unhandled(
374        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
375    ) -> Self {
376        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
377            source: err.into(),
378            meta: ::std::default::Default::default(),
379        })
380    }
381
382    /// Creates the `DescribePullRequestEventsError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
383    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
384        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
385            source: err.clone().into(),
386            meta: err,
387        })
388    }
389    ///
390    /// Returns error metadata, which includes the error code, message,
391    /// request ID, and potentially additional information.
392    ///
393    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
394        match self {
395            Self::ActorDoesNotExistException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
396            Self::EncryptionIntegrityChecksFailedException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
397            Self::EncryptionKeyAccessDeniedException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
398            Self::EncryptionKeyDisabledException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
399            Self::EncryptionKeyNotFoundException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
400            Self::EncryptionKeyUnavailableException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
401            Self::InvalidActorArnException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
402            Self::InvalidContinuationTokenException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
403            Self::InvalidMaxResultsException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
404            Self::InvalidPullRequestEventTypeException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
405            Self::InvalidPullRequestIdException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
406            Self::PullRequestDoesNotExistException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
407            Self::PullRequestIdRequiredException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
408            Self::Unhandled(e) => &e.meta,
409        }
410    }
411    /// Returns `true` if the error kind is `DescribePullRequestEventsError::ActorDoesNotExistException`.
412    pub fn is_actor_does_not_exist_exception(&self) -> bool {
413        matches!(self, Self::ActorDoesNotExistException(_))
414    }
415    /// Returns `true` if the error kind is `DescribePullRequestEventsError::EncryptionIntegrityChecksFailedException`.
416    pub fn is_encryption_integrity_checks_failed_exception(&self) -> bool {
417        matches!(self, Self::EncryptionIntegrityChecksFailedException(_))
418    }
419    /// Returns `true` if the error kind is `DescribePullRequestEventsError::EncryptionKeyAccessDeniedException`.
420    pub fn is_encryption_key_access_denied_exception(&self) -> bool {
421        matches!(self, Self::EncryptionKeyAccessDeniedException(_))
422    }
423    /// Returns `true` if the error kind is `DescribePullRequestEventsError::EncryptionKeyDisabledException`.
424    pub fn is_encryption_key_disabled_exception(&self) -> bool {
425        matches!(self, Self::EncryptionKeyDisabledException(_))
426    }
427    /// Returns `true` if the error kind is `DescribePullRequestEventsError::EncryptionKeyNotFoundException`.
428    pub fn is_encryption_key_not_found_exception(&self) -> bool {
429        matches!(self, Self::EncryptionKeyNotFoundException(_))
430    }
431    /// Returns `true` if the error kind is `DescribePullRequestEventsError::EncryptionKeyUnavailableException`.
432    pub fn is_encryption_key_unavailable_exception(&self) -> bool {
433        matches!(self, Self::EncryptionKeyUnavailableException(_))
434    }
435    /// Returns `true` if the error kind is `DescribePullRequestEventsError::InvalidActorArnException`.
436    pub fn is_invalid_actor_arn_exception(&self) -> bool {
437        matches!(self, Self::InvalidActorArnException(_))
438    }
439    /// Returns `true` if the error kind is `DescribePullRequestEventsError::InvalidContinuationTokenException`.
440    pub fn is_invalid_continuation_token_exception(&self) -> bool {
441        matches!(self, Self::InvalidContinuationTokenException(_))
442    }
443    /// Returns `true` if the error kind is `DescribePullRequestEventsError::InvalidMaxResultsException`.
444    pub fn is_invalid_max_results_exception(&self) -> bool {
445        matches!(self, Self::InvalidMaxResultsException(_))
446    }
447    /// Returns `true` if the error kind is `DescribePullRequestEventsError::InvalidPullRequestEventTypeException`.
448    pub fn is_invalid_pull_request_event_type_exception(&self) -> bool {
449        matches!(self, Self::InvalidPullRequestEventTypeException(_))
450    }
451    /// Returns `true` if the error kind is `DescribePullRequestEventsError::InvalidPullRequestIdException`.
452    pub fn is_invalid_pull_request_id_exception(&self) -> bool {
453        matches!(self, Self::InvalidPullRequestIdException(_))
454    }
455    /// Returns `true` if the error kind is `DescribePullRequestEventsError::PullRequestDoesNotExistException`.
456    pub fn is_pull_request_does_not_exist_exception(&self) -> bool {
457        matches!(self, Self::PullRequestDoesNotExistException(_))
458    }
459    /// Returns `true` if the error kind is `DescribePullRequestEventsError::PullRequestIdRequiredException`.
460    pub fn is_pull_request_id_required_exception(&self) -> bool {
461        matches!(self, Self::PullRequestIdRequiredException(_))
462    }
463}
464impl ::std::error::Error for DescribePullRequestEventsError {
465    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
466        match self {
467            Self::ActorDoesNotExistException(_inner) => ::std::option::Option::Some(_inner),
468            Self::EncryptionIntegrityChecksFailedException(_inner) => ::std::option::Option::Some(_inner),
469            Self::EncryptionKeyAccessDeniedException(_inner) => ::std::option::Option::Some(_inner),
470            Self::EncryptionKeyDisabledException(_inner) => ::std::option::Option::Some(_inner),
471            Self::EncryptionKeyNotFoundException(_inner) => ::std::option::Option::Some(_inner),
472            Self::EncryptionKeyUnavailableException(_inner) => ::std::option::Option::Some(_inner),
473            Self::InvalidActorArnException(_inner) => ::std::option::Option::Some(_inner),
474            Self::InvalidContinuationTokenException(_inner) => ::std::option::Option::Some(_inner),
475            Self::InvalidMaxResultsException(_inner) => ::std::option::Option::Some(_inner),
476            Self::InvalidPullRequestEventTypeException(_inner) => ::std::option::Option::Some(_inner),
477            Self::InvalidPullRequestIdException(_inner) => ::std::option::Option::Some(_inner),
478            Self::PullRequestDoesNotExistException(_inner) => ::std::option::Option::Some(_inner),
479            Self::PullRequestIdRequiredException(_inner) => ::std::option::Option::Some(_inner),
480            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
481        }
482    }
483}
484impl ::std::fmt::Display for DescribePullRequestEventsError {
485    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
486        match self {
487            Self::ActorDoesNotExistException(_inner) => _inner.fmt(f),
488            Self::EncryptionIntegrityChecksFailedException(_inner) => _inner.fmt(f),
489            Self::EncryptionKeyAccessDeniedException(_inner) => _inner.fmt(f),
490            Self::EncryptionKeyDisabledException(_inner) => _inner.fmt(f),
491            Self::EncryptionKeyNotFoundException(_inner) => _inner.fmt(f),
492            Self::EncryptionKeyUnavailableException(_inner) => _inner.fmt(f),
493            Self::InvalidActorArnException(_inner) => _inner.fmt(f),
494            Self::InvalidContinuationTokenException(_inner) => _inner.fmt(f),
495            Self::InvalidMaxResultsException(_inner) => _inner.fmt(f),
496            Self::InvalidPullRequestEventTypeException(_inner) => _inner.fmt(f),
497            Self::InvalidPullRequestIdException(_inner) => _inner.fmt(f),
498            Self::PullRequestDoesNotExistException(_inner) => _inner.fmt(f),
499            Self::PullRequestIdRequiredException(_inner) => _inner.fmt(f),
500            Self::Unhandled(_inner) => {
501                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
502                    write!(f, "unhandled error ({code})")
503                } else {
504                    f.write_str("unhandled error")
505                }
506            }
507        }
508    }
509}
510impl ::aws_smithy_types::retry::ProvideErrorKind for DescribePullRequestEventsError {
511    fn code(&self) -> ::std::option::Option<&str> {
512        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
513    }
514    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
515        ::std::option::Option::None
516    }
517}
518impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for DescribePullRequestEventsError {
519    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
520        match self {
521            Self::ActorDoesNotExistException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
522            Self::EncryptionIntegrityChecksFailedException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
523            Self::EncryptionKeyAccessDeniedException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
524            Self::EncryptionKeyDisabledException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
525            Self::EncryptionKeyNotFoundException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
526            Self::EncryptionKeyUnavailableException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
527            Self::InvalidActorArnException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
528            Self::InvalidContinuationTokenException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
529            Self::InvalidMaxResultsException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
530            Self::InvalidPullRequestEventTypeException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
531            Self::InvalidPullRequestIdException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
532            Self::PullRequestDoesNotExistException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
533            Self::PullRequestIdRequiredException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
534            Self::Unhandled(_inner) => &_inner.meta,
535        }
536    }
537}
538impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for DescribePullRequestEventsError {
539    fn create_unhandled_error(
540        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
541        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
542    ) -> Self {
543        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
544            source,
545            meta: meta.unwrap_or_default(),
546        })
547    }
548}
549impl ::aws_types::request_id::RequestId for crate::operation::describe_pull_request_events::DescribePullRequestEventsError {
550    fn request_id(&self) -> Option<&str> {
551        self.meta().request_id()
552    }
553}
554
555pub use crate::operation::describe_pull_request_events::_describe_pull_request_events_input::DescribePullRequestEventsInput;
556
557pub use crate::operation::describe_pull_request_events::_describe_pull_request_events_output::DescribePullRequestEventsOutput;
558
559mod _describe_pull_request_events_input;
560
561mod _describe_pull_request_events_output;
562
563/// Builders
564pub mod builders;
565
566/// Paginator for this operation
567pub mod paginator;