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