aws_sdk_codecatalyst/operation/
create_source_repository.rs

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