Skip to main content

aws_sdk_codecatalyst/operation/
create_source_repository_branch.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2/// Orchestration and serialization glue logic for `CreateSourceRepositoryBranch`.
3#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
4#[non_exhaustive]
5pub struct CreateSourceRepositoryBranch;
6impl CreateSourceRepositoryBranch {
7    /// Creates a new `CreateSourceRepositoryBranch`
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::create_source_repository_branch::CreateSourceRepositoryBranchInput,
14    ) -> ::std::result::Result<
15        crate::operation::create_source_repository_branch::CreateSourceRepositoryBranchOutput,
16        ::aws_smithy_runtime_api::client::result::SdkError<
17            crate::operation::create_source_repository_branch::CreateSourceRepositoryBranchError,
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::create_source_repository_branch::CreateSourceRepositoryBranchError>()
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::create_source_repository_branch::CreateSourceRepositoryBranchOutput>()
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::create_source_repository_branch::CreateSourceRepositoryBranchInput,
44        stop_point: ::aws_smithy_runtime::client::orchestrator::StopPoint,
45    ) -> ::std::result::Result<
46        ::aws_smithy_runtime_api::client::interceptors::context::InterceptorContext,
47        ::aws_smithy_runtime_api::client::result::SdkError<
48            ::aws_smithy_runtime_api::client::interceptors::context::Error,
49            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
50        >,
51    > {
52        let input = ::aws_smithy_runtime_api::client::interceptors::context::Input::erase(input);
53        use ::tracing::Instrument;
54        ::aws_smithy_runtime::client::orchestrator::invoke_with_stop_point(
55            "CodeCatalyst",
56            "CreateSourceRepositoryBranch",
57            input,
58            runtime_plugins,
59            stop_point,
60        )
61        // Create a parent span for the entire operation. Includes a random, internal-only,
62        // seven-digit ID for the operation orchestration so that it can be correlated in the logs.
63        .instrument(::tracing::debug_span!(
64            "CodeCatalyst.CreateSourceRepositoryBranch",
65            "rpc.service" = "CodeCatalyst",
66            "rpc.method" = "CreateSourceRepositoryBranch",
67            "sdk_invocation_id" = ::fastrand::u32(1_000_000..10_000_000),
68            "rpc.system" = "aws-api",
69        ))
70        .await
71    }
72
73    pub(crate) fn operation_runtime_plugins(
74        client_runtime_plugins: ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
75        client_config: &crate::config::Config,
76        config_override: ::std::option::Option<crate::config::Builder>,
77    ) -> ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins {
78        let mut runtime_plugins = client_runtime_plugins.with_operation_plugin(Self::new());
79
80        if let ::std::option::Option::Some(config_override) = config_override {
81            for plugin in config_override.runtime_plugins.iter().cloned() {
82                runtime_plugins = runtime_plugins.with_operation_plugin(plugin);
83            }
84            runtime_plugins = runtime_plugins.with_operation_plugin(crate::config::ConfigOverrideRuntimePlugin::new(
85                config_override,
86                client_config.config.clone(),
87                &client_config.runtime_components,
88            ));
89        }
90        runtime_plugins
91    }
92}
93impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for CreateSourceRepositoryBranch {
94    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
95        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("CreateSourceRepositoryBranch");
96
97        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
98            CreateSourceRepositoryBranchRequestSerializer,
99        ));
100        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
101            CreateSourceRepositoryBranchResponseDeserializer,
102        ));
103
104        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
105            crate::config::auth::Params::builder()
106                .operation_name("CreateSourceRepositoryBranch")
107                .build()
108                .expect("required fields set"),
109        ));
110
111        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
112            "CreateSourceRepositoryBranch",
113            "CodeCatalyst",
114        ));
115
116        ::std::option::Option::Some(cfg.freeze())
117    }
118
119    fn runtime_components(
120        &self,
121        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
122    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
123        #[allow(unused_mut)]
124        let mut rcb = ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("CreateSourceRepositoryBranch")
125            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
126                ::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default(),
127            ))
128            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
129                CreateSourceRepositoryBranchEndpointParamsInterceptor,
130            ))
131            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
132                crate::operation::create_source_repository_branch::CreateSourceRepositoryBranchError,
133            >::new())
134            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
135                crate::operation::create_source_repository_branch::CreateSourceRepositoryBranchError,
136            >::new())
137            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
138                crate::operation::create_source_repository_branch::CreateSourceRepositoryBranchError,
139            >::new());
140
141        ::std::borrow::Cow::Owned(rcb)
142    }
143}
144
145#[derive(Debug)]
146struct CreateSourceRepositoryBranchResponseDeserializer;
147impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for CreateSourceRepositoryBranchResponseDeserializer {
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 != 201 || force_error {
159            crate::protocol_serde::shape_create_source_repository_branch::de_create_source_repository_branch_http_error(status, headers, body)
160        } else {
161            crate::protocol_serde::shape_create_source_repository_branch::de_create_source_repository_branch_http_response(status, headers, body)
162        };
163        crate::protocol_serde::type_erase_result(parse_result)
164    }
165}
166#[derive(Debug)]
167struct CreateSourceRepositoryBranchRequestSerializer;
168impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for CreateSourceRepositoryBranchRequestSerializer {
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::create_source_repository_branch::CreateSourceRepositoryBranchInput>()
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            #[allow(clippy::uninlined_format_args)]
184            fn uri_base(
185                _input: &crate::operation::create_source_repository_branch::CreateSourceRepositoryBranchInput,
186                output: &mut ::std::string::String,
187            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
188                use ::std::fmt::Write as _;
189                let input_1 = &_input.space_name;
190                let input_1 = input_1
191                    .as_ref()
192                    .ok_or_else(|| ::aws_smithy_types::error::operation::BuildError::missing_field("space_name", "cannot be empty or unset"))?;
193                let space_name = ::aws_smithy_http::label::fmt_string(input_1, ::aws_smithy_http::label::EncodingStrategy::Default);
194                if space_name.is_empty() {
195                    return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::missing_field(
196                        "space_name",
197                        "cannot be empty or unset",
198                    ));
199                }
200                let input_2 = &_input.project_name;
201                let input_2 = input_2
202                    .as_ref()
203                    .ok_or_else(|| ::aws_smithy_types::error::operation::BuildError::missing_field("project_name", "cannot be empty or unset"))?;
204                let project_name = ::aws_smithy_http::label::fmt_string(input_2, ::aws_smithy_http::label::EncodingStrategy::Default);
205                if project_name.is_empty() {
206                    return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::missing_field(
207                        "project_name",
208                        "cannot be empty or unset",
209                    ));
210                }
211                let input_3 = &_input.source_repository_name;
212                let input_3 = input_3.as_ref().ok_or_else(|| {
213                    ::aws_smithy_types::error::operation::BuildError::missing_field("source_repository_name", "cannot be empty or unset")
214                })?;
215                let source_repository_name = ::aws_smithy_http::label::fmt_string(input_3, ::aws_smithy_http::label::EncodingStrategy::Default);
216                if source_repository_name.is_empty() {
217                    return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::missing_field(
218                        "source_repository_name",
219                        "cannot be empty or unset",
220                    ));
221                }
222                let input_4 = &_input.name;
223                let input_4 = input_4
224                    .as_ref()
225                    .ok_or_else(|| ::aws_smithy_types::error::operation::BuildError::missing_field("name", "cannot be empty or unset"))?;
226                let name = ::aws_smithy_http::label::fmt_string(input_4, ::aws_smithy_http::label::EncodingStrategy::Default);
227                if name.is_empty() {
228                    return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::missing_field(
229                        "name",
230                        "cannot be empty or unset",
231                    ));
232                }
233                ::std::write!(
234                    output,
235                    "/v1/spaces/{spaceName}/projects/{projectName}/sourceRepositories/{sourceRepositoryName}/branches/{name}",
236                    spaceName = space_name,
237                    projectName = project_name,
238                    sourceRepositoryName = source_repository_name,
239                    name = name
240                )
241                .expect("formatting should succeed");
242                ::std::result::Result::Ok(())
243            }
244            #[allow(clippy::unnecessary_wraps)]
245            fn update_http_builder(
246                input: &crate::operation::create_source_repository_branch::CreateSourceRepositoryBranchInput,
247                builder: ::http_1x::request::Builder,
248            ) -> ::std::result::Result<::http_1x::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
249                let mut uri = ::std::string::String::new();
250                uri_base(input, &mut uri)?;
251                ::std::result::Result::Ok(builder.method("PUT").uri(uri))
252            }
253            let mut builder = update_http_builder(&input, ::http_1x::request::Builder::new())?;
254            builder = _header_serialization_settings.set_default_header(builder, ::http_1x::header::CONTENT_TYPE, "application/json");
255            builder
256        };
257        let body = ::aws_smithy_types::body::SdkBody::from(
258            crate::protocol_serde::shape_create_source_repository_branch::ser_create_source_repository_branch_input(&input)?,
259        );
260        if let Some(content_length) = body.content_length() {
261            let content_length = content_length.to_string();
262            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http_1x::header::CONTENT_LENGTH, &content_length);
263        }
264        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
265    }
266}
267#[derive(Debug)]
268struct CreateSourceRepositoryBranchEndpointParamsInterceptor;
269
270#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
271impl ::aws_smithy_runtime_api::client::interceptors::Intercept for CreateSourceRepositoryBranchEndpointParamsInterceptor {
272    fn name(&self) -> &'static str {
273        "CreateSourceRepositoryBranchEndpointParamsInterceptor"
274    }
275
276    fn read_before_execution(
277        &self,
278        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
279            '_,
280            ::aws_smithy_runtime_api::client::interceptors::context::Input,
281            ::aws_smithy_runtime_api::client::interceptors::context::Output,
282            ::aws_smithy_runtime_api::client::interceptors::context::Error,
283        >,
284        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
285    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
286        let _input = context
287            .input()
288            .downcast_ref::<CreateSourceRepositoryBranchInput>()
289            .ok_or("failed to downcast to CreateSourceRepositoryBranchInput")?;
290
291        let params = crate::config::endpoint::Params::builder()
292            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
293            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
294            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
295            .build()
296            .map_err(|err| {
297                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
298            })?;
299        cfg.interceptor_state()
300            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
301        ::std::result::Result::Ok(())
302    }
303}
304
305// The get_* functions below are generated from JMESPath expressions in the
306// operationContextParams trait. They target the operation's input shape.
307
308/// Error type for the `CreateSourceRepositoryBranchError` operation.
309#[non_exhaustive]
310#[derive(::std::fmt::Debug)]
311pub enum CreateSourceRepositoryBranchError {
312    /// <p>The request was denied because you don't have sufficient access to perform this action. Verify that you are a member of a role that allows this action.</p>
313    AccessDeniedException(crate::types::error::AccessDeniedException),
314    /// <p>The request was denied because the requested operation would cause a conflict with the current state of a service resource associated with the request. Another user might have updated the resource. Reload, make sure you have the latest data, and then try again.</p>
315    ConflictException(crate::types::error::ConflictException),
316    /// <p>The request was denied because the specified resource was not found. Verify that the spelling is correct and that you have access to the resource.</p>
317    ResourceNotFoundException(crate::types::error::ResourceNotFoundException),
318    /// <p>The request was denied because one or more resources has reached its limits for the tier the space belongs to. Either reduce the number of resources, or change the tier if applicable.</p>
319    ServiceQuotaExceededException(crate::types::error::ServiceQuotaExceededException),
320    /// <p>The request was denied due to request throttling.</p>
321    ThrottlingException(crate::types::error::ThrottlingException),
322    /// <p>The request was denied because an input failed to satisfy the constraints specified by the service. Check the spelling and input requirements, and then try again.</p>
323    ValidationException(crate::types::error::ValidationException),
324    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
325    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
326    variable wildcard pattern and check `.code()`:
327     \
328    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
329     \
330    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-CreateSourceRepositoryBranchError) for what information is available for the error.")]
331    Unhandled(crate::error::sealed_unhandled::Unhandled),
332}
333impl CreateSourceRepositoryBranchError {
334    /// Creates the `CreateSourceRepositoryBranchError::Unhandled` variant from any error type.
335    pub fn unhandled(
336        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
337    ) -> Self {
338        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
339            source: err.into(),
340            meta: ::std::default::Default::default(),
341        })
342    }
343
344    /// Creates the `CreateSourceRepositoryBranchError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
345    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
346        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
347            source: err.clone().into(),
348            meta: err,
349        })
350    }
351    ///
352    /// Returns error metadata, which includes the error code, message,
353    /// request ID, and potentially additional information.
354    ///
355    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
356        match self {
357            Self::AccessDeniedException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
358            Self::ConflictException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
359            Self::ResourceNotFoundException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
360            Self::ServiceQuotaExceededException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
361            Self::ThrottlingException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
362            Self::ValidationException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
363            Self::Unhandled(e) => &e.meta,
364        }
365    }
366    /// Returns `true` if the error kind is `CreateSourceRepositoryBranchError::AccessDeniedException`.
367    pub fn is_access_denied_exception(&self) -> bool {
368        matches!(self, Self::AccessDeniedException(_))
369    }
370    /// Returns `true` if the error kind is `CreateSourceRepositoryBranchError::ConflictException`.
371    pub fn is_conflict_exception(&self) -> bool {
372        matches!(self, Self::ConflictException(_))
373    }
374    /// Returns `true` if the error kind is `CreateSourceRepositoryBranchError::ResourceNotFoundException`.
375    pub fn is_resource_not_found_exception(&self) -> bool {
376        matches!(self, Self::ResourceNotFoundException(_))
377    }
378    /// Returns `true` if the error kind is `CreateSourceRepositoryBranchError::ServiceQuotaExceededException`.
379    pub fn is_service_quota_exceeded_exception(&self) -> bool {
380        matches!(self, Self::ServiceQuotaExceededException(_))
381    }
382    /// Returns `true` if the error kind is `CreateSourceRepositoryBranchError::ThrottlingException`.
383    pub fn is_throttling_exception(&self) -> bool {
384        matches!(self, Self::ThrottlingException(_))
385    }
386    /// Returns `true` if the error kind is `CreateSourceRepositoryBranchError::ValidationException`.
387    pub fn is_validation_exception(&self) -> bool {
388        matches!(self, Self::ValidationException(_))
389    }
390}
391impl ::std::error::Error for CreateSourceRepositoryBranchError {
392    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
393        match self {
394            Self::AccessDeniedException(_inner) => ::std::option::Option::Some(_inner),
395            Self::ConflictException(_inner) => ::std::option::Option::Some(_inner),
396            Self::ResourceNotFoundException(_inner) => ::std::option::Option::Some(_inner),
397            Self::ServiceQuotaExceededException(_inner) => ::std::option::Option::Some(_inner),
398            Self::ThrottlingException(_inner) => ::std::option::Option::Some(_inner),
399            Self::ValidationException(_inner) => ::std::option::Option::Some(_inner),
400            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
401        }
402    }
403}
404impl ::std::fmt::Display for CreateSourceRepositoryBranchError {
405    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
406        match self {
407            Self::AccessDeniedException(_inner) => _inner.fmt(f),
408            Self::ConflictException(_inner) => _inner.fmt(f),
409            Self::ResourceNotFoundException(_inner) => _inner.fmt(f),
410            Self::ServiceQuotaExceededException(_inner) => _inner.fmt(f),
411            Self::ThrottlingException(_inner) => _inner.fmt(f),
412            Self::ValidationException(_inner) => _inner.fmt(f),
413            Self::Unhandled(_inner) => {
414                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
415                    write!(f, "unhandled error ({code})")
416                } else {
417                    f.write_str("unhandled error")
418                }
419            }
420        }
421    }
422}
423impl ::aws_smithy_types::retry::ProvideErrorKind for CreateSourceRepositoryBranchError {
424    fn code(&self) -> ::std::option::Option<&str> {
425        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
426    }
427    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
428        match self {
429            Self::ThrottlingException(inner) => ::std::option::Option::Some(inner.retryable_error_kind()),
430            _ => ::std::option::Option::None,
431        }
432    }
433}
434impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for CreateSourceRepositoryBranchError {
435    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
436        match self {
437            Self::AccessDeniedException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
438            Self::ConflictException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
439            Self::ResourceNotFoundException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
440            Self::ServiceQuotaExceededException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
441            Self::ThrottlingException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
442            Self::ValidationException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
443            Self::Unhandled(_inner) => &_inner.meta,
444        }
445    }
446}
447impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for CreateSourceRepositoryBranchError {
448    fn create_unhandled_error(
449        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
450        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
451    ) -> Self {
452        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
453            source,
454            meta: meta.unwrap_or_default(),
455        })
456    }
457}
458impl ::aws_types::request_id::RequestId for crate::operation::create_source_repository_branch::CreateSourceRepositoryBranchError {
459    fn request_id(&self) -> Option<&str> {
460        self.meta().request_id()
461    }
462}
463
464pub use crate::operation::create_source_repository_branch::_create_source_repository_branch_input::CreateSourceRepositoryBranchInput;
465
466pub use crate::operation::create_source_repository_branch::_create_source_repository_branch_output::CreateSourceRepositoryBranchOutput;
467
468mod _create_source_repository_branch_input;
469
470mod _create_source_repository_branch_output;
471
472/// Builders
473pub mod builders;