Skip to main content

aws_sdk_codecommit/operation/
put_repository_triggers.rs

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