Skip to main content

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_api::client::interceptors::SharedInterceptor::permanent(
130                TestRepositoryTriggersTelemetryInputCaptureInterceptor,
131            ))
132            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
133                ::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default(),
134            ))
135            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
136                TestRepositoryTriggersEndpointParamsInterceptor,
137            ))
138            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
139                crate::operation::test_repository_triggers::TestRepositoryTriggersError,
140            >::new())
141            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
142                crate::operation::test_repository_triggers::TestRepositoryTriggersError,
143            >::new())
144            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
145                crate::operation::test_repository_triggers::TestRepositoryTriggersError,
146            >::new())
147            .with_retry_classifier(::aws_runtime::service_clock_skew::ServiceClockSkewClassifier::<
148                crate::operation::test_repository_triggers::TestRepositoryTriggersError,
149            >::new());
150
151        ::std::borrow::Cow::Owned(rcb)
152    }
153}
154
155#[derive(Debug)]
156struct TestRepositoryTriggersTelemetryInputCaptureInterceptor;
157
158#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
159impl ::aws_smithy_runtime_api::client::interceptors::Intercept for TestRepositoryTriggersTelemetryInputCaptureInterceptor {
160    fn name(&self) -> &'static str {
161        "TestRepositoryTriggersTelemetryInputCaptureInterceptor"
162    }
163
164    fn read_before_execution(
165        &self,
166        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
167            '_,
168            ::aws_smithy_runtime_api::client::interceptors::context::Input,
169            ::aws_smithy_runtime_api::client::interceptors::context::Output,
170            ::aws_smithy_runtime_api::client::interceptors::context::Error,
171        >,
172        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
173    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
174        // Nothing to do unless the customer opted in by naming members to record.
175        let ::std::option::Option::Some(requested) = cfg
176            .load::<::aws_smithy_types::telemetry::RequestedTelemetryAttributes>()
177            .filter(|r| !r.is_empty())
178        else {
179            return ::std::result::Result::Ok(());
180        };
181
182        let ::std::option::Option::Some(input) = context.input().downcast_ref::<TestRepositoryTriggersInput>() else {
183            // A mismatched input is not this interceptor's concern; skip quietly.
184            return ::std::result::Result::Ok(());
185        };
186
187        let mut captured = ::aws_smithy_types::telemetry::CapturedTelemetryAttributes::default();
188        if requested.should_capture("repositoryName") {
189            if let ::std::option::Option::Some(value) = input.repository_name.as_deref() {
190                captured.insert("repositoryName", value);
191            }
192        }
193
194        cfg.interceptor_state().store_put(captured);
195        ::std::result::Result::Ok(())
196    }
197}
198#[derive(Debug)]
199struct TestRepositoryTriggersResponseDeserializer;
200impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for TestRepositoryTriggersResponseDeserializer {
201    fn deserialize_nonstreaming_with_config(
202        &self,
203        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
204        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
205    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
206        let (success, status) = (response.status().is_success(), response.status().as_u16());
207        let headers = response.headers();
208        let body = response.body().bytes().expect("body loaded");
209        #[allow(unused_mut)]
210        let mut force_error = false;
211        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
212        let parse_result = if !success && status != 200 || force_error {
213            crate::protocol_serde::shape_test_repository_triggers::de_test_repository_triggers_http_error(status, headers, body)
214        } else {
215            crate::protocol_serde::shape_test_repository_triggers::de_test_repository_triggers_http_response(status, headers, body)
216        };
217        crate::protocol_serde::type_erase_result(parse_result)
218    }
219}
220#[derive(Debug)]
221struct TestRepositoryTriggersRequestSerializer;
222impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for TestRepositoryTriggersRequestSerializer {
223    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
224    fn serialize_input(
225        &self,
226        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
227        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
228    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
229        let input = input
230            .downcast::<crate::operation::test_repository_triggers::TestRepositoryTriggersInput>()
231            .expect("correct type");
232        let _header_serialization_settings = _cfg
233            .load::<crate::serialization_settings::HeaderSerializationSettings>()
234            .cloned()
235            .unwrap_or_default();
236        let mut request_builder = {
237            #[allow(clippy::uninlined_format_args)]
238            fn uri_base(
239                _input: &crate::operation::test_repository_triggers::TestRepositoryTriggersInput,
240                output: &mut ::std::string::String,
241            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
242                use ::std::fmt::Write as _;
243                ::std::write!(output, "/").expect("formatting should succeed");
244                ::std::result::Result::Ok(())
245            }
246            #[allow(clippy::unnecessary_wraps)]
247            fn update_http_builder(
248                input: &crate::operation::test_repository_triggers::TestRepositoryTriggersInput,
249                builder: ::http_1x::request::Builder,
250            ) -> ::std::result::Result<::http_1x::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
251                let mut uri = ::std::string::String::new();
252                uri_base(input, &mut uri)?;
253                ::std::result::Result::Ok(builder.method("POST").uri(uri))
254            }
255            let mut builder = update_http_builder(&input, ::http_1x::request::Builder::new())?;
256            builder = _header_serialization_settings.set_default_header(builder, ::http_1x::header::CONTENT_TYPE, "application/x-amz-json-1.1");
257            builder = _header_serialization_settings.set_default_header(
258                builder,
259                ::http_1x::header::HeaderName::from_static("x-amz-target"),
260                "CodeCommit_20150413.TestRepositoryTriggers",
261            );
262            builder
263        };
264        let body = ::aws_smithy_types::body::SdkBody::from(
265            crate::protocol_serde::shape_test_repository_triggers::ser_test_repository_triggers_input(&input)?,
266        );
267        if let Some(content_length) = body.content_length() {
268            let content_length = content_length.to_string();
269            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http_1x::header::CONTENT_LENGTH, &content_length);
270        }
271        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
272    }
273}
274#[derive(Debug)]
275struct TestRepositoryTriggersEndpointParamsInterceptor;
276
277#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
278impl ::aws_smithy_runtime_api::client::interceptors::Intercept for TestRepositoryTriggersEndpointParamsInterceptor {
279    fn name(&self) -> &'static str {
280        "TestRepositoryTriggersEndpointParamsInterceptor"
281    }
282
283    fn read_before_execution(
284        &self,
285        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
286            '_,
287            ::aws_smithy_runtime_api::client::interceptors::context::Input,
288            ::aws_smithy_runtime_api::client::interceptors::context::Output,
289            ::aws_smithy_runtime_api::client::interceptors::context::Error,
290        >,
291        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
292    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
293        let _input = context
294            .input()
295            .downcast_ref::<TestRepositoryTriggersInput>()
296            .ok_or("failed to downcast to TestRepositoryTriggersInput")?;
297
298        let params = crate::config::endpoint::Params::builder()
299            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
300            .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0))
301            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
302            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
303            .build()
304            .map_err(|err| {
305                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
306            })?;
307        cfg.interceptor_state()
308            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
309        ::std::result::Result::Ok(())
310    }
311}
312
313// The get_* functions below are generated from JMESPath expressions in the
314// operationContextParams trait. They target the operation's input shape.
315
316/// Error type for the `TestRepositoryTriggersError` operation.
317#[non_exhaustive]
318#[derive(::std::fmt::Debug)]
319pub enum TestRepositoryTriggersError {
320    /// <p>An encryption integrity check failed.</p>
321    EncryptionIntegrityChecksFailedException(crate::types::error::EncryptionIntegrityChecksFailedException),
322    /// <p>An encryption key could not be accessed.</p>
323    EncryptionKeyAccessDeniedException(crate::types::error::EncryptionKeyAccessDeniedException),
324    /// <p>The encryption key is disabled.</p>
325    EncryptionKeyDisabledException(crate::types::error::EncryptionKeyDisabledException),
326    /// <p>No encryption key was found.</p>
327    EncryptionKeyNotFoundException(crate::types::error::EncryptionKeyNotFoundException),
328    /// <p>The encryption key is not available.</p>
329    EncryptionKeyUnavailableException(crate::types::error::EncryptionKeyUnavailableException),
330    /// <p>A specified repository name is not valid.</p><note>
331    /// <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>
332    /// </note>
333    InvalidRepositoryNameException(crate::types::error::InvalidRepositoryNameException),
334    /// <p>One or more branch names specified for the trigger is not valid.</p>
335    InvalidRepositoryTriggerBranchNameException(crate::types::error::InvalidRepositoryTriggerBranchNameException),
336    /// <p>The custom data provided for the trigger is not valid.</p>
337    InvalidRepositoryTriggerCustomDataException(crate::types::error::InvalidRepositoryTriggerCustomDataException),
338    /// <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>
339    InvalidRepositoryTriggerDestinationArnException(crate::types::error::InvalidRepositoryTriggerDestinationArnException),
340    /// <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>
341    InvalidRepositoryTriggerEventsException(crate::types::error::InvalidRepositoryTriggerEventsException),
342    /// <p>The name of the trigger is not valid.</p>
343    InvalidRepositoryTriggerNameException(crate::types::error::InvalidRepositoryTriggerNameException),
344    /// <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>
345    InvalidRepositoryTriggerRegionException(crate::types::error::InvalidRepositoryTriggerRegionException),
346    /// <p>The number of branches for the trigger was exceeded.</p>
347    MaximumBranchesExceededException(crate::types::error::MaximumBranchesExceededException),
348    /// <p>The number of triggers allowed for the repository was exceeded.</p>
349    MaximumRepositoryTriggersExceededException(crate::types::error::MaximumRepositoryTriggersExceededException),
350    /// <p>The specified repository does not exist.</p>
351    RepositoryDoesNotExistException(crate::types::error::RepositoryDoesNotExistException),
352    /// <p>A repository name is required, but was not specified.</p>
353    RepositoryNameRequiredException(crate::types::error::RepositoryNameRequiredException),
354    /// <p>At least one branch name is required, but was not specified in the trigger configuration.</p>
355    RepositoryTriggerBranchNameListRequiredException(crate::types::error::RepositoryTriggerBranchNameListRequiredException),
356    /// <p>A destination ARN for the target service for the trigger is required, but was not specified.</p>
357    RepositoryTriggerDestinationArnRequiredException(crate::types::error::RepositoryTriggerDestinationArnRequiredException),
358    /// <p>At least one event for the trigger is required, but was not specified.</p>
359    RepositoryTriggerEventsListRequiredException(crate::types::error::RepositoryTriggerEventsListRequiredException),
360    /// <p>A name for the trigger is required, but was not specified.</p>
361    RepositoryTriggerNameRequiredException(crate::types::error::RepositoryTriggerNameRequiredException),
362    /// <p>The list of triggers for the repository is required, but was not specified.</p>
363    RepositoryTriggersListRequiredException(crate::types::error::RepositoryTriggersListRequiredException),
364    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
365    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
366    variable wildcard pattern and check `.code()`:
367     \
368    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
369     \
370    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-TestRepositoryTriggersError) for what information is available for the error.")]
371    Unhandled(crate::error::sealed_unhandled::Unhandled),
372}
373impl TestRepositoryTriggersError {
374    /// Creates the `TestRepositoryTriggersError::Unhandled` variant from any error type.
375    pub fn unhandled(
376        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
377    ) -> Self {
378        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
379            source: err.into(),
380            meta: ::std::default::Default::default(),
381        })
382    }
383
384    /// Creates the `TestRepositoryTriggersError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
385    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
386        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
387            source: err.clone().into(),
388            meta: err,
389        })
390    }
391    ///
392    /// Returns error metadata, which includes the error code, message,
393    /// request ID, and potentially additional information.
394    ///
395    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
396        match self {
397            Self::EncryptionIntegrityChecksFailedException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
398            Self::EncryptionKeyAccessDeniedException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
399            Self::EncryptionKeyDisabledException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
400            Self::EncryptionKeyNotFoundException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
401            Self::EncryptionKeyUnavailableException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
402            Self::InvalidRepositoryNameException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
403            Self::InvalidRepositoryTriggerBranchNameException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
404            Self::InvalidRepositoryTriggerCustomDataException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
405            Self::InvalidRepositoryTriggerDestinationArnException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
406            Self::InvalidRepositoryTriggerEventsException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
407            Self::InvalidRepositoryTriggerNameException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
408            Self::InvalidRepositoryTriggerRegionException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
409            Self::MaximumBranchesExceededException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
410            Self::MaximumRepositoryTriggersExceededException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
411            Self::RepositoryDoesNotExistException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
412            Self::RepositoryNameRequiredException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
413            Self::RepositoryTriggerBranchNameListRequiredException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
414            Self::RepositoryTriggerDestinationArnRequiredException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
415            Self::RepositoryTriggerEventsListRequiredException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
416            Self::RepositoryTriggerNameRequiredException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
417            Self::RepositoryTriggersListRequiredException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
418            Self::Unhandled(e) => &e.meta,
419        }
420    }
421    /// Returns `true` if the error kind is `TestRepositoryTriggersError::EncryptionIntegrityChecksFailedException`.
422    pub fn is_encryption_integrity_checks_failed_exception(&self) -> bool {
423        matches!(self, Self::EncryptionIntegrityChecksFailedException(_))
424    }
425    /// Returns `true` if the error kind is `TestRepositoryTriggersError::EncryptionKeyAccessDeniedException`.
426    pub fn is_encryption_key_access_denied_exception(&self) -> bool {
427        matches!(self, Self::EncryptionKeyAccessDeniedException(_))
428    }
429    /// Returns `true` if the error kind is `TestRepositoryTriggersError::EncryptionKeyDisabledException`.
430    pub fn is_encryption_key_disabled_exception(&self) -> bool {
431        matches!(self, Self::EncryptionKeyDisabledException(_))
432    }
433    /// Returns `true` if the error kind is `TestRepositoryTriggersError::EncryptionKeyNotFoundException`.
434    pub fn is_encryption_key_not_found_exception(&self) -> bool {
435        matches!(self, Self::EncryptionKeyNotFoundException(_))
436    }
437    /// Returns `true` if the error kind is `TestRepositoryTriggersError::EncryptionKeyUnavailableException`.
438    pub fn is_encryption_key_unavailable_exception(&self) -> bool {
439        matches!(self, Self::EncryptionKeyUnavailableException(_))
440    }
441    /// Returns `true` if the error kind is `TestRepositoryTriggersError::InvalidRepositoryNameException`.
442    pub fn is_invalid_repository_name_exception(&self) -> bool {
443        matches!(self, Self::InvalidRepositoryNameException(_))
444    }
445    /// Returns `true` if the error kind is `TestRepositoryTriggersError::InvalidRepositoryTriggerBranchNameException`.
446    pub fn is_invalid_repository_trigger_branch_name_exception(&self) -> bool {
447        matches!(self, Self::InvalidRepositoryTriggerBranchNameException(_))
448    }
449    /// Returns `true` if the error kind is `TestRepositoryTriggersError::InvalidRepositoryTriggerCustomDataException`.
450    pub fn is_invalid_repository_trigger_custom_data_exception(&self) -> bool {
451        matches!(self, Self::InvalidRepositoryTriggerCustomDataException(_))
452    }
453    /// Returns `true` if the error kind is `TestRepositoryTriggersError::InvalidRepositoryTriggerDestinationArnException`.
454    pub fn is_invalid_repository_trigger_destination_arn_exception(&self) -> bool {
455        matches!(self, Self::InvalidRepositoryTriggerDestinationArnException(_))
456    }
457    /// Returns `true` if the error kind is `TestRepositoryTriggersError::InvalidRepositoryTriggerEventsException`.
458    pub fn is_invalid_repository_trigger_events_exception(&self) -> bool {
459        matches!(self, Self::InvalidRepositoryTriggerEventsException(_))
460    }
461    /// Returns `true` if the error kind is `TestRepositoryTriggersError::InvalidRepositoryTriggerNameException`.
462    pub fn is_invalid_repository_trigger_name_exception(&self) -> bool {
463        matches!(self, Self::InvalidRepositoryTriggerNameException(_))
464    }
465    /// Returns `true` if the error kind is `TestRepositoryTriggersError::InvalidRepositoryTriggerRegionException`.
466    pub fn is_invalid_repository_trigger_region_exception(&self) -> bool {
467        matches!(self, Self::InvalidRepositoryTriggerRegionException(_))
468    }
469    /// Returns `true` if the error kind is `TestRepositoryTriggersError::MaximumBranchesExceededException`.
470    pub fn is_maximum_branches_exceeded_exception(&self) -> bool {
471        matches!(self, Self::MaximumBranchesExceededException(_))
472    }
473    /// Returns `true` if the error kind is `TestRepositoryTriggersError::MaximumRepositoryTriggersExceededException`.
474    pub fn is_maximum_repository_triggers_exceeded_exception(&self) -> bool {
475        matches!(self, Self::MaximumRepositoryTriggersExceededException(_))
476    }
477    /// Returns `true` if the error kind is `TestRepositoryTriggersError::RepositoryDoesNotExistException`.
478    pub fn is_repository_does_not_exist_exception(&self) -> bool {
479        matches!(self, Self::RepositoryDoesNotExistException(_))
480    }
481    /// Returns `true` if the error kind is `TestRepositoryTriggersError::RepositoryNameRequiredException`.
482    pub fn is_repository_name_required_exception(&self) -> bool {
483        matches!(self, Self::RepositoryNameRequiredException(_))
484    }
485    /// Returns `true` if the error kind is `TestRepositoryTriggersError::RepositoryTriggerBranchNameListRequiredException`.
486    pub fn is_repository_trigger_branch_name_list_required_exception(&self) -> bool {
487        matches!(self, Self::RepositoryTriggerBranchNameListRequiredException(_))
488    }
489    /// Returns `true` if the error kind is `TestRepositoryTriggersError::RepositoryTriggerDestinationArnRequiredException`.
490    pub fn is_repository_trigger_destination_arn_required_exception(&self) -> bool {
491        matches!(self, Self::RepositoryTriggerDestinationArnRequiredException(_))
492    }
493    /// Returns `true` if the error kind is `TestRepositoryTriggersError::RepositoryTriggerEventsListRequiredException`.
494    pub fn is_repository_trigger_events_list_required_exception(&self) -> bool {
495        matches!(self, Self::RepositoryTriggerEventsListRequiredException(_))
496    }
497    /// Returns `true` if the error kind is `TestRepositoryTriggersError::RepositoryTriggerNameRequiredException`.
498    pub fn is_repository_trigger_name_required_exception(&self) -> bool {
499        matches!(self, Self::RepositoryTriggerNameRequiredException(_))
500    }
501    /// Returns `true` if the error kind is `TestRepositoryTriggersError::RepositoryTriggersListRequiredException`.
502    pub fn is_repository_triggers_list_required_exception(&self) -> bool {
503        matches!(self, Self::RepositoryTriggersListRequiredException(_))
504    }
505}
506impl ::std::error::Error for TestRepositoryTriggersError {
507    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
508        match self {
509            Self::EncryptionIntegrityChecksFailedException(_inner) => ::std::option::Option::Some(_inner),
510            Self::EncryptionKeyAccessDeniedException(_inner) => ::std::option::Option::Some(_inner),
511            Self::EncryptionKeyDisabledException(_inner) => ::std::option::Option::Some(_inner),
512            Self::EncryptionKeyNotFoundException(_inner) => ::std::option::Option::Some(_inner),
513            Self::EncryptionKeyUnavailableException(_inner) => ::std::option::Option::Some(_inner),
514            Self::InvalidRepositoryNameException(_inner) => ::std::option::Option::Some(_inner),
515            Self::InvalidRepositoryTriggerBranchNameException(_inner) => ::std::option::Option::Some(_inner),
516            Self::InvalidRepositoryTriggerCustomDataException(_inner) => ::std::option::Option::Some(_inner),
517            Self::InvalidRepositoryTriggerDestinationArnException(_inner) => ::std::option::Option::Some(_inner),
518            Self::InvalidRepositoryTriggerEventsException(_inner) => ::std::option::Option::Some(_inner),
519            Self::InvalidRepositoryTriggerNameException(_inner) => ::std::option::Option::Some(_inner),
520            Self::InvalidRepositoryTriggerRegionException(_inner) => ::std::option::Option::Some(_inner),
521            Self::MaximumBranchesExceededException(_inner) => ::std::option::Option::Some(_inner),
522            Self::MaximumRepositoryTriggersExceededException(_inner) => ::std::option::Option::Some(_inner),
523            Self::RepositoryDoesNotExistException(_inner) => ::std::option::Option::Some(_inner),
524            Self::RepositoryNameRequiredException(_inner) => ::std::option::Option::Some(_inner),
525            Self::RepositoryTriggerBranchNameListRequiredException(_inner) => ::std::option::Option::Some(_inner),
526            Self::RepositoryTriggerDestinationArnRequiredException(_inner) => ::std::option::Option::Some(_inner),
527            Self::RepositoryTriggerEventsListRequiredException(_inner) => ::std::option::Option::Some(_inner),
528            Self::RepositoryTriggerNameRequiredException(_inner) => ::std::option::Option::Some(_inner),
529            Self::RepositoryTriggersListRequiredException(_inner) => ::std::option::Option::Some(_inner),
530            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
531        }
532    }
533}
534impl ::std::fmt::Display for TestRepositoryTriggersError {
535    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
536        match self {
537            Self::EncryptionIntegrityChecksFailedException(_inner) => _inner.fmt(f),
538            Self::EncryptionKeyAccessDeniedException(_inner) => _inner.fmt(f),
539            Self::EncryptionKeyDisabledException(_inner) => _inner.fmt(f),
540            Self::EncryptionKeyNotFoundException(_inner) => _inner.fmt(f),
541            Self::EncryptionKeyUnavailableException(_inner) => _inner.fmt(f),
542            Self::InvalidRepositoryNameException(_inner) => _inner.fmt(f),
543            Self::InvalidRepositoryTriggerBranchNameException(_inner) => _inner.fmt(f),
544            Self::InvalidRepositoryTriggerCustomDataException(_inner) => _inner.fmt(f),
545            Self::InvalidRepositoryTriggerDestinationArnException(_inner) => _inner.fmt(f),
546            Self::InvalidRepositoryTriggerEventsException(_inner) => _inner.fmt(f),
547            Self::InvalidRepositoryTriggerNameException(_inner) => _inner.fmt(f),
548            Self::InvalidRepositoryTriggerRegionException(_inner) => _inner.fmt(f),
549            Self::MaximumBranchesExceededException(_inner) => _inner.fmt(f),
550            Self::MaximumRepositoryTriggersExceededException(_inner) => _inner.fmt(f),
551            Self::RepositoryDoesNotExistException(_inner) => _inner.fmt(f),
552            Self::RepositoryNameRequiredException(_inner) => _inner.fmt(f),
553            Self::RepositoryTriggerBranchNameListRequiredException(_inner) => _inner.fmt(f),
554            Self::RepositoryTriggerDestinationArnRequiredException(_inner) => _inner.fmt(f),
555            Self::RepositoryTriggerEventsListRequiredException(_inner) => _inner.fmt(f),
556            Self::RepositoryTriggerNameRequiredException(_inner) => _inner.fmt(f),
557            Self::RepositoryTriggersListRequiredException(_inner) => _inner.fmt(f),
558            Self::Unhandled(_inner) => {
559                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
560                    write!(f, "unhandled error ({code})")
561                } else {
562                    f.write_str("unhandled error")
563                }
564            }
565        }
566    }
567}
568impl ::aws_smithy_types::retry::ProvideErrorKind for TestRepositoryTriggersError {
569    fn code(&self) -> ::std::option::Option<&str> {
570        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
571    }
572    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
573        ::std::option::Option::None
574    }
575}
576impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for TestRepositoryTriggersError {
577    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
578        match self {
579            Self::EncryptionIntegrityChecksFailedException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
580            Self::EncryptionKeyAccessDeniedException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
581            Self::EncryptionKeyDisabledException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
582            Self::EncryptionKeyNotFoundException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
583            Self::EncryptionKeyUnavailableException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
584            Self::InvalidRepositoryNameException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
585            Self::InvalidRepositoryTriggerBranchNameException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
586            Self::InvalidRepositoryTriggerCustomDataException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
587            Self::InvalidRepositoryTriggerDestinationArnException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
588            Self::InvalidRepositoryTriggerEventsException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
589            Self::InvalidRepositoryTriggerNameException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
590            Self::InvalidRepositoryTriggerRegionException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
591            Self::MaximumBranchesExceededException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
592            Self::MaximumRepositoryTriggersExceededException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
593            Self::RepositoryDoesNotExistException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
594            Self::RepositoryNameRequiredException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
595            Self::RepositoryTriggerBranchNameListRequiredException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
596            Self::RepositoryTriggerDestinationArnRequiredException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
597            Self::RepositoryTriggerEventsListRequiredException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
598            Self::RepositoryTriggerNameRequiredException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
599            Self::RepositoryTriggersListRequiredException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
600            Self::Unhandled(_inner) => &_inner.meta,
601        }
602    }
603}
604impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for TestRepositoryTriggersError {
605    fn create_unhandled_error(
606        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
607        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
608    ) -> Self {
609        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
610            source,
611            meta: meta.unwrap_or_default(),
612        })
613    }
614}
615impl ::aws_types::request_id::RequestId for crate::operation::test_repository_triggers::TestRepositoryTriggersError {
616    fn request_id(&self) -> Option<&str> {
617        self.meta().request_id()
618    }
619}
620
621pub use crate::operation::test_repository_triggers::_test_repository_triggers_input::TestRepositoryTriggersInput;
622
623pub use crate::operation::test_repository_triggers::_test_repository_triggers_output::TestRepositoryTriggersOutput;
624
625mod _test_repository_triggers_input;
626
627mod _test_repository_triggers_output;
628
629/// Builders
630pub mod builders;