Skip to main content

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
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 CreateSourceRepository {
94    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
95        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("CreateSourceRepository");
96
97        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
98            CreateSourceRepositoryRequestSerializer,
99        ));
100        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
101            CreateSourceRepositoryResponseDeserializer,
102        ));
103
104        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
105            crate::config::auth::Params::builder()
106                .operation_name("CreateSourceRepository")
107                .build()
108                .expect("required fields set"),
109        ));
110
111        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
112            "CreateSourceRepository",
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("CreateSourceRepository")
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                CreateSourceRepositoryEndpointParamsInterceptor,
130            ))
131            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
132                crate::operation::create_source_repository::CreateSourceRepositoryError,
133            >::new())
134            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
135                crate::operation::create_source_repository::CreateSourceRepositoryError,
136            >::new())
137            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
138                crate::operation::create_source_repository::CreateSourceRepositoryError,
139            >::new());
140
141        ::std::borrow::Cow::Owned(rcb)
142    }
143}
144
145#[derive(Debug)]
146struct CreateSourceRepositoryResponseDeserializer;
147impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for CreateSourceRepositoryResponseDeserializer {
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::de_create_source_repository_http_error(status, headers, body)
160        } else {
161            crate::protocol_serde::shape_create_source_repository::de_create_source_repository_http_response(status, headers, body)
162        };
163        crate::protocol_serde::type_erase_result(parse_result)
164    }
165}
166#[derive(Debug)]
167struct CreateSourceRepositoryRequestSerializer;
168impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for CreateSourceRepositoryRequestSerializer {
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::CreateSourceRepositoryInput>()
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::CreateSourceRepositoryInput,
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.name;
212                let input_3 = input_3
213                    .as_ref()
214                    .ok_or_else(|| ::aws_smithy_types::error::operation::BuildError::missing_field("name", "cannot be empty or unset"))?;
215                let name = ::aws_smithy_http::label::fmt_string(input_3, ::aws_smithy_http::label::EncodingStrategy::Default);
216                if name.is_empty() {
217                    return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::missing_field(
218                        "name",
219                        "cannot be empty or unset",
220                    ));
221                }
222                ::std::write!(
223                    output,
224                    "/v1/spaces/{spaceName}/projects/{projectName}/sourceRepositories/{name}",
225                    spaceName = space_name,
226                    projectName = project_name,
227                    name = name
228                )
229                .expect("formatting should succeed");
230                ::std::result::Result::Ok(())
231            }
232            #[allow(clippy::unnecessary_wraps)]
233            fn update_http_builder(
234                input: &crate::operation::create_source_repository::CreateSourceRepositoryInput,
235                builder: ::http_1x::request::Builder,
236            ) -> ::std::result::Result<::http_1x::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
237                let mut uri = ::std::string::String::new();
238                uri_base(input, &mut uri)?;
239                ::std::result::Result::Ok(builder.method("PUT").uri(uri))
240            }
241            let mut builder = update_http_builder(&input, ::http_1x::request::Builder::new())?;
242            builder = _header_serialization_settings.set_default_header(builder, ::http_1x::header::CONTENT_TYPE, "application/json");
243            builder
244        };
245        let body = ::aws_smithy_types::body::SdkBody::from(
246            crate::protocol_serde::shape_create_source_repository::ser_create_source_repository_input(&input)?,
247        );
248        if let Some(content_length) = body.content_length() {
249            let content_length = content_length.to_string();
250            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http_1x::header::CONTENT_LENGTH, &content_length);
251        }
252        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
253    }
254}
255#[derive(Debug)]
256struct CreateSourceRepositoryEndpointParamsInterceptor;
257
258#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
259impl ::aws_smithy_runtime_api::client::interceptors::Intercept for CreateSourceRepositoryEndpointParamsInterceptor {
260    fn name(&self) -> &'static str {
261        "CreateSourceRepositoryEndpointParamsInterceptor"
262    }
263
264    fn read_before_execution(
265        &self,
266        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
267            '_,
268            ::aws_smithy_runtime_api::client::interceptors::context::Input,
269            ::aws_smithy_runtime_api::client::interceptors::context::Output,
270            ::aws_smithy_runtime_api::client::interceptors::context::Error,
271        >,
272        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
273    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
274        let _input = context
275            .input()
276            .downcast_ref::<CreateSourceRepositoryInput>()
277            .ok_or("failed to downcast to CreateSourceRepositoryInput")?;
278
279        let params = crate::config::endpoint::Params::builder()
280            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
281            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
282            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
283            .build()
284            .map_err(|err| {
285                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
286            })?;
287        cfg.interceptor_state()
288            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
289        ::std::result::Result::Ok(())
290    }
291}
292
293// The get_* functions below are generated from JMESPath expressions in the
294// operationContextParams trait. They target the operation's input shape.
295
296/// Error type for the `CreateSourceRepositoryError` operation.
297#[non_exhaustive]
298#[derive(::std::fmt::Debug)]
299pub enum CreateSourceRepositoryError {
300    /// <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>
301    AccessDeniedException(crate::types::error::AccessDeniedException),
302    /// <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>
303    ConflictException(crate::types::error::ConflictException),
304    /// <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>
305    ResourceNotFoundException(crate::types::error::ResourceNotFoundException),
306    /// <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>
307    ServiceQuotaExceededException(crate::types::error::ServiceQuotaExceededException),
308    /// <p>The request was denied due to request throttling.</p>
309    ThrottlingException(crate::types::error::ThrottlingException),
310    /// <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>
311    ValidationException(crate::types::error::ValidationException),
312    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
313    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
314    variable wildcard pattern and check `.code()`:
315     \
316    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
317     \
318    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-CreateSourceRepositoryError) for what information is available for the error.")]
319    Unhandled(crate::error::sealed_unhandled::Unhandled),
320}
321impl CreateSourceRepositoryError {
322    /// Creates the `CreateSourceRepositoryError::Unhandled` variant from any error type.
323    pub fn unhandled(
324        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
325    ) -> Self {
326        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
327            source: err.into(),
328            meta: ::std::default::Default::default(),
329        })
330    }
331
332    /// Creates the `CreateSourceRepositoryError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
333    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
334        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
335            source: err.clone().into(),
336            meta: err,
337        })
338    }
339    ///
340    /// Returns error metadata, which includes the error code, message,
341    /// request ID, and potentially additional information.
342    ///
343    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
344        match self {
345            Self::AccessDeniedException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
346            Self::ConflictException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
347            Self::ResourceNotFoundException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
348            Self::ServiceQuotaExceededException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
349            Self::ThrottlingException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
350            Self::ValidationException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
351            Self::Unhandled(e) => &e.meta,
352        }
353    }
354    /// Returns `true` if the error kind is `CreateSourceRepositoryError::AccessDeniedException`.
355    pub fn is_access_denied_exception(&self) -> bool {
356        matches!(self, Self::AccessDeniedException(_))
357    }
358    /// Returns `true` if the error kind is `CreateSourceRepositoryError::ConflictException`.
359    pub fn is_conflict_exception(&self) -> bool {
360        matches!(self, Self::ConflictException(_))
361    }
362    /// Returns `true` if the error kind is `CreateSourceRepositoryError::ResourceNotFoundException`.
363    pub fn is_resource_not_found_exception(&self) -> bool {
364        matches!(self, Self::ResourceNotFoundException(_))
365    }
366    /// Returns `true` if the error kind is `CreateSourceRepositoryError::ServiceQuotaExceededException`.
367    pub fn is_service_quota_exceeded_exception(&self) -> bool {
368        matches!(self, Self::ServiceQuotaExceededException(_))
369    }
370    /// Returns `true` if the error kind is `CreateSourceRepositoryError::ThrottlingException`.
371    pub fn is_throttling_exception(&self) -> bool {
372        matches!(self, Self::ThrottlingException(_))
373    }
374    /// Returns `true` if the error kind is `CreateSourceRepositoryError::ValidationException`.
375    pub fn is_validation_exception(&self) -> bool {
376        matches!(self, Self::ValidationException(_))
377    }
378}
379impl ::std::error::Error for CreateSourceRepositoryError {
380    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
381        match self {
382            Self::AccessDeniedException(_inner) => ::std::option::Option::Some(_inner),
383            Self::ConflictException(_inner) => ::std::option::Option::Some(_inner),
384            Self::ResourceNotFoundException(_inner) => ::std::option::Option::Some(_inner),
385            Self::ServiceQuotaExceededException(_inner) => ::std::option::Option::Some(_inner),
386            Self::ThrottlingException(_inner) => ::std::option::Option::Some(_inner),
387            Self::ValidationException(_inner) => ::std::option::Option::Some(_inner),
388            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
389        }
390    }
391}
392impl ::std::fmt::Display for CreateSourceRepositoryError {
393    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
394        match self {
395            Self::AccessDeniedException(_inner) => _inner.fmt(f),
396            Self::ConflictException(_inner) => _inner.fmt(f),
397            Self::ResourceNotFoundException(_inner) => _inner.fmt(f),
398            Self::ServiceQuotaExceededException(_inner) => _inner.fmt(f),
399            Self::ThrottlingException(_inner) => _inner.fmt(f),
400            Self::ValidationException(_inner) => _inner.fmt(f),
401            Self::Unhandled(_inner) => {
402                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
403                    write!(f, "unhandled error ({code})")
404                } else {
405                    f.write_str("unhandled error")
406                }
407            }
408        }
409    }
410}
411impl ::aws_smithy_types::retry::ProvideErrorKind for CreateSourceRepositoryError {
412    fn code(&self) -> ::std::option::Option<&str> {
413        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
414    }
415    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
416        match self {
417            Self::ThrottlingException(inner) => ::std::option::Option::Some(inner.retryable_error_kind()),
418            _ => ::std::option::Option::None,
419        }
420    }
421}
422impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for CreateSourceRepositoryError {
423    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
424        match self {
425            Self::AccessDeniedException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
426            Self::ConflictException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
427            Self::ResourceNotFoundException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
428            Self::ServiceQuotaExceededException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
429            Self::ThrottlingException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
430            Self::ValidationException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
431            Self::Unhandled(_inner) => &_inner.meta,
432        }
433    }
434}
435impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for CreateSourceRepositoryError {
436    fn create_unhandled_error(
437        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
438        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
439    ) -> Self {
440        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
441            source,
442            meta: meta.unwrap_or_default(),
443        })
444    }
445}
446impl ::aws_types::request_id::RequestId for crate::operation::create_source_repository::CreateSourceRepositoryError {
447    fn request_id(&self) -> Option<&str> {
448        self.meta().request_id()
449    }
450}
451
452pub use crate::operation::create_source_repository::_create_source_repository_input::CreateSourceRepositoryInput;
453
454pub use crate::operation::create_source_repository::_create_source_repository_output::CreateSourceRepositoryOutput;
455
456mod _create_source_repository_input;
457
458mod _create_source_repository_output;
459
460/// Builders
461pub mod builders;