Skip to main content

aws_sdk_codecommit/operation/
create_commit.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2/// Orchestration and serialization glue logic for `CreateCommit`.
3#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
4#[non_exhaustive]
5pub struct CreateCommit;
6impl CreateCommit {
7    /// Creates a new `CreateCommit`
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_commit::CreateCommitInput,
14    ) -> ::std::result::Result<
15        crate::operation::create_commit::CreateCommitOutput,
16        ::aws_smithy_runtime_api::client::result::SdkError<
17            crate::operation::create_commit::CreateCommitError,
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_commit::CreateCommitError>()
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_commit::CreateCommitOutput>()
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_commit::CreateCommitInput,
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("CodeCommit", "CreateCommit", input, runtime_plugins, stop_point)
55            // Create a parent span for the entire operation. Includes a random, internal-only,
56            // seven-digit ID for the operation orchestration so that it can be correlated in the logs.
57            .instrument(::tracing::debug_span!(
58                "CodeCommit.CreateCommit",
59                "rpc.service" = "CodeCommit",
60                "rpc.method" = "CreateCommit",
61                "sdk_invocation_id" = ::fastrand::u32(1_000_000..10_000_000),
62                "rpc.system" = "aws-api",
63            ))
64            .await
65    }
66
67    pub(crate) fn operation_runtime_plugins(
68        client_runtime_plugins: ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
69        client_config: &crate::config::Config,
70        config_override: ::std::option::Option<crate::config::Builder>,
71    ) -> ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins {
72        let mut runtime_plugins = client_runtime_plugins.with_operation_plugin(Self::new());
73
74        if let ::std::option::Option::Some(config_override) = config_override {
75            for plugin in config_override.runtime_plugins.iter().cloned() {
76                runtime_plugins = runtime_plugins.with_operation_plugin(plugin);
77            }
78            runtime_plugins = runtime_plugins.with_operation_plugin(crate::config::ConfigOverrideRuntimePlugin::new(
79                config_override,
80                client_config.config.clone(),
81                &client_config.runtime_components,
82            ));
83        }
84        runtime_plugins
85    }
86}
87impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for CreateCommit {
88    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
89        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("CreateCommit");
90
91        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
92            CreateCommitRequestSerializer,
93        ));
94        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
95            CreateCommitResponseDeserializer,
96        ));
97
98        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
99            crate::config::auth::Params::builder()
100                .operation_name("CreateCommit")
101                .build()
102                .expect("required fields set"),
103        ));
104
105        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
106            "CreateCommit",
107            "CodeCommit",
108        ));
109        let mut signing_options = ::aws_runtime::auth::SigningOptions::default();
110        signing_options.double_uri_encode = true;
111        signing_options.content_sha256_header = false;
112        signing_options.normalize_uri_path = true;
113        signing_options.payload_override = None;
114
115        cfg.store_put(::aws_runtime::auth::SigV4OperationSigningConfig {
116            signing_options,
117            ..::std::default::Default::default()
118        });
119
120        ::std::option::Option::Some(cfg.freeze())
121    }
122
123    fn runtime_components(
124        &self,
125        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
126    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
127        #[allow(unused_mut)]
128        let mut rcb = ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("CreateCommit")
129            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
130                CreateCommitTelemetryInputCaptureInterceptor,
131            ))
132            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
133                ::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default(),
134            ))
135            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
136                CreateCommitEndpointParamsInterceptor,
137            ))
138            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
139                crate::operation::create_commit::CreateCommitError,
140            >::new())
141            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
142                crate::operation::create_commit::CreateCommitError,
143            >::new())
144            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
145                crate::operation::create_commit::CreateCommitError,
146            >::new());
147
148        ::std::borrow::Cow::Owned(rcb)
149    }
150}
151
152#[derive(Debug)]
153struct CreateCommitTelemetryInputCaptureInterceptor;
154
155#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
156impl ::aws_smithy_runtime_api::client::interceptors::Intercept for CreateCommitTelemetryInputCaptureInterceptor {
157    fn name(&self) -> &'static str {
158        "CreateCommitTelemetryInputCaptureInterceptor"
159    }
160
161    fn read_before_execution(
162        &self,
163        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
164            '_,
165            ::aws_smithy_runtime_api::client::interceptors::context::Input,
166            ::aws_smithy_runtime_api::client::interceptors::context::Output,
167            ::aws_smithy_runtime_api::client::interceptors::context::Error,
168        >,
169        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
170    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
171        // Nothing to do unless the customer opted in by naming members to record.
172        let ::std::option::Option::Some(requested) = cfg
173            .load::<::aws_smithy_types::telemetry::RequestedTelemetryAttributes>()
174            .filter(|r| !r.is_empty())
175        else {
176            return ::std::result::Result::Ok(());
177        };
178
179        let ::std::option::Option::Some(input) = context.input().downcast_ref::<CreateCommitInput>() else {
180            // A mismatched input is not this interceptor's concern; skip quietly.
181            return ::std::result::Result::Ok(());
182        };
183
184        let mut captured = ::aws_smithy_types::telemetry::CapturedTelemetryAttributes::default();
185        if requested.should_capture("repositoryName") {
186            if let ::std::option::Option::Some(value) = input.repository_name.as_deref() {
187                captured.insert("repositoryName", value);
188            }
189        }
190        if requested.should_capture("branchName") {
191            if let ::std::option::Option::Some(value) = input.branch_name.as_deref() {
192                captured.insert("branchName", value);
193            }
194        }
195        if requested.should_capture("parentCommitId") {
196            if let ::std::option::Option::Some(value) = input.parent_commit_id.as_deref() {
197                captured.insert("parentCommitId", value);
198            }
199        }
200        if requested.should_capture("authorName") {
201            if let ::std::option::Option::Some(value) = input.author_name.as_deref() {
202                captured.insert("authorName", value);
203            }
204        }
205        if requested.should_capture("email") {
206            if let ::std::option::Option::Some(value) = input.email.as_deref() {
207                captured.insert("email", value);
208            }
209        }
210        if requested.should_capture("commitMessage") {
211            if let ::std::option::Option::Some(value) = input.commit_message.as_deref() {
212                captured.insert("commitMessage", value);
213            }
214        }
215
216        cfg.interceptor_state().store_put(captured);
217        ::std::result::Result::Ok(())
218    }
219}
220#[derive(Debug)]
221struct CreateCommitResponseDeserializer;
222impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for CreateCommitResponseDeserializer {
223    fn deserialize_nonstreaming_with_config(
224        &self,
225        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
226        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
227    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
228        let (success, status) = (response.status().is_success(), response.status().as_u16());
229        let headers = response.headers();
230        let body = response.body().bytes().expect("body loaded");
231        #[allow(unused_mut)]
232        let mut force_error = false;
233        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
234        let parse_result = if !success && status != 200 || force_error {
235            crate::protocol_serde::shape_create_commit::de_create_commit_http_error(status, headers, body)
236        } else {
237            crate::protocol_serde::shape_create_commit::de_create_commit_http_response(status, headers, body)
238        };
239        crate::protocol_serde::type_erase_result(parse_result)
240    }
241}
242#[derive(Debug)]
243struct CreateCommitRequestSerializer;
244impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for CreateCommitRequestSerializer {
245    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
246    fn serialize_input(
247        &self,
248        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
249        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
250    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
251        let input = input
252            .downcast::<crate::operation::create_commit::CreateCommitInput>()
253            .expect("correct type");
254        let _header_serialization_settings = _cfg
255            .load::<crate::serialization_settings::HeaderSerializationSettings>()
256            .cloned()
257            .unwrap_or_default();
258        let mut request_builder = {
259            #[allow(clippy::uninlined_format_args)]
260            fn uri_base(
261                _input: &crate::operation::create_commit::CreateCommitInput,
262                output: &mut ::std::string::String,
263            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
264                use ::std::fmt::Write as _;
265                ::std::write!(output, "/").expect("formatting should succeed");
266                ::std::result::Result::Ok(())
267            }
268            #[allow(clippy::unnecessary_wraps)]
269            fn update_http_builder(
270                input: &crate::operation::create_commit::CreateCommitInput,
271                builder: ::http_1x::request::Builder,
272            ) -> ::std::result::Result<::http_1x::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
273                let mut uri = ::std::string::String::new();
274                uri_base(input, &mut uri)?;
275                ::std::result::Result::Ok(builder.method("POST").uri(uri))
276            }
277            let mut builder = update_http_builder(&input, ::http_1x::request::Builder::new())?;
278            builder = _header_serialization_settings.set_default_header(builder, ::http_1x::header::CONTENT_TYPE, "application/x-amz-json-1.1");
279            builder = _header_serialization_settings.set_default_header(
280                builder,
281                ::http_1x::header::HeaderName::from_static("x-amz-target"),
282                "CodeCommit_20150413.CreateCommit",
283            );
284            builder
285        };
286        let body = ::aws_smithy_types::body::SdkBody::from(crate::protocol_serde::shape_create_commit::ser_create_commit_input(&input)?);
287        if let Some(content_length) = body.content_length() {
288            let content_length = content_length.to_string();
289            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http_1x::header::CONTENT_LENGTH, &content_length);
290        }
291        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
292    }
293}
294#[derive(Debug)]
295struct CreateCommitEndpointParamsInterceptor;
296
297#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
298impl ::aws_smithy_runtime_api::client::interceptors::Intercept for CreateCommitEndpointParamsInterceptor {
299    fn name(&self) -> &'static str {
300        "CreateCommitEndpointParamsInterceptor"
301    }
302
303    fn read_before_execution(
304        &self,
305        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
306            '_,
307            ::aws_smithy_runtime_api::client::interceptors::context::Input,
308            ::aws_smithy_runtime_api::client::interceptors::context::Output,
309            ::aws_smithy_runtime_api::client::interceptors::context::Error,
310        >,
311        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
312    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
313        let _input = context
314            .input()
315            .downcast_ref::<CreateCommitInput>()
316            .ok_or("failed to downcast to CreateCommitInput")?;
317
318        let params = crate::config::endpoint::Params::builder()
319            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
320            .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0))
321            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
322            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
323            .build()
324            .map_err(|err| {
325                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
326            })?;
327        cfg.interceptor_state()
328            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
329        ::std::result::Result::Ok(())
330    }
331}
332
333// The get_* functions below are generated from JMESPath expressions in the
334// operationContextParams trait. They target the operation's input shape.
335
336/// Error type for the `CreateCommitError` operation.
337#[non_exhaustive]
338#[derive(::std::fmt::Debug)]
339pub enum CreateCommitError {
340    /// <p>The specified branch does not exist.</p>
341    BranchDoesNotExistException(crate::types::error::BranchDoesNotExistException),
342    /// <p>The specified branch name is not valid because it is a tag name. Enter the name of a branch in the repository. For a list of valid branch names, use <code>ListBranches</code>.</p>
343    BranchNameIsTagNameException(crate::types::error::BranchNameIsTagNameException),
344    /// <p>A branch name is required, but was not specified.</p>
345    BranchNameRequiredException(crate::types::error::BranchNameRequiredException),
346    /// <p>The commit message is too long. Provide a shorter string.</p>
347    CommitMessageLengthExceededException(crate::types::error::CommitMessageLengthExceededException),
348    /// <p>A file cannot be added to the repository because the specified path name has the same name as a file that already exists in this repository. Either provide a different name for the file, or specify a different path for the file.</p>
349    DirectoryNameConflictsWithFileNameException(crate::types::error::DirectoryNameConflictsWithFileNameException),
350    /// <p>An encryption integrity check failed.</p>
351    EncryptionIntegrityChecksFailedException(crate::types::error::EncryptionIntegrityChecksFailedException),
352    /// <p>An encryption key could not be accessed.</p>
353    EncryptionKeyAccessDeniedException(crate::types::error::EncryptionKeyAccessDeniedException),
354    /// <p>The encryption key is disabled.</p>
355    EncryptionKeyDisabledException(crate::types::error::EncryptionKeyDisabledException),
356    /// <p>No encryption key was found.</p>
357    EncryptionKeyNotFoundException(crate::types::error::EncryptionKeyNotFoundException),
358    /// <p>The encryption key is not available.</p>
359    EncryptionKeyUnavailableException(crate::types::error::EncryptionKeyUnavailableException),
360    /// <p>The commit cannot be created because both a source file and file content have been specified for the same file. You cannot provide both. Either specify a source file or provide the file content directly.</p>
361    FileContentAndSourceFileSpecifiedException(crate::types::error::FileContentAndSourceFileSpecifiedException),
362    /// <p>The file cannot be added because it is too large. The maximum file size is 6 MB, and the combined file content change size is 7 MB. Consider making these changes using a Git client.</p>
363    FileContentSizeLimitExceededException(crate::types::error::FileContentSizeLimitExceededException),
364    /// <p>The specified file does not exist. Verify that you have used the correct file name, full path, and extension.</p>
365    FileDoesNotExistException(crate::types::error::FileDoesNotExistException),
366    /// <p>The commit cannot be created because no files have been specified as added, updated, or changed (PutFile or DeleteFile) for the commit.</p>
367    FileEntryRequiredException(crate::types::error::FileEntryRequiredException),
368    /// <p>The commit cannot be created because no file mode has been specified. A file mode is required to update mode permissions for a file.</p>
369    FileModeRequiredException(crate::types::error::FileModeRequiredException),
370    /// <p>A file cannot be added to the repository because the specified file name has the same name as a directory in this repository. Either provide another name for the file, or add the file in a directory that does not match the file name.</p>
371    FileNameConflictsWithDirectoryNameException(crate::types::error::FileNameConflictsWithDirectoryNameException),
372    /// <p>The commit cannot be created because a specified file path points to a submodule. Verify that the destination files have valid file paths that do not point to a submodule.</p>
373    FilePathConflictsWithSubmodulePathException(crate::types::error::FilePathConflictsWithSubmodulePathException),
374    /// <p>The commit cannot be created because at least one of the overall changes in the commit results in a folder whose contents exceed the limit of 6 MB. Either reduce the number and size of your changes, or split the changes across multiple folders.</p>
375    FolderContentSizeLimitExceededException(crate::types::error::FolderContentSizeLimitExceededException),
376    /// <p>The specified reference name is not valid.</p>
377    InvalidBranchNameException(crate::types::error::InvalidBranchNameException),
378    /// <p>The specified deletion parameter is not valid.</p>
379    InvalidDeletionParameterException(crate::types::error::InvalidDeletionParameterException),
380    /// <p>The specified email address either contains one or more characters that are not allowed, or it exceeds the maximum number of characters allowed for an email address.</p>
381    InvalidEmailException(crate::types::error::InvalidEmailException),
382    /// <p>The specified file mode permission is not valid. For a list of valid file mode permissions, see <code>PutFile</code>.</p>
383    InvalidFileModeException(crate::types::error::InvalidFileModeException),
384    /// <p>The parent commit ID is not valid. The commit ID cannot be empty, and must match the head commit ID for the branch of the repository where you want to add or update a file.</p>
385    InvalidParentCommitIdException(crate::types::error::InvalidParentCommitIdException),
386    /// <p>The specified path is not valid.</p>
387    InvalidPathException(crate::types::error::InvalidPathException),
388    /// <p>A specified repository name is not valid.</p><note>
389    /// <p>This exception occurs only when a specified repository name is not valid. Other exceptions occur when a required repository parameter is missing, or when a specified repository does not exist.</p>
390    /// </note>
391    InvalidRepositoryNameException(crate::types::error::InvalidRepositoryNameException),
392    /// <p>The number of specified files to change as part of this commit exceeds the maximum number of files that can be changed in a single commit. Consider using a Git client for these changes.</p>
393    MaximumFileEntriesExceededException(crate::types::error::MaximumFileEntriesExceededException),
394    /// <p>The user name is not valid because it has exceeded the character limit for author names.</p>
395    NameLengthExceededException(crate::types::error::NameLengthExceededException),
396    /// <p>The commit cannot be created because no changes will be made to the repository as a result of this commit. A commit must contain at least one change.</p>
397    NoChangeException(crate::types::error::NoChangeException),
398    /// <p>The parent commit ID is not valid because it does not exist. The specified parent commit ID does not exist in the specified branch of the repository.</p>
399    ParentCommitDoesNotExistException(crate::types::error::ParentCommitDoesNotExistException),
400    /// <p>The file could not be added because the provided parent commit ID is not the current tip of the specified branch. To view the full commit ID of the current head of the branch, use <code>GetBranch</code>.</p>
401    ParentCommitIdOutdatedException(crate::types::error::ParentCommitIdOutdatedException),
402    /// <p>A parent commit ID is required. To view the full commit ID of a branch in a repository, use <code>GetBranch</code> or a Git command (for example, git pull or git log).</p>
403    ParentCommitIdRequiredException(crate::types::error::ParentCommitIdRequiredException),
404    /// <p>The folderPath for a location cannot be null.</p>
405    PathRequiredException(crate::types::error::PathRequiredException),
406    /// <p>The commit cannot be created because one or more files specified in the commit reference both a file and a folder.</p>
407    PutFileEntryConflictException(crate::types::error::PutFileEntryConflictException),
408    /// <p>The specified repository does not exist.</p>
409    RepositoryDoesNotExistException(crate::types::error::RepositoryDoesNotExistException),
410    /// <p>A repository name is required, but was not specified.</p>
411    RepositoryNameRequiredException(crate::types::error::RepositoryNameRequiredException),
412    /// <p>The commit cannot be created because one of the changes specifies copying or moving a .gitkeep file.</p>
413    RestrictedSourceFileException(crate::types::error::RestrictedSourceFileException),
414    /// <p>The commit cannot be created because one or more changes in this commit duplicate actions in the same file path. For example, you cannot make the same delete request to the same file in the same file path twice, or make a delete request and a move request to the same file as part of the same commit.</p>
415    SamePathRequestException(crate::types::error::SamePathRequestException),
416    /// <p>The commit cannot be created because no source files or file content have been specified for the commit.</p>
417    SourceFileOrContentRequiredException(crate::types::error::SourceFileOrContentRequiredException),
418    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
419    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
420    variable wildcard pattern and check `.code()`:
421     \
422    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
423     \
424    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-CreateCommitError) for what information is available for the error.")]
425    Unhandled(crate::error::sealed_unhandled::Unhandled),
426}
427impl CreateCommitError {
428    /// Creates the `CreateCommitError::Unhandled` variant from any error type.
429    pub fn unhandled(
430        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
431    ) -> Self {
432        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
433            source: err.into(),
434            meta: ::std::default::Default::default(),
435        })
436    }
437
438    /// Creates the `CreateCommitError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
439    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
440        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
441            source: err.clone().into(),
442            meta: err,
443        })
444    }
445    ///
446    /// Returns error metadata, which includes the error code, message,
447    /// request ID, and potentially additional information.
448    ///
449    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
450        match self {
451            Self::BranchDoesNotExistException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
452            Self::BranchNameIsTagNameException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
453            Self::BranchNameRequiredException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
454            Self::CommitMessageLengthExceededException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
455            Self::DirectoryNameConflictsWithFileNameException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
456            Self::EncryptionIntegrityChecksFailedException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
457            Self::EncryptionKeyAccessDeniedException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
458            Self::EncryptionKeyDisabledException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
459            Self::EncryptionKeyNotFoundException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
460            Self::EncryptionKeyUnavailableException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
461            Self::FileContentAndSourceFileSpecifiedException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
462            Self::FileContentSizeLimitExceededException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
463            Self::FileDoesNotExistException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
464            Self::FileEntryRequiredException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
465            Self::FileModeRequiredException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
466            Self::FileNameConflictsWithDirectoryNameException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
467            Self::FilePathConflictsWithSubmodulePathException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
468            Self::FolderContentSizeLimitExceededException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
469            Self::InvalidBranchNameException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
470            Self::InvalidDeletionParameterException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
471            Self::InvalidEmailException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
472            Self::InvalidFileModeException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
473            Self::InvalidParentCommitIdException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
474            Self::InvalidPathException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
475            Self::InvalidRepositoryNameException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
476            Self::MaximumFileEntriesExceededException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
477            Self::NameLengthExceededException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
478            Self::NoChangeException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
479            Self::ParentCommitDoesNotExistException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
480            Self::ParentCommitIdOutdatedException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
481            Self::ParentCommitIdRequiredException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
482            Self::PathRequiredException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
483            Self::PutFileEntryConflictException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
484            Self::RepositoryDoesNotExistException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
485            Self::RepositoryNameRequiredException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
486            Self::RestrictedSourceFileException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
487            Self::SamePathRequestException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
488            Self::SourceFileOrContentRequiredException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
489            Self::Unhandled(e) => &e.meta,
490        }
491    }
492    /// Returns `true` if the error kind is `CreateCommitError::BranchDoesNotExistException`.
493    pub fn is_branch_does_not_exist_exception(&self) -> bool {
494        matches!(self, Self::BranchDoesNotExistException(_))
495    }
496    /// Returns `true` if the error kind is `CreateCommitError::BranchNameIsTagNameException`.
497    pub fn is_branch_name_is_tag_name_exception(&self) -> bool {
498        matches!(self, Self::BranchNameIsTagNameException(_))
499    }
500    /// Returns `true` if the error kind is `CreateCommitError::BranchNameRequiredException`.
501    pub fn is_branch_name_required_exception(&self) -> bool {
502        matches!(self, Self::BranchNameRequiredException(_))
503    }
504    /// Returns `true` if the error kind is `CreateCommitError::CommitMessageLengthExceededException`.
505    pub fn is_commit_message_length_exceeded_exception(&self) -> bool {
506        matches!(self, Self::CommitMessageLengthExceededException(_))
507    }
508    /// Returns `true` if the error kind is `CreateCommitError::DirectoryNameConflictsWithFileNameException`.
509    pub fn is_directory_name_conflicts_with_file_name_exception(&self) -> bool {
510        matches!(self, Self::DirectoryNameConflictsWithFileNameException(_))
511    }
512    /// Returns `true` if the error kind is `CreateCommitError::EncryptionIntegrityChecksFailedException`.
513    pub fn is_encryption_integrity_checks_failed_exception(&self) -> bool {
514        matches!(self, Self::EncryptionIntegrityChecksFailedException(_))
515    }
516    /// Returns `true` if the error kind is `CreateCommitError::EncryptionKeyAccessDeniedException`.
517    pub fn is_encryption_key_access_denied_exception(&self) -> bool {
518        matches!(self, Self::EncryptionKeyAccessDeniedException(_))
519    }
520    /// Returns `true` if the error kind is `CreateCommitError::EncryptionKeyDisabledException`.
521    pub fn is_encryption_key_disabled_exception(&self) -> bool {
522        matches!(self, Self::EncryptionKeyDisabledException(_))
523    }
524    /// Returns `true` if the error kind is `CreateCommitError::EncryptionKeyNotFoundException`.
525    pub fn is_encryption_key_not_found_exception(&self) -> bool {
526        matches!(self, Self::EncryptionKeyNotFoundException(_))
527    }
528    /// Returns `true` if the error kind is `CreateCommitError::EncryptionKeyUnavailableException`.
529    pub fn is_encryption_key_unavailable_exception(&self) -> bool {
530        matches!(self, Self::EncryptionKeyUnavailableException(_))
531    }
532    /// Returns `true` if the error kind is `CreateCommitError::FileContentAndSourceFileSpecifiedException`.
533    pub fn is_file_content_and_source_file_specified_exception(&self) -> bool {
534        matches!(self, Self::FileContentAndSourceFileSpecifiedException(_))
535    }
536    /// Returns `true` if the error kind is `CreateCommitError::FileContentSizeLimitExceededException`.
537    pub fn is_file_content_size_limit_exceeded_exception(&self) -> bool {
538        matches!(self, Self::FileContentSizeLimitExceededException(_))
539    }
540    /// Returns `true` if the error kind is `CreateCommitError::FileDoesNotExistException`.
541    pub fn is_file_does_not_exist_exception(&self) -> bool {
542        matches!(self, Self::FileDoesNotExistException(_))
543    }
544    /// Returns `true` if the error kind is `CreateCommitError::FileEntryRequiredException`.
545    pub fn is_file_entry_required_exception(&self) -> bool {
546        matches!(self, Self::FileEntryRequiredException(_))
547    }
548    /// Returns `true` if the error kind is `CreateCommitError::FileModeRequiredException`.
549    pub fn is_file_mode_required_exception(&self) -> bool {
550        matches!(self, Self::FileModeRequiredException(_))
551    }
552    /// Returns `true` if the error kind is `CreateCommitError::FileNameConflictsWithDirectoryNameException`.
553    pub fn is_file_name_conflicts_with_directory_name_exception(&self) -> bool {
554        matches!(self, Self::FileNameConflictsWithDirectoryNameException(_))
555    }
556    /// Returns `true` if the error kind is `CreateCommitError::FilePathConflictsWithSubmodulePathException`.
557    pub fn is_file_path_conflicts_with_submodule_path_exception(&self) -> bool {
558        matches!(self, Self::FilePathConflictsWithSubmodulePathException(_))
559    }
560    /// Returns `true` if the error kind is `CreateCommitError::FolderContentSizeLimitExceededException`.
561    pub fn is_folder_content_size_limit_exceeded_exception(&self) -> bool {
562        matches!(self, Self::FolderContentSizeLimitExceededException(_))
563    }
564    /// Returns `true` if the error kind is `CreateCommitError::InvalidBranchNameException`.
565    pub fn is_invalid_branch_name_exception(&self) -> bool {
566        matches!(self, Self::InvalidBranchNameException(_))
567    }
568    /// Returns `true` if the error kind is `CreateCommitError::InvalidDeletionParameterException`.
569    pub fn is_invalid_deletion_parameter_exception(&self) -> bool {
570        matches!(self, Self::InvalidDeletionParameterException(_))
571    }
572    /// Returns `true` if the error kind is `CreateCommitError::InvalidEmailException`.
573    pub fn is_invalid_email_exception(&self) -> bool {
574        matches!(self, Self::InvalidEmailException(_))
575    }
576    /// Returns `true` if the error kind is `CreateCommitError::InvalidFileModeException`.
577    pub fn is_invalid_file_mode_exception(&self) -> bool {
578        matches!(self, Self::InvalidFileModeException(_))
579    }
580    /// Returns `true` if the error kind is `CreateCommitError::InvalidParentCommitIdException`.
581    pub fn is_invalid_parent_commit_id_exception(&self) -> bool {
582        matches!(self, Self::InvalidParentCommitIdException(_))
583    }
584    /// Returns `true` if the error kind is `CreateCommitError::InvalidPathException`.
585    pub fn is_invalid_path_exception(&self) -> bool {
586        matches!(self, Self::InvalidPathException(_))
587    }
588    /// Returns `true` if the error kind is `CreateCommitError::InvalidRepositoryNameException`.
589    pub fn is_invalid_repository_name_exception(&self) -> bool {
590        matches!(self, Self::InvalidRepositoryNameException(_))
591    }
592    /// Returns `true` if the error kind is `CreateCommitError::MaximumFileEntriesExceededException`.
593    pub fn is_maximum_file_entries_exceeded_exception(&self) -> bool {
594        matches!(self, Self::MaximumFileEntriesExceededException(_))
595    }
596    /// Returns `true` if the error kind is `CreateCommitError::NameLengthExceededException`.
597    pub fn is_name_length_exceeded_exception(&self) -> bool {
598        matches!(self, Self::NameLengthExceededException(_))
599    }
600    /// Returns `true` if the error kind is `CreateCommitError::NoChangeException`.
601    pub fn is_no_change_exception(&self) -> bool {
602        matches!(self, Self::NoChangeException(_))
603    }
604    /// Returns `true` if the error kind is `CreateCommitError::ParentCommitDoesNotExistException`.
605    pub fn is_parent_commit_does_not_exist_exception(&self) -> bool {
606        matches!(self, Self::ParentCommitDoesNotExistException(_))
607    }
608    /// Returns `true` if the error kind is `CreateCommitError::ParentCommitIdOutdatedException`.
609    pub fn is_parent_commit_id_outdated_exception(&self) -> bool {
610        matches!(self, Self::ParentCommitIdOutdatedException(_))
611    }
612    /// Returns `true` if the error kind is `CreateCommitError::ParentCommitIdRequiredException`.
613    pub fn is_parent_commit_id_required_exception(&self) -> bool {
614        matches!(self, Self::ParentCommitIdRequiredException(_))
615    }
616    /// Returns `true` if the error kind is `CreateCommitError::PathRequiredException`.
617    pub fn is_path_required_exception(&self) -> bool {
618        matches!(self, Self::PathRequiredException(_))
619    }
620    /// Returns `true` if the error kind is `CreateCommitError::PutFileEntryConflictException`.
621    pub fn is_put_file_entry_conflict_exception(&self) -> bool {
622        matches!(self, Self::PutFileEntryConflictException(_))
623    }
624    /// Returns `true` if the error kind is `CreateCommitError::RepositoryDoesNotExistException`.
625    pub fn is_repository_does_not_exist_exception(&self) -> bool {
626        matches!(self, Self::RepositoryDoesNotExistException(_))
627    }
628    /// Returns `true` if the error kind is `CreateCommitError::RepositoryNameRequiredException`.
629    pub fn is_repository_name_required_exception(&self) -> bool {
630        matches!(self, Self::RepositoryNameRequiredException(_))
631    }
632    /// Returns `true` if the error kind is `CreateCommitError::RestrictedSourceFileException`.
633    pub fn is_restricted_source_file_exception(&self) -> bool {
634        matches!(self, Self::RestrictedSourceFileException(_))
635    }
636    /// Returns `true` if the error kind is `CreateCommitError::SamePathRequestException`.
637    pub fn is_same_path_request_exception(&self) -> bool {
638        matches!(self, Self::SamePathRequestException(_))
639    }
640    /// Returns `true` if the error kind is `CreateCommitError::SourceFileOrContentRequiredException`.
641    pub fn is_source_file_or_content_required_exception(&self) -> bool {
642        matches!(self, Self::SourceFileOrContentRequiredException(_))
643    }
644}
645impl ::std::error::Error for CreateCommitError {
646    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
647        match self {
648            Self::BranchDoesNotExistException(_inner) => ::std::option::Option::Some(_inner),
649            Self::BranchNameIsTagNameException(_inner) => ::std::option::Option::Some(_inner),
650            Self::BranchNameRequiredException(_inner) => ::std::option::Option::Some(_inner),
651            Self::CommitMessageLengthExceededException(_inner) => ::std::option::Option::Some(_inner),
652            Self::DirectoryNameConflictsWithFileNameException(_inner) => ::std::option::Option::Some(_inner),
653            Self::EncryptionIntegrityChecksFailedException(_inner) => ::std::option::Option::Some(_inner),
654            Self::EncryptionKeyAccessDeniedException(_inner) => ::std::option::Option::Some(_inner),
655            Self::EncryptionKeyDisabledException(_inner) => ::std::option::Option::Some(_inner),
656            Self::EncryptionKeyNotFoundException(_inner) => ::std::option::Option::Some(_inner),
657            Self::EncryptionKeyUnavailableException(_inner) => ::std::option::Option::Some(_inner),
658            Self::FileContentAndSourceFileSpecifiedException(_inner) => ::std::option::Option::Some(_inner),
659            Self::FileContentSizeLimitExceededException(_inner) => ::std::option::Option::Some(_inner),
660            Self::FileDoesNotExistException(_inner) => ::std::option::Option::Some(_inner),
661            Self::FileEntryRequiredException(_inner) => ::std::option::Option::Some(_inner),
662            Self::FileModeRequiredException(_inner) => ::std::option::Option::Some(_inner),
663            Self::FileNameConflictsWithDirectoryNameException(_inner) => ::std::option::Option::Some(_inner),
664            Self::FilePathConflictsWithSubmodulePathException(_inner) => ::std::option::Option::Some(_inner),
665            Self::FolderContentSizeLimitExceededException(_inner) => ::std::option::Option::Some(_inner),
666            Self::InvalidBranchNameException(_inner) => ::std::option::Option::Some(_inner),
667            Self::InvalidDeletionParameterException(_inner) => ::std::option::Option::Some(_inner),
668            Self::InvalidEmailException(_inner) => ::std::option::Option::Some(_inner),
669            Self::InvalidFileModeException(_inner) => ::std::option::Option::Some(_inner),
670            Self::InvalidParentCommitIdException(_inner) => ::std::option::Option::Some(_inner),
671            Self::InvalidPathException(_inner) => ::std::option::Option::Some(_inner),
672            Self::InvalidRepositoryNameException(_inner) => ::std::option::Option::Some(_inner),
673            Self::MaximumFileEntriesExceededException(_inner) => ::std::option::Option::Some(_inner),
674            Self::NameLengthExceededException(_inner) => ::std::option::Option::Some(_inner),
675            Self::NoChangeException(_inner) => ::std::option::Option::Some(_inner),
676            Self::ParentCommitDoesNotExistException(_inner) => ::std::option::Option::Some(_inner),
677            Self::ParentCommitIdOutdatedException(_inner) => ::std::option::Option::Some(_inner),
678            Self::ParentCommitIdRequiredException(_inner) => ::std::option::Option::Some(_inner),
679            Self::PathRequiredException(_inner) => ::std::option::Option::Some(_inner),
680            Self::PutFileEntryConflictException(_inner) => ::std::option::Option::Some(_inner),
681            Self::RepositoryDoesNotExistException(_inner) => ::std::option::Option::Some(_inner),
682            Self::RepositoryNameRequiredException(_inner) => ::std::option::Option::Some(_inner),
683            Self::RestrictedSourceFileException(_inner) => ::std::option::Option::Some(_inner),
684            Self::SamePathRequestException(_inner) => ::std::option::Option::Some(_inner),
685            Self::SourceFileOrContentRequiredException(_inner) => ::std::option::Option::Some(_inner),
686            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
687        }
688    }
689}
690impl ::std::fmt::Display for CreateCommitError {
691    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
692        match self {
693            Self::BranchDoesNotExistException(_inner) => _inner.fmt(f),
694            Self::BranchNameIsTagNameException(_inner) => _inner.fmt(f),
695            Self::BranchNameRequiredException(_inner) => _inner.fmt(f),
696            Self::CommitMessageLengthExceededException(_inner) => _inner.fmt(f),
697            Self::DirectoryNameConflictsWithFileNameException(_inner) => _inner.fmt(f),
698            Self::EncryptionIntegrityChecksFailedException(_inner) => _inner.fmt(f),
699            Self::EncryptionKeyAccessDeniedException(_inner) => _inner.fmt(f),
700            Self::EncryptionKeyDisabledException(_inner) => _inner.fmt(f),
701            Self::EncryptionKeyNotFoundException(_inner) => _inner.fmt(f),
702            Self::EncryptionKeyUnavailableException(_inner) => _inner.fmt(f),
703            Self::FileContentAndSourceFileSpecifiedException(_inner) => _inner.fmt(f),
704            Self::FileContentSizeLimitExceededException(_inner) => _inner.fmt(f),
705            Self::FileDoesNotExistException(_inner) => _inner.fmt(f),
706            Self::FileEntryRequiredException(_inner) => _inner.fmt(f),
707            Self::FileModeRequiredException(_inner) => _inner.fmt(f),
708            Self::FileNameConflictsWithDirectoryNameException(_inner) => _inner.fmt(f),
709            Self::FilePathConflictsWithSubmodulePathException(_inner) => _inner.fmt(f),
710            Self::FolderContentSizeLimitExceededException(_inner) => _inner.fmt(f),
711            Self::InvalidBranchNameException(_inner) => _inner.fmt(f),
712            Self::InvalidDeletionParameterException(_inner) => _inner.fmt(f),
713            Self::InvalidEmailException(_inner) => _inner.fmt(f),
714            Self::InvalidFileModeException(_inner) => _inner.fmt(f),
715            Self::InvalidParentCommitIdException(_inner) => _inner.fmt(f),
716            Self::InvalidPathException(_inner) => _inner.fmt(f),
717            Self::InvalidRepositoryNameException(_inner) => _inner.fmt(f),
718            Self::MaximumFileEntriesExceededException(_inner) => _inner.fmt(f),
719            Self::NameLengthExceededException(_inner) => _inner.fmt(f),
720            Self::NoChangeException(_inner) => _inner.fmt(f),
721            Self::ParentCommitDoesNotExistException(_inner) => _inner.fmt(f),
722            Self::ParentCommitIdOutdatedException(_inner) => _inner.fmt(f),
723            Self::ParentCommitIdRequiredException(_inner) => _inner.fmt(f),
724            Self::PathRequiredException(_inner) => _inner.fmt(f),
725            Self::PutFileEntryConflictException(_inner) => _inner.fmt(f),
726            Self::RepositoryDoesNotExistException(_inner) => _inner.fmt(f),
727            Self::RepositoryNameRequiredException(_inner) => _inner.fmt(f),
728            Self::RestrictedSourceFileException(_inner) => _inner.fmt(f),
729            Self::SamePathRequestException(_inner) => _inner.fmt(f),
730            Self::SourceFileOrContentRequiredException(_inner) => _inner.fmt(f),
731            Self::Unhandled(_inner) => {
732                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
733                    write!(f, "unhandled error ({code})")
734                } else {
735                    f.write_str("unhandled error")
736                }
737            }
738        }
739    }
740}
741impl ::aws_smithy_types::retry::ProvideErrorKind for CreateCommitError {
742    fn code(&self) -> ::std::option::Option<&str> {
743        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
744    }
745    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
746        ::std::option::Option::None
747    }
748}
749impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for CreateCommitError {
750    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
751        match self {
752            Self::BranchDoesNotExistException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
753            Self::BranchNameIsTagNameException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
754            Self::BranchNameRequiredException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
755            Self::CommitMessageLengthExceededException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
756            Self::DirectoryNameConflictsWithFileNameException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
757            Self::EncryptionIntegrityChecksFailedException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
758            Self::EncryptionKeyAccessDeniedException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
759            Self::EncryptionKeyDisabledException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
760            Self::EncryptionKeyNotFoundException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
761            Self::EncryptionKeyUnavailableException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
762            Self::FileContentAndSourceFileSpecifiedException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
763            Self::FileContentSizeLimitExceededException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
764            Self::FileDoesNotExistException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
765            Self::FileEntryRequiredException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
766            Self::FileModeRequiredException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
767            Self::FileNameConflictsWithDirectoryNameException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
768            Self::FilePathConflictsWithSubmodulePathException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
769            Self::FolderContentSizeLimitExceededException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
770            Self::InvalidBranchNameException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
771            Self::InvalidDeletionParameterException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
772            Self::InvalidEmailException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
773            Self::InvalidFileModeException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
774            Self::InvalidParentCommitIdException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
775            Self::InvalidPathException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
776            Self::InvalidRepositoryNameException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
777            Self::MaximumFileEntriesExceededException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
778            Self::NameLengthExceededException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
779            Self::NoChangeException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
780            Self::ParentCommitDoesNotExistException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
781            Self::ParentCommitIdOutdatedException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
782            Self::ParentCommitIdRequiredException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
783            Self::PathRequiredException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
784            Self::PutFileEntryConflictException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
785            Self::RepositoryDoesNotExistException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
786            Self::RepositoryNameRequiredException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
787            Self::RestrictedSourceFileException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
788            Self::SamePathRequestException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
789            Self::SourceFileOrContentRequiredException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
790            Self::Unhandled(_inner) => &_inner.meta,
791        }
792    }
793}
794impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for CreateCommitError {
795    fn create_unhandled_error(
796        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
797        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
798    ) -> Self {
799        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
800            source,
801            meta: meta.unwrap_or_default(),
802        })
803    }
804}
805impl ::aws_types::request_id::RequestId for crate::operation::create_commit::CreateCommitError {
806    fn request_id(&self) -> Option<&str> {
807        self.meta().request_id()
808    }
809}
810
811pub use crate::operation::create_commit::_create_commit_input::CreateCommitInput;
812
813pub use crate::operation::create_commit::_create_commit_output::CreateCommitOutput;
814
815mod _create_commit_input;
816
817mod _create_commit_output;
818
819/// Builders
820pub mod builders;