aws_sdk_codecommit/operation/
test_repository_triggers.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2/// Orchestration and serialization glue logic for `TestRepositoryTriggers`.
3#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
4#[non_exhaustive]
5pub struct TestRepositoryTriggers;
6impl TestRepositoryTriggers {
7    /// Creates a new `TestRepositoryTriggers`
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::test_repository_triggers::TestRepositoryTriggersInput,
14    ) -> ::std::result::Result<
15        crate::operation::test_repository_triggers::TestRepositoryTriggersOutput,
16        ::aws_smithy_runtime_api::client::result::SdkError<
17            crate::operation::test_repository_triggers::TestRepositoryTriggersError,
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::test_repository_triggers::TestRepositoryTriggersError>()
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::test_repository_triggers::TestRepositoryTriggersOutput>()
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::test_repository_triggers::TestRepositoryTriggersInput,
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("CodeCommit", "TestRepositoryTriggers", 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                "CodeCommit.TestRepositoryTriggers",
59                "rpc.service" = "CodeCommit",
60                "rpc.method" = "TestRepositoryTriggers",
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 TestRepositoryTriggers {
88    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
89        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("TestRepositoryTriggers");
90
91        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
92            TestRepositoryTriggersRequestSerializer,
93        ));
94        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
95            TestRepositoryTriggersResponseDeserializer,
96        ));
97
98        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
99            crate::config::auth::Params::builder()
100                .operation_name("TestRepositoryTriggers")
101                .build()
102                .expect("required fields set"),
103        ));
104
105        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
106            "TestRepositoryTriggers",
107            "CodeCommit",
108        ));
109        let mut signing_options = ::aws_runtime::auth::SigningOptions::default();
110        signing_options.double_uri_encode = true;
111        signing_options.content_sha256_header = false;
112        signing_options.normalize_uri_path = true;
113        signing_options.payload_override = None;
114
115        cfg.store_put(::aws_runtime::auth::SigV4OperationSigningConfig {
116            signing_options,
117            ..::std::default::Default::default()
118        });
119
120        ::std::option::Option::Some(cfg.freeze())
121    }
122
123    fn runtime_components(
124        &self,
125        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
126    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
127        #[allow(unused_mut)]
128        let mut rcb = ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("TestRepositoryTriggers")
129            .with_interceptor(::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default())
130            .with_interceptor(TestRepositoryTriggersEndpointParamsInterceptor)
131            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
132                crate::operation::test_repository_triggers::TestRepositoryTriggersError,
133            >::new())
134            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
135                crate::operation::test_repository_triggers::TestRepositoryTriggersError,
136            >::new())
137            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
138                crate::operation::test_repository_triggers::TestRepositoryTriggersError,
139            >::new());
140
141        ::std::borrow::Cow::Owned(rcb)
142    }
143}
144
145#[derive(Debug)]
146struct TestRepositoryTriggersResponseDeserializer;
147impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for TestRepositoryTriggersResponseDeserializer {
148    fn deserialize_nonstreaming(
149        &self,
150        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
151    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
152        let (success, status) = (response.status().is_success(), response.status().as_u16());
153        let headers = response.headers();
154        let body = response.body().bytes().expect("body loaded");
155        #[allow(unused_mut)]
156        let mut force_error = false;
157        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
158        let parse_result = if !success && status != 200 || force_error {
159            crate::protocol_serde::shape_test_repository_triggers::de_test_repository_triggers_http_error(status, headers, body)
160        } else {
161            crate::protocol_serde::shape_test_repository_triggers::de_test_repository_triggers_http_response(status, headers, body)
162        };
163        crate::protocol_serde::type_erase_result(parse_result)
164    }
165}
166#[derive(Debug)]
167struct TestRepositoryTriggersRequestSerializer;
168impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for TestRepositoryTriggersRequestSerializer {
169    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
170    fn serialize_input(
171        &self,
172        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
173        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
174    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
175        let input = input
176            .downcast::<crate::operation::test_repository_triggers::TestRepositoryTriggersInput>()
177            .expect("correct type");
178        let _header_serialization_settings = _cfg
179            .load::<crate::serialization_settings::HeaderSerializationSettings>()
180            .cloned()
181            .unwrap_or_default();
182        let mut request_builder = {
183            fn uri_base(
184                _input: &crate::operation::test_repository_triggers::TestRepositoryTriggersInput,
185                output: &mut ::std::string::String,
186            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
187                use ::std::fmt::Write as _;
188                ::std::write!(output, "/").expect("formatting should succeed");
189                ::std::result::Result::Ok(())
190            }
191            #[allow(clippy::unnecessary_wraps)]
192            fn update_http_builder(
193                input: &crate::operation::test_repository_triggers::TestRepositoryTriggersInput,
194                builder: ::http::request::Builder,
195            ) -> ::std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
196                let mut uri = ::std::string::String::new();
197                uri_base(input, &mut uri)?;
198                ::std::result::Result::Ok(builder.method("POST").uri(uri))
199            }
200            let mut builder = update_http_builder(&input, ::http::request::Builder::new())?;
201            builder = _header_serialization_settings.set_default_header(builder, ::http::header::CONTENT_TYPE, "application/x-amz-json-1.1");
202            builder = _header_serialization_settings.set_default_header(
203                builder,
204                ::http::header::HeaderName::from_static("x-amz-target"),
205                "CodeCommit_20150413.TestRepositoryTriggers",
206            );
207            builder
208        };
209        let body = ::aws_smithy_types::body::SdkBody::from(
210            crate::protocol_serde::shape_test_repository_triggers::ser_test_repository_triggers_input(&input)?,
211        );
212        if let Some(content_length) = body.content_length() {
213            let content_length = content_length.to_string();
214            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http::header::CONTENT_LENGTH, &content_length);
215        }
216        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
217    }
218}
219#[derive(Debug)]
220struct TestRepositoryTriggersEndpointParamsInterceptor;
221
222impl ::aws_smithy_runtime_api::client::interceptors::Intercept for TestRepositoryTriggersEndpointParamsInterceptor {
223    fn name(&self) -> &'static str {
224        "TestRepositoryTriggersEndpointParamsInterceptor"
225    }
226
227    fn read_before_execution(
228        &self,
229        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
230            '_,
231            ::aws_smithy_runtime_api::client::interceptors::context::Input,
232            ::aws_smithy_runtime_api::client::interceptors::context::Output,
233            ::aws_smithy_runtime_api::client::interceptors::context::Error,
234        >,
235        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
236    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
237        let _input = context
238            .input()
239            .downcast_ref::<TestRepositoryTriggersInput>()
240            .ok_or("failed to downcast to TestRepositoryTriggersInput")?;
241
242        let params = crate::config::endpoint::Params::builder()
243            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
244            .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0))
245            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
246            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
247            .build()
248            .map_err(|err| {
249                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
250            })?;
251        cfg.interceptor_state()
252            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
253        ::std::result::Result::Ok(())
254    }
255}
256
257// The get_* functions below are generated from JMESPath expressions in the
258// operationContextParams trait. They target the operation's input shape.
259
260/// Error type for the `TestRepositoryTriggersError` operation.
261#[non_exhaustive]
262#[derive(::std::fmt::Debug)]
263pub enum TestRepositoryTriggersError {
264    /// <p>An encryption integrity check failed.</p>
265    EncryptionIntegrityChecksFailedException(crate::types::error::EncryptionIntegrityChecksFailedException),
266    /// <p>An encryption key could not be accessed.</p>
267    EncryptionKeyAccessDeniedException(crate::types::error::EncryptionKeyAccessDeniedException),
268    /// <p>The encryption key is disabled.</p>
269    EncryptionKeyDisabledException(crate::types::error::EncryptionKeyDisabledException),
270    /// <p>No encryption key was found.</p>
271    EncryptionKeyNotFoundException(crate::types::error::EncryptionKeyNotFoundException),
272    /// <p>The encryption key is not available.</p>
273    EncryptionKeyUnavailableException(crate::types::error::EncryptionKeyUnavailableException),
274    /// <p>A specified repository name is not valid.</p><note>
275    /// <p>This exception occurs only when a specified repository name is not valid. Other exceptions occur when a required repository parameter is missing, or when a specified repository does not exist.</p>
276    /// </note>
277    InvalidRepositoryNameException(crate::types::error::InvalidRepositoryNameException),
278    /// <p>One or more branch names specified for the trigger is not valid.</p>
279    InvalidRepositoryTriggerBranchNameException(crate::types::error::InvalidRepositoryTriggerBranchNameException),
280    /// <p>The custom data provided for the trigger is not valid.</p>
281    InvalidRepositoryTriggerCustomDataException(crate::types::error::InvalidRepositoryTriggerCustomDataException),
282    /// <p>The Amazon Resource Name (ARN) for the trigger is not valid for the specified destination. The most common reason for this error is that the ARN does not meet the requirements for the service type.</p>
283    InvalidRepositoryTriggerDestinationArnException(crate::types::error::InvalidRepositoryTriggerDestinationArnException),
284    /// <p>One or more events specified for the trigger is not valid. Check to make sure that all events specified match the requirements for allowed events.</p>
285    InvalidRepositoryTriggerEventsException(crate::types::error::InvalidRepositoryTriggerEventsException),
286    /// <p>The name of the trigger is not valid.</p>
287    InvalidRepositoryTriggerNameException(crate::types::error::InvalidRepositoryTriggerNameException),
288    /// <p>The Amazon Web Services Region for the trigger target does not match the Amazon Web Services Region for the repository. Triggers must be created in the same Amazon Web Services Region as the target for the trigger.</p>
289    InvalidRepositoryTriggerRegionException(crate::types::error::InvalidRepositoryTriggerRegionException),
290    /// <p>The number of branches for the trigger was exceeded.</p>
291    MaximumBranchesExceededException(crate::types::error::MaximumBranchesExceededException),
292    /// <p>The number of triggers allowed for the repository was exceeded.</p>
293    MaximumRepositoryTriggersExceededException(crate::types::error::MaximumRepositoryTriggersExceededException),
294    /// <p>The specified repository does not exist.</p>
295    RepositoryDoesNotExistException(crate::types::error::RepositoryDoesNotExistException),
296    /// <p>A repository name is required, but was not specified.</p>
297    RepositoryNameRequiredException(crate::types::error::RepositoryNameRequiredException),
298    /// <p>At least one branch name is required, but was not specified in the trigger configuration.</p>
299    RepositoryTriggerBranchNameListRequiredException(crate::types::error::RepositoryTriggerBranchNameListRequiredException),
300    /// <p>A destination ARN for the target service for the trigger is required, but was not specified.</p>
301    RepositoryTriggerDestinationArnRequiredException(crate::types::error::RepositoryTriggerDestinationArnRequiredException),
302    /// <p>At least one event for the trigger is required, but was not specified.</p>
303    RepositoryTriggerEventsListRequiredException(crate::types::error::RepositoryTriggerEventsListRequiredException),
304    /// <p>A name for the trigger is required, but was not specified.</p>
305    RepositoryTriggerNameRequiredException(crate::types::error::RepositoryTriggerNameRequiredException),
306    /// <p>The list of triggers for the repository is required, but was not specified.</p>
307    RepositoryTriggersListRequiredException(crate::types::error::RepositoryTriggersListRequiredException),
308    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
309    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
310    variable wildcard pattern and check `.code()`:
311     \
312    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
313     \
314    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-TestRepositoryTriggersError) for what information is available for the error.")]
315    Unhandled(crate::error::sealed_unhandled::Unhandled),
316}
317impl TestRepositoryTriggersError {
318    /// Creates the `TestRepositoryTriggersError::Unhandled` variant from any error type.
319    pub fn unhandled(
320        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
321    ) -> Self {
322        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
323            source: err.into(),
324            meta: ::std::default::Default::default(),
325        })
326    }
327
328    /// Creates the `TestRepositoryTriggersError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
329    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
330        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
331            source: err.clone().into(),
332            meta: err,
333        })
334    }
335    ///
336    /// Returns error metadata, which includes the error code, message,
337    /// request ID, and potentially additional information.
338    ///
339    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
340        match self {
341            Self::EncryptionIntegrityChecksFailedException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
342            Self::EncryptionKeyAccessDeniedException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
343            Self::EncryptionKeyDisabledException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
344            Self::EncryptionKeyNotFoundException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
345            Self::EncryptionKeyUnavailableException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
346            Self::InvalidRepositoryNameException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
347            Self::InvalidRepositoryTriggerBranchNameException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
348            Self::InvalidRepositoryTriggerCustomDataException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
349            Self::InvalidRepositoryTriggerDestinationArnException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
350            Self::InvalidRepositoryTriggerEventsException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
351            Self::InvalidRepositoryTriggerNameException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
352            Self::InvalidRepositoryTriggerRegionException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
353            Self::MaximumBranchesExceededException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
354            Self::MaximumRepositoryTriggersExceededException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
355            Self::RepositoryDoesNotExistException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
356            Self::RepositoryNameRequiredException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
357            Self::RepositoryTriggerBranchNameListRequiredException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
358            Self::RepositoryTriggerDestinationArnRequiredException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
359            Self::RepositoryTriggerEventsListRequiredException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
360            Self::RepositoryTriggerNameRequiredException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
361            Self::RepositoryTriggersListRequiredException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
362            Self::Unhandled(e) => &e.meta,
363        }
364    }
365    /// Returns `true` if the error kind is `TestRepositoryTriggersError::EncryptionIntegrityChecksFailedException`.
366    pub fn is_encryption_integrity_checks_failed_exception(&self) -> bool {
367        matches!(self, Self::EncryptionIntegrityChecksFailedException(_))
368    }
369    /// Returns `true` if the error kind is `TestRepositoryTriggersError::EncryptionKeyAccessDeniedException`.
370    pub fn is_encryption_key_access_denied_exception(&self) -> bool {
371        matches!(self, Self::EncryptionKeyAccessDeniedException(_))
372    }
373    /// Returns `true` if the error kind is `TestRepositoryTriggersError::EncryptionKeyDisabledException`.
374    pub fn is_encryption_key_disabled_exception(&self) -> bool {
375        matches!(self, Self::EncryptionKeyDisabledException(_))
376    }
377    /// Returns `true` if the error kind is `TestRepositoryTriggersError::EncryptionKeyNotFoundException`.
378    pub fn is_encryption_key_not_found_exception(&self) -> bool {
379        matches!(self, Self::EncryptionKeyNotFoundException(_))
380    }
381    /// Returns `true` if the error kind is `TestRepositoryTriggersError::EncryptionKeyUnavailableException`.
382    pub fn is_encryption_key_unavailable_exception(&self) -> bool {
383        matches!(self, Self::EncryptionKeyUnavailableException(_))
384    }
385    /// Returns `true` if the error kind is `TestRepositoryTriggersError::InvalidRepositoryNameException`.
386    pub fn is_invalid_repository_name_exception(&self) -> bool {
387        matches!(self, Self::InvalidRepositoryNameException(_))
388    }
389    /// Returns `true` if the error kind is `TestRepositoryTriggersError::InvalidRepositoryTriggerBranchNameException`.
390    pub fn is_invalid_repository_trigger_branch_name_exception(&self) -> bool {
391        matches!(self, Self::InvalidRepositoryTriggerBranchNameException(_))
392    }
393    /// Returns `true` if the error kind is `TestRepositoryTriggersError::InvalidRepositoryTriggerCustomDataException`.
394    pub fn is_invalid_repository_trigger_custom_data_exception(&self) -> bool {
395        matches!(self, Self::InvalidRepositoryTriggerCustomDataException(_))
396    }
397    /// Returns `true` if the error kind is `TestRepositoryTriggersError::InvalidRepositoryTriggerDestinationArnException`.
398    pub fn is_invalid_repository_trigger_destination_arn_exception(&self) -> bool {
399        matches!(self, Self::InvalidRepositoryTriggerDestinationArnException(_))
400    }
401    /// Returns `true` if the error kind is `TestRepositoryTriggersError::InvalidRepositoryTriggerEventsException`.
402    pub fn is_invalid_repository_trigger_events_exception(&self) -> bool {
403        matches!(self, Self::InvalidRepositoryTriggerEventsException(_))
404    }
405    /// Returns `true` if the error kind is `TestRepositoryTriggersError::InvalidRepositoryTriggerNameException`.
406    pub fn is_invalid_repository_trigger_name_exception(&self) -> bool {
407        matches!(self, Self::InvalidRepositoryTriggerNameException(_))
408    }
409    /// Returns `true` if the error kind is `TestRepositoryTriggersError::InvalidRepositoryTriggerRegionException`.
410    pub fn is_invalid_repository_trigger_region_exception(&self) -> bool {
411        matches!(self, Self::InvalidRepositoryTriggerRegionException(_))
412    }
413    /// Returns `true` if the error kind is `TestRepositoryTriggersError::MaximumBranchesExceededException`.
414    pub fn is_maximum_branches_exceeded_exception(&self) -> bool {
415        matches!(self, Self::MaximumBranchesExceededException(_))
416    }
417    /// Returns `true` if the error kind is `TestRepositoryTriggersError::MaximumRepositoryTriggersExceededException`.
418    pub fn is_maximum_repository_triggers_exceeded_exception(&self) -> bool {
419        matches!(self, Self::MaximumRepositoryTriggersExceededException(_))
420    }
421    /// Returns `true` if the error kind is `TestRepositoryTriggersError::RepositoryDoesNotExistException`.
422    pub fn is_repository_does_not_exist_exception(&self) -> bool {
423        matches!(self, Self::RepositoryDoesNotExistException(_))
424    }
425    /// Returns `true` if the error kind is `TestRepositoryTriggersError::RepositoryNameRequiredException`.
426    pub fn is_repository_name_required_exception(&self) -> bool {
427        matches!(self, Self::RepositoryNameRequiredException(_))
428    }
429    /// Returns `true` if the error kind is `TestRepositoryTriggersError::RepositoryTriggerBranchNameListRequiredException`.
430    pub fn is_repository_trigger_branch_name_list_required_exception(&self) -> bool {
431        matches!(self, Self::RepositoryTriggerBranchNameListRequiredException(_))
432    }
433    /// Returns `true` if the error kind is `TestRepositoryTriggersError::RepositoryTriggerDestinationArnRequiredException`.
434    pub fn is_repository_trigger_destination_arn_required_exception(&self) -> bool {
435        matches!(self, Self::RepositoryTriggerDestinationArnRequiredException(_))
436    }
437    /// Returns `true` if the error kind is `TestRepositoryTriggersError::RepositoryTriggerEventsListRequiredException`.
438    pub fn is_repository_trigger_events_list_required_exception(&self) -> bool {
439        matches!(self, Self::RepositoryTriggerEventsListRequiredException(_))
440    }
441    /// Returns `true` if the error kind is `TestRepositoryTriggersError::RepositoryTriggerNameRequiredException`.
442    pub fn is_repository_trigger_name_required_exception(&self) -> bool {
443        matches!(self, Self::RepositoryTriggerNameRequiredException(_))
444    }
445    /// Returns `true` if the error kind is `TestRepositoryTriggersError::RepositoryTriggersListRequiredException`.
446    pub fn is_repository_triggers_list_required_exception(&self) -> bool {
447        matches!(self, Self::RepositoryTriggersListRequiredException(_))
448    }
449}
450impl ::std::error::Error for TestRepositoryTriggersError {
451    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
452        match self {
453            Self::EncryptionIntegrityChecksFailedException(_inner) => ::std::option::Option::Some(_inner),
454            Self::EncryptionKeyAccessDeniedException(_inner) => ::std::option::Option::Some(_inner),
455            Self::EncryptionKeyDisabledException(_inner) => ::std::option::Option::Some(_inner),
456            Self::EncryptionKeyNotFoundException(_inner) => ::std::option::Option::Some(_inner),
457            Self::EncryptionKeyUnavailableException(_inner) => ::std::option::Option::Some(_inner),
458            Self::InvalidRepositoryNameException(_inner) => ::std::option::Option::Some(_inner),
459            Self::InvalidRepositoryTriggerBranchNameException(_inner) => ::std::option::Option::Some(_inner),
460            Self::InvalidRepositoryTriggerCustomDataException(_inner) => ::std::option::Option::Some(_inner),
461            Self::InvalidRepositoryTriggerDestinationArnException(_inner) => ::std::option::Option::Some(_inner),
462            Self::InvalidRepositoryTriggerEventsException(_inner) => ::std::option::Option::Some(_inner),
463            Self::InvalidRepositoryTriggerNameException(_inner) => ::std::option::Option::Some(_inner),
464            Self::InvalidRepositoryTriggerRegionException(_inner) => ::std::option::Option::Some(_inner),
465            Self::MaximumBranchesExceededException(_inner) => ::std::option::Option::Some(_inner),
466            Self::MaximumRepositoryTriggersExceededException(_inner) => ::std::option::Option::Some(_inner),
467            Self::RepositoryDoesNotExistException(_inner) => ::std::option::Option::Some(_inner),
468            Self::RepositoryNameRequiredException(_inner) => ::std::option::Option::Some(_inner),
469            Self::RepositoryTriggerBranchNameListRequiredException(_inner) => ::std::option::Option::Some(_inner),
470            Self::RepositoryTriggerDestinationArnRequiredException(_inner) => ::std::option::Option::Some(_inner),
471            Self::RepositoryTriggerEventsListRequiredException(_inner) => ::std::option::Option::Some(_inner),
472            Self::RepositoryTriggerNameRequiredException(_inner) => ::std::option::Option::Some(_inner),
473            Self::RepositoryTriggersListRequiredException(_inner) => ::std::option::Option::Some(_inner),
474            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
475        }
476    }
477}
478impl ::std::fmt::Display for TestRepositoryTriggersError {
479    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
480        match self {
481            Self::EncryptionIntegrityChecksFailedException(_inner) => _inner.fmt(f),
482            Self::EncryptionKeyAccessDeniedException(_inner) => _inner.fmt(f),
483            Self::EncryptionKeyDisabledException(_inner) => _inner.fmt(f),
484            Self::EncryptionKeyNotFoundException(_inner) => _inner.fmt(f),
485            Self::EncryptionKeyUnavailableException(_inner) => _inner.fmt(f),
486            Self::InvalidRepositoryNameException(_inner) => _inner.fmt(f),
487            Self::InvalidRepositoryTriggerBranchNameException(_inner) => _inner.fmt(f),
488            Self::InvalidRepositoryTriggerCustomDataException(_inner) => _inner.fmt(f),
489            Self::InvalidRepositoryTriggerDestinationArnException(_inner) => _inner.fmt(f),
490            Self::InvalidRepositoryTriggerEventsException(_inner) => _inner.fmt(f),
491            Self::InvalidRepositoryTriggerNameException(_inner) => _inner.fmt(f),
492            Self::InvalidRepositoryTriggerRegionException(_inner) => _inner.fmt(f),
493            Self::MaximumBranchesExceededException(_inner) => _inner.fmt(f),
494            Self::MaximumRepositoryTriggersExceededException(_inner) => _inner.fmt(f),
495            Self::RepositoryDoesNotExistException(_inner) => _inner.fmt(f),
496            Self::RepositoryNameRequiredException(_inner) => _inner.fmt(f),
497            Self::RepositoryTriggerBranchNameListRequiredException(_inner) => _inner.fmt(f),
498            Self::RepositoryTriggerDestinationArnRequiredException(_inner) => _inner.fmt(f),
499            Self::RepositoryTriggerEventsListRequiredException(_inner) => _inner.fmt(f),
500            Self::RepositoryTriggerNameRequiredException(_inner) => _inner.fmt(f),
501            Self::RepositoryTriggersListRequiredException(_inner) => _inner.fmt(f),
502            Self::Unhandled(_inner) => {
503                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
504                    write!(f, "unhandled error ({code})")
505                } else {
506                    f.write_str("unhandled error")
507                }
508            }
509        }
510    }
511}
512impl ::aws_smithy_types::retry::ProvideErrorKind for TestRepositoryTriggersError {
513    fn code(&self) -> ::std::option::Option<&str> {
514        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
515    }
516    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
517        ::std::option::Option::None
518    }
519}
520impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for TestRepositoryTriggersError {
521    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
522        match self {
523            Self::EncryptionIntegrityChecksFailedException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
524            Self::EncryptionKeyAccessDeniedException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
525            Self::EncryptionKeyDisabledException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
526            Self::EncryptionKeyNotFoundException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
527            Self::EncryptionKeyUnavailableException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
528            Self::InvalidRepositoryNameException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
529            Self::InvalidRepositoryTriggerBranchNameException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
530            Self::InvalidRepositoryTriggerCustomDataException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
531            Self::InvalidRepositoryTriggerDestinationArnException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
532            Self::InvalidRepositoryTriggerEventsException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
533            Self::InvalidRepositoryTriggerNameException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
534            Self::InvalidRepositoryTriggerRegionException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
535            Self::MaximumBranchesExceededException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
536            Self::MaximumRepositoryTriggersExceededException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
537            Self::RepositoryDoesNotExistException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
538            Self::RepositoryNameRequiredException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
539            Self::RepositoryTriggerBranchNameListRequiredException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
540            Self::RepositoryTriggerDestinationArnRequiredException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
541            Self::RepositoryTriggerEventsListRequiredException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
542            Self::RepositoryTriggerNameRequiredException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
543            Self::RepositoryTriggersListRequiredException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
544            Self::Unhandled(_inner) => &_inner.meta,
545        }
546    }
547}
548impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for TestRepositoryTriggersError {
549    fn create_unhandled_error(
550        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
551        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
552    ) -> Self {
553        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
554            source,
555            meta: meta.unwrap_or_default(),
556        })
557    }
558}
559impl ::aws_types::request_id::RequestId for crate::operation::test_repository_triggers::TestRepositoryTriggersError {
560    fn request_id(&self) -> Option<&str> {
561        self.meta().request_id()
562    }
563}
564
565pub use crate::operation::test_repository_triggers::_test_repository_triggers_output::TestRepositoryTriggersOutput;
566
567pub use crate::operation::test_repository_triggers::_test_repository_triggers_input::TestRepositoryTriggersInput;
568
569mod _test_repository_triggers_input;
570
571mod _test_repository_triggers_output;
572
573/// Builders
574pub mod builders;