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::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default())
126            .with_interceptor(CreateSourceRepositoryBranchEndpointParamsInterceptor)
127            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
128                crate::operation::create_source_repository_branch::CreateSourceRepositoryBranchError,
129            >::new())
130            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
131                crate::operation::create_source_repository_branch::CreateSourceRepositoryBranchError,
132            >::new())
133            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
134                crate::operation::create_source_repository_branch::CreateSourceRepositoryBranchError,
135            >::new());
136
137        ::std::borrow::Cow::Owned(rcb)
138    }
139}
140
141#[derive(Debug)]
142struct CreateSourceRepositoryBranchResponseDeserializer;
143impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for CreateSourceRepositoryBranchResponseDeserializer {
144    fn deserialize_nonstreaming(
145        &self,
146        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
147    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
148        let (success, status) = (response.status().is_success(), response.status().as_u16());
149        let headers = response.headers();
150        let body = response.body().bytes().expect("body loaded");
151        #[allow(unused_mut)]
152        let mut force_error = false;
153        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
154        let parse_result = if !success && status != 201 || force_error {
155            crate::protocol_serde::shape_create_source_repository_branch::de_create_source_repository_branch_http_error(status, headers, body)
156        } else {
157            crate::protocol_serde::shape_create_source_repository_branch::de_create_source_repository_branch_http_response(status, headers, body)
158        };
159        crate::protocol_serde::type_erase_result(parse_result)
160    }
161}
162#[derive(Debug)]
163struct CreateSourceRepositoryBranchRequestSerializer;
164impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for CreateSourceRepositoryBranchRequestSerializer {
165    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
166    fn serialize_input(
167        &self,
168        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
169        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
170    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
171        let input = input
172            .downcast::<crate::operation::create_source_repository_branch::CreateSourceRepositoryBranchInput>()
173            .expect("correct type");
174        let _header_serialization_settings = _cfg
175            .load::<crate::serialization_settings::HeaderSerializationSettings>()
176            .cloned()
177            .unwrap_or_default();
178        let mut request_builder = {
179            #[allow(clippy::uninlined_format_args)]
180            fn uri_base(
181                _input: &crate::operation::create_source_repository_branch::CreateSourceRepositoryBranchInput,
182                output: &mut ::std::string::String,
183            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
184                use ::std::fmt::Write as _;
185                let input_1 = &_input.space_name;
186                let input_1 = input_1
187                    .as_ref()
188                    .ok_or_else(|| ::aws_smithy_types::error::operation::BuildError::missing_field("space_name", "cannot be empty or unset"))?;
189                let space_name = ::aws_smithy_http::label::fmt_string(input_1, ::aws_smithy_http::label::EncodingStrategy::Default);
190                if space_name.is_empty() {
191                    return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::missing_field(
192                        "space_name",
193                        "cannot be empty or unset",
194                    ));
195                }
196                let input_2 = &_input.project_name;
197                let input_2 = input_2
198                    .as_ref()
199                    .ok_or_else(|| ::aws_smithy_types::error::operation::BuildError::missing_field("project_name", "cannot be empty or unset"))?;
200                let project_name = ::aws_smithy_http::label::fmt_string(input_2, ::aws_smithy_http::label::EncodingStrategy::Default);
201                if project_name.is_empty() {
202                    return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::missing_field(
203                        "project_name",
204                        "cannot be empty or unset",
205                    ));
206                }
207                let input_3 = &_input.source_repository_name;
208                let input_3 = input_3.as_ref().ok_or_else(|| {
209                    ::aws_smithy_types::error::operation::BuildError::missing_field("source_repository_name", "cannot be empty or unset")
210                })?;
211                let source_repository_name = ::aws_smithy_http::label::fmt_string(input_3, ::aws_smithy_http::label::EncodingStrategy::Default);
212                if source_repository_name.is_empty() {
213                    return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::missing_field(
214                        "source_repository_name",
215                        "cannot be empty or unset",
216                    ));
217                }
218                let input_4 = &_input.name;
219                let input_4 = input_4
220                    .as_ref()
221                    .ok_or_else(|| ::aws_smithy_types::error::operation::BuildError::missing_field("name", "cannot be empty or unset"))?;
222                let name = ::aws_smithy_http::label::fmt_string(input_4, ::aws_smithy_http::label::EncodingStrategy::Default);
223                if name.is_empty() {
224                    return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::missing_field(
225                        "name",
226                        "cannot be empty or unset",
227                    ));
228                }
229                ::std::write!(
230                    output,
231                    "/v1/spaces/{spaceName}/projects/{projectName}/sourceRepositories/{sourceRepositoryName}/branches/{name}",
232                    spaceName = space_name,
233                    projectName = project_name,
234                    sourceRepositoryName = source_repository_name,
235                    name = name
236                )
237                .expect("formatting should succeed");
238                ::std::result::Result::Ok(())
239            }
240            #[allow(clippy::unnecessary_wraps)]
241            fn update_http_builder(
242                input: &crate::operation::create_source_repository_branch::CreateSourceRepositoryBranchInput,
243                builder: ::http::request::Builder,
244            ) -> ::std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
245                let mut uri = ::std::string::String::new();
246                uri_base(input, &mut uri)?;
247                ::std::result::Result::Ok(builder.method("PUT").uri(uri))
248            }
249            let mut builder = update_http_builder(&input, ::http::request::Builder::new())?;
250            builder = _header_serialization_settings.set_default_header(builder, ::http::header::CONTENT_TYPE, "application/json");
251            builder
252        };
253        let body = ::aws_smithy_types::body::SdkBody::from(
254            crate::protocol_serde::shape_create_source_repository_branch::ser_create_source_repository_branch_input(&input)?,
255        );
256        if let Some(content_length) = body.content_length() {
257            let content_length = content_length.to_string();
258            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http::header::CONTENT_LENGTH, &content_length);
259        }
260        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
261    }
262}
263#[derive(Debug)]
264struct CreateSourceRepositoryBranchEndpointParamsInterceptor;
265
266impl ::aws_smithy_runtime_api::client::interceptors::Intercept for CreateSourceRepositoryBranchEndpointParamsInterceptor {
267    fn name(&self) -> &'static str {
268        "CreateSourceRepositoryBranchEndpointParamsInterceptor"
269    }
270
271    fn read_before_execution(
272        &self,
273        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
274            '_,
275            ::aws_smithy_runtime_api::client::interceptors::context::Input,
276            ::aws_smithy_runtime_api::client::interceptors::context::Output,
277            ::aws_smithy_runtime_api::client::interceptors::context::Error,
278        >,
279        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
280    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
281        let _input = context
282            .input()
283            .downcast_ref::<CreateSourceRepositoryBranchInput>()
284            .ok_or("failed to downcast to CreateSourceRepositoryBranchInput")?;
285
286        let params = crate::config::endpoint::Params::builder()
287            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
288            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
289            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
290            .build()
291            .map_err(|err| {
292                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
293            })?;
294        cfg.interceptor_state()
295            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
296        ::std::result::Result::Ok(())
297    }
298}
299
300// The get_* functions below are generated from JMESPath expressions in the
301// operationContextParams trait. They target the operation's input shape.
302
303/// Error type for the `CreateSourceRepositoryBranchError` operation.
304#[non_exhaustive]
305#[derive(::std::fmt::Debug)]
306pub enum CreateSourceRepositoryBranchError {
307    /// <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>
308    AccessDeniedException(crate::types::error::AccessDeniedException),
309    /// <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>
310    ConflictException(crate::types::error::ConflictException),
311    /// <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>
312    ResourceNotFoundException(crate::types::error::ResourceNotFoundException),
313    /// <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>
314    ServiceQuotaExceededException(crate::types::error::ServiceQuotaExceededException),
315    /// <p>The request was denied due to request throttling.</p>
316    ThrottlingException(crate::types::error::ThrottlingException),
317    /// <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>
318    ValidationException(crate::types::error::ValidationException),
319    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
320    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
321    variable wildcard pattern and check `.code()`:
322     \
323    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
324     \
325    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-CreateSourceRepositoryBranchError) for what information is available for the error.")]
326    Unhandled(crate::error::sealed_unhandled::Unhandled),
327}
328impl CreateSourceRepositoryBranchError {
329    /// Creates the `CreateSourceRepositoryBranchError::Unhandled` variant from any error type.
330    pub fn unhandled(
331        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
332    ) -> Self {
333        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
334            source: err.into(),
335            meta: ::std::default::Default::default(),
336        })
337    }
338
339    /// Creates the `CreateSourceRepositoryBranchError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
340    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
341        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
342            source: err.clone().into(),
343            meta: err,
344        })
345    }
346    ///
347    /// Returns error metadata, which includes the error code, message,
348    /// request ID, and potentially additional information.
349    ///
350    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
351        match self {
352            Self::AccessDeniedException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
353            Self::ConflictException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
354            Self::ResourceNotFoundException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
355            Self::ServiceQuotaExceededException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
356            Self::ThrottlingException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
357            Self::ValidationException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
358            Self::Unhandled(e) => &e.meta,
359        }
360    }
361    /// Returns `true` if the error kind is `CreateSourceRepositoryBranchError::AccessDeniedException`.
362    pub fn is_access_denied_exception(&self) -> bool {
363        matches!(self, Self::AccessDeniedException(_))
364    }
365    /// Returns `true` if the error kind is `CreateSourceRepositoryBranchError::ConflictException`.
366    pub fn is_conflict_exception(&self) -> bool {
367        matches!(self, Self::ConflictException(_))
368    }
369    /// Returns `true` if the error kind is `CreateSourceRepositoryBranchError::ResourceNotFoundException`.
370    pub fn is_resource_not_found_exception(&self) -> bool {
371        matches!(self, Self::ResourceNotFoundException(_))
372    }
373    /// Returns `true` if the error kind is `CreateSourceRepositoryBranchError::ServiceQuotaExceededException`.
374    pub fn is_service_quota_exceeded_exception(&self) -> bool {
375        matches!(self, Self::ServiceQuotaExceededException(_))
376    }
377    /// Returns `true` if the error kind is `CreateSourceRepositoryBranchError::ThrottlingException`.
378    pub fn is_throttling_exception(&self) -> bool {
379        matches!(self, Self::ThrottlingException(_))
380    }
381    /// Returns `true` if the error kind is `CreateSourceRepositoryBranchError::ValidationException`.
382    pub fn is_validation_exception(&self) -> bool {
383        matches!(self, Self::ValidationException(_))
384    }
385}
386impl ::std::error::Error for CreateSourceRepositoryBranchError {
387    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
388        match self {
389            Self::AccessDeniedException(_inner) => ::std::option::Option::Some(_inner),
390            Self::ConflictException(_inner) => ::std::option::Option::Some(_inner),
391            Self::ResourceNotFoundException(_inner) => ::std::option::Option::Some(_inner),
392            Self::ServiceQuotaExceededException(_inner) => ::std::option::Option::Some(_inner),
393            Self::ThrottlingException(_inner) => ::std::option::Option::Some(_inner),
394            Self::ValidationException(_inner) => ::std::option::Option::Some(_inner),
395            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
396        }
397    }
398}
399impl ::std::fmt::Display for CreateSourceRepositoryBranchError {
400    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
401        match self {
402            Self::AccessDeniedException(_inner) => _inner.fmt(f),
403            Self::ConflictException(_inner) => _inner.fmt(f),
404            Self::ResourceNotFoundException(_inner) => _inner.fmt(f),
405            Self::ServiceQuotaExceededException(_inner) => _inner.fmt(f),
406            Self::ThrottlingException(_inner) => _inner.fmt(f),
407            Self::ValidationException(_inner) => _inner.fmt(f),
408            Self::Unhandled(_inner) => {
409                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
410                    write!(f, "unhandled error ({code})")
411                } else {
412                    f.write_str("unhandled error")
413                }
414            }
415        }
416    }
417}
418impl ::aws_smithy_types::retry::ProvideErrorKind for CreateSourceRepositoryBranchError {
419    fn code(&self) -> ::std::option::Option<&str> {
420        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
421    }
422    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
423        match self {
424            Self::ThrottlingException(inner) => ::std::option::Option::Some(inner.retryable_error_kind()),
425            _ => ::std::option::Option::None,
426        }
427    }
428}
429impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for CreateSourceRepositoryBranchError {
430    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
431        match self {
432            Self::AccessDeniedException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
433            Self::ConflictException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
434            Self::ResourceNotFoundException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
435            Self::ServiceQuotaExceededException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
436            Self::ThrottlingException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
437            Self::ValidationException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
438            Self::Unhandled(_inner) => &_inner.meta,
439        }
440    }
441}
442impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for CreateSourceRepositoryBranchError {
443    fn create_unhandled_error(
444        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
445        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
446    ) -> Self {
447        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
448            source,
449            meta: meta.unwrap_or_default(),
450        })
451    }
452}
453impl ::aws_types::request_id::RequestId for crate::operation::create_source_repository_branch::CreateSourceRepositoryBranchError {
454    fn request_id(&self) -> Option<&str> {
455        self.meta().request_id()
456    }
457}
458
459pub use crate::operation::create_source_repository_branch::_create_source_repository_branch_output::CreateSourceRepositoryBranchOutput;
460
461pub use crate::operation::create_source_repository_branch::_create_source_repository_branch_input::CreateSourceRepositoryBranchInput;
462
463mod _create_source_repository_branch_input;
464
465mod _create_source_repository_branch_output;
466
467/// Builders
468pub mod builders;