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