Skip to main content

aws_sdk_secretsmanager/operation/
create_secret.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2/// Orchestration and serialization glue logic for `CreateSecret`.
3#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
4#[non_exhaustive]
5pub struct CreateSecret;
6impl CreateSecret {
7    /// Creates a new `CreateSecret`
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_secret::CreateSecretInput,
14    ) -> ::std::result::Result<
15        crate::operation::create_secret::CreateSecretOutput,
16        ::aws_smithy_runtime_api::client::result::SdkError<
17            crate::operation::create_secret::CreateSecretError,
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_secret::CreateSecretError>()
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_secret::CreateSecretOutput>()
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_secret::CreateSecretInput,
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("Secrets Manager", "CreateSecret", 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                "Secrets Manager.CreateSecret",
59                "rpc.service" = "Secrets Manager",
60                "rpc.method" = "CreateSecret",
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        runtime_plugins = runtime_plugins.with_operation_plugin(crate::client_idempotency_token::IdempotencyTokenRuntimePlugin::new(
74            |token_provider, input| {
75                let input: &mut crate::operation::create_secret::CreateSecretInput = input.downcast_mut().expect("correct type");
76                if input.client_request_token.is_none() {
77                    input.client_request_token = ::std::option::Option::Some(token_provider.make_idempotency_token());
78                }
79            },
80        ));
81        if let ::std::option::Option::Some(config_override) = config_override {
82            for plugin in config_override.runtime_plugins.iter().cloned() {
83                runtime_plugins = runtime_plugins.with_operation_plugin(plugin);
84            }
85            runtime_plugins = runtime_plugins.with_operation_plugin(crate::config::ConfigOverrideRuntimePlugin::new(
86                config_override,
87                client_config.config.clone(),
88                &client_config.runtime_components,
89            ));
90        }
91        runtime_plugins
92    }
93}
94impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for CreateSecret {
95    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
96        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("CreateSecret");
97
98        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
99            CreateSecretRequestSerializer,
100        ));
101        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
102            CreateSecretResponseDeserializer,
103        ));
104
105        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
106            crate::config::auth::Params::builder()
107                .operation_name("CreateSecret")
108                .build()
109                .expect("required fields set"),
110        ));
111
112        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
113            "CreateSecret",
114            "Secrets Manager",
115        ));
116        let mut signing_options = ::aws_runtime::auth::SigningOptions::default();
117        signing_options.double_uri_encode = true;
118        signing_options.content_sha256_header = false;
119        signing_options.normalize_uri_path = true;
120        signing_options.payload_override = None;
121
122        cfg.store_put(::aws_runtime::auth::SigV4OperationSigningConfig {
123            signing_options,
124            ..::std::default::Default::default()
125        });
126
127        ::std::option::Option::Some(cfg.freeze())
128    }
129
130    fn runtime_components(
131        &self,
132        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
133    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
134        #[allow(unused_mut)]
135        let mut rcb = ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("CreateSecret")
136            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
137                ::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default(),
138            ))
139            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
140                CreateSecretEndpointParamsInterceptor,
141            ))
142            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
143                crate::operation::create_secret::CreateSecretError,
144            >::new())
145            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
146                crate::operation::create_secret::CreateSecretError,
147            >::new())
148            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
149                crate::operation::create_secret::CreateSecretError,
150            >::new());
151
152        ::std::borrow::Cow::Owned(rcb)
153    }
154}
155
156#[derive(Debug)]
157struct CreateSecretResponseDeserializer;
158impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for CreateSecretResponseDeserializer {
159    fn deserialize_nonstreaming_with_config(
160        &self,
161        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
162        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
163    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
164        let (success, status) = (response.status().is_success(), response.status().as_u16());
165        let headers = response.headers();
166        let body = response.body().bytes().expect("body loaded");
167        #[allow(unused_mut)]
168        let mut force_error = false;
169        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
170        let parse_result = if !success && status != 200 || force_error {
171            crate::protocol_serde::shape_create_secret::de_create_secret_http_error(status, headers, body)
172        } else {
173            crate::protocol_serde::shape_create_secret::de_create_secret_http_response(status, headers, body)
174        };
175        crate::protocol_serde::type_erase_result(parse_result)
176    }
177}
178#[derive(Debug)]
179struct CreateSecretRequestSerializer;
180impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for CreateSecretRequestSerializer {
181    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
182    fn serialize_input(
183        &self,
184        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
185        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
186    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
187        let input = input
188            .downcast::<crate::operation::create_secret::CreateSecretInput>()
189            .expect("correct type");
190        let _header_serialization_settings = _cfg
191            .load::<crate::serialization_settings::HeaderSerializationSettings>()
192            .cloned()
193            .unwrap_or_default();
194        let mut request_builder = {
195            #[allow(clippy::uninlined_format_args)]
196            fn uri_base(
197                _input: &crate::operation::create_secret::CreateSecretInput,
198                output: &mut ::std::string::String,
199            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
200                use ::std::fmt::Write as _;
201                ::std::write!(output, "/").expect("formatting should succeed");
202                ::std::result::Result::Ok(())
203            }
204            #[allow(clippy::unnecessary_wraps)]
205            fn update_http_builder(
206                input: &crate::operation::create_secret::CreateSecretInput,
207                builder: ::http_1x::request::Builder,
208            ) -> ::std::result::Result<::http_1x::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
209                let mut uri = ::std::string::String::new();
210                uri_base(input, &mut uri)?;
211                ::std::result::Result::Ok(builder.method("POST").uri(uri))
212            }
213            let mut builder = update_http_builder(&input, ::http_1x::request::Builder::new())?;
214            builder = _header_serialization_settings.set_default_header(builder, ::http_1x::header::CONTENT_TYPE, "application/x-amz-json-1.1");
215            builder = _header_serialization_settings.set_default_header(
216                builder,
217                ::http_1x::header::HeaderName::from_static("x-amz-target"),
218                "secretsmanager.CreateSecret",
219            );
220            builder
221        };
222        let body = ::aws_smithy_types::body::SdkBody::from(crate::protocol_serde::shape_create_secret::ser_create_secret_input(&input)?);
223        if let Some(content_length) = body.content_length() {
224            let content_length = content_length.to_string();
225            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http_1x::header::CONTENT_LENGTH, &content_length);
226        }
227        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
228    }
229}
230#[derive(Debug)]
231struct CreateSecretEndpointParamsInterceptor;
232
233#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
234impl ::aws_smithy_runtime_api::client::interceptors::Intercept for CreateSecretEndpointParamsInterceptor {
235    fn name(&self) -> &'static str {
236        "CreateSecretEndpointParamsInterceptor"
237    }
238
239    fn read_before_execution(
240        &self,
241        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
242            '_,
243            ::aws_smithy_runtime_api::client::interceptors::context::Input,
244            ::aws_smithy_runtime_api::client::interceptors::context::Output,
245            ::aws_smithy_runtime_api::client::interceptors::context::Error,
246        >,
247        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
248    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
249        let _input = context
250            .input()
251            .downcast_ref::<CreateSecretInput>()
252            .ok_or("failed to downcast to CreateSecretInput")?;
253
254        let params = crate::config::endpoint::Params::builder()
255            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
256            .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0))
257            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
258            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
259            .build()
260            .map_err(|err| {
261                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
262            })?;
263        cfg.interceptor_state()
264            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
265        ::std::result::Result::Ok(())
266    }
267}
268
269// The get_* functions below are generated from JMESPath expressions in the
270// operationContextParams trait. They target the operation's input shape.
271
272/// Error type for the `CreateSecretError` operation.
273#[non_exhaustive]
274#[derive(::std::fmt::Debug)]
275pub enum CreateSecretError {
276    /// <p>Secrets Manager can't decrypt the protected secret text using the provided KMS key.</p>
277    DecryptionFailure(crate::types::error::DecryptionFailure),
278    /// <p>Secrets Manager can't encrypt the protected secret text using the provided KMS key. Check that the KMS key is available, enabled, and not in an invalid state. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">Key state: Effect on your KMS key</a>.</p>
279    EncryptionFailure(crate::types::error::EncryptionFailure),
280    /// <p>An error occurred on the server side.</p>
281    InternalServiceError(crate::types::error::InternalServiceError),
282    /// <p>The parameter name or value is invalid.</p>
283    InvalidParameterException(crate::types::error::InvalidParameterException),
284    /// <p>A parameter value is not valid for the current state of the resource.</p>
285    /// <p>Possible causes:</p>
286    /// <ul>
287    /// <li>
288    /// <p>The secret is scheduled for deletion.</p></li>
289    /// <li>
290    /// <p>You tried to enable rotation on a secret that doesn't already have a Lambda function ARN configured and you didn't include such an ARN as a parameter in this call.</p></li>
291    /// <li>
292    /// <p>The secret is managed by another service, and you must use that service to update it. For more information, see <a href="https://docs.aws.amazon.com/secretsmanager/latest/userguide/service-linked-secrets.html">Secrets managed by other Amazon Web Services services</a>.</p></li>
293    /// </ul>
294    InvalidRequestException(crate::types::error::InvalidRequestException),
295    /// <p>The request failed because it would exceed one of the Secrets Manager quotas.</p>
296    LimitExceededException(crate::types::error::LimitExceededException),
297    /// <p>The resource policy has syntax errors.</p>
298    MalformedPolicyDocumentException(crate::types::error::MalformedPolicyDocumentException),
299    /// <p>The request failed because you did not complete all the prerequisite steps.</p>
300    PreconditionNotMetException(crate::types::error::PreconditionNotMetException),
301    /// <p>A resource with the ID you requested already exists.</p>
302    ResourceExistsException(crate::types::error::ResourceExistsException),
303    /// <p>Secrets Manager can't find the resource that you asked for.</p>
304    ResourceNotFoundException(crate::types::error::ResourceNotFoundException),
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-CreateSecretError) for what information is available for the error.")]
312    Unhandled(crate::error::sealed_unhandled::Unhandled),
313}
314impl CreateSecretError {
315    /// Creates the `CreateSecretError::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 `CreateSecretError::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::DecryptionFailure(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
339            Self::EncryptionFailure(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
340            Self::InternalServiceError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
341            Self::InvalidParameterException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
342            Self::InvalidRequestException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
343            Self::LimitExceededException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
344            Self::MalformedPolicyDocumentException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
345            Self::PreconditionNotMetException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
346            Self::ResourceExistsException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
347            Self::ResourceNotFoundException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
348            Self::Unhandled(e) => &e.meta,
349        }
350    }
351    /// Returns `true` if the error kind is `CreateSecretError::DecryptionFailure`.
352    pub fn is_decryption_failure(&self) -> bool {
353        matches!(self, Self::DecryptionFailure(_))
354    }
355    /// Returns `true` if the error kind is `CreateSecretError::EncryptionFailure`.
356    pub fn is_encryption_failure(&self) -> bool {
357        matches!(self, Self::EncryptionFailure(_))
358    }
359    /// Returns `true` if the error kind is `CreateSecretError::InternalServiceError`.
360    pub fn is_internal_service_error(&self) -> bool {
361        matches!(self, Self::InternalServiceError(_))
362    }
363    /// Returns `true` if the error kind is `CreateSecretError::InvalidParameterException`.
364    pub fn is_invalid_parameter_exception(&self) -> bool {
365        matches!(self, Self::InvalidParameterException(_))
366    }
367    /// Returns `true` if the error kind is `CreateSecretError::InvalidRequestException`.
368    pub fn is_invalid_request_exception(&self) -> bool {
369        matches!(self, Self::InvalidRequestException(_))
370    }
371    /// Returns `true` if the error kind is `CreateSecretError::LimitExceededException`.
372    pub fn is_limit_exceeded_exception(&self) -> bool {
373        matches!(self, Self::LimitExceededException(_))
374    }
375    /// Returns `true` if the error kind is `CreateSecretError::MalformedPolicyDocumentException`.
376    pub fn is_malformed_policy_document_exception(&self) -> bool {
377        matches!(self, Self::MalformedPolicyDocumentException(_))
378    }
379    /// Returns `true` if the error kind is `CreateSecretError::PreconditionNotMetException`.
380    pub fn is_precondition_not_met_exception(&self) -> bool {
381        matches!(self, Self::PreconditionNotMetException(_))
382    }
383    /// Returns `true` if the error kind is `CreateSecretError::ResourceExistsException`.
384    pub fn is_resource_exists_exception(&self) -> bool {
385        matches!(self, Self::ResourceExistsException(_))
386    }
387    /// Returns `true` if the error kind is `CreateSecretError::ResourceNotFoundException`.
388    pub fn is_resource_not_found_exception(&self) -> bool {
389        matches!(self, Self::ResourceNotFoundException(_))
390    }
391}
392impl ::std::error::Error for CreateSecretError {
393    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
394        match self {
395            Self::DecryptionFailure(_inner) => ::std::option::Option::Some(_inner),
396            Self::EncryptionFailure(_inner) => ::std::option::Option::Some(_inner),
397            Self::InternalServiceError(_inner) => ::std::option::Option::Some(_inner),
398            Self::InvalidParameterException(_inner) => ::std::option::Option::Some(_inner),
399            Self::InvalidRequestException(_inner) => ::std::option::Option::Some(_inner),
400            Self::LimitExceededException(_inner) => ::std::option::Option::Some(_inner),
401            Self::MalformedPolicyDocumentException(_inner) => ::std::option::Option::Some(_inner),
402            Self::PreconditionNotMetException(_inner) => ::std::option::Option::Some(_inner),
403            Self::ResourceExistsException(_inner) => ::std::option::Option::Some(_inner),
404            Self::ResourceNotFoundException(_inner) => ::std::option::Option::Some(_inner),
405            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
406        }
407    }
408}
409impl ::std::fmt::Display for CreateSecretError {
410    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
411        match self {
412            Self::DecryptionFailure(_inner) => _inner.fmt(f),
413            Self::EncryptionFailure(_inner) => _inner.fmt(f),
414            Self::InternalServiceError(_inner) => _inner.fmt(f),
415            Self::InvalidParameterException(_inner) => _inner.fmt(f),
416            Self::InvalidRequestException(_inner) => _inner.fmt(f),
417            Self::LimitExceededException(_inner) => _inner.fmt(f),
418            Self::MalformedPolicyDocumentException(_inner) => _inner.fmt(f),
419            Self::PreconditionNotMetException(_inner) => _inner.fmt(f),
420            Self::ResourceExistsException(_inner) => _inner.fmt(f),
421            Self::ResourceNotFoundException(_inner) => _inner.fmt(f),
422            Self::Unhandled(_inner) => {
423                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
424                    write!(f, "unhandled error ({code})")
425                } else {
426                    f.write_str("unhandled error")
427                }
428            }
429        }
430    }
431}
432impl ::aws_smithy_types::retry::ProvideErrorKind for CreateSecretError {
433    fn code(&self) -> ::std::option::Option<&str> {
434        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
435    }
436    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
437        ::std::option::Option::None
438    }
439}
440impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for CreateSecretError {
441    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
442        match self {
443            Self::DecryptionFailure(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
444            Self::EncryptionFailure(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
445            Self::InternalServiceError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
446            Self::InvalidParameterException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
447            Self::InvalidRequestException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
448            Self::LimitExceededException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
449            Self::MalformedPolicyDocumentException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
450            Self::PreconditionNotMetException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
451            Self::ResourceExistsException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
452            Self::ResourceNotFoundException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
453            Self::Unhandled(_inner) => &_inner.meta,
454        }
455    }
456}
457impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for CreateSecretError {
458    fn create_unhandled_error(
459        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
460        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
461    ) -> Self {
462        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
463            source,
464            meta: meta.unwrap_or_default(),
465        })
466    }
467}
468impl ::aws_types::request_id::RequestId for crate::operation::create_secret::CreateSecretError {
469    fn request_id(&self) -> Option<&str> {
470        self.meta().request_id()
471    }
472}
473
474pub use crate::operation::create_secret::_create_secret_input::CreateSecretInput;
475
476pub use crate::operation::create_secret::_create_secret_output::CreateSecretOutput;
477
478mod _create_secret_input;
479
480mod _create_secret_output;
481
482/// Builders
483pub mod builders;