Skip to main content

aws_sdk_secretsmanager/operation/
put_secret_value.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2/// Orchestration and serialization glue logic for `PutSecretValue`.
3#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
4#[non_exhaustive]
5pub struct PutSecretValue;
6impl PutSecretValue {
7    /// Creates a new `PutSecretValue`
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::put_secret_value::PutSecretValueInput,
14    ) -> ::std::result::Result<
15        crate::operation::put_secret_value::PutSecretValueOutput,
16        ::aws_smithy_runtime_api::client::result::SdkError<
17            crate::operation::put_secret_value::PutSecretValueError,
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::put_secret_value::PutSecretValueError>()
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::put_secret_value::PutSecretValueOutput>()
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::put_secret_value::PutSecretValueInput,
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", "PutSecretValue", 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.PutSecretValue",
59                "rpc.service" = "Secrets Manager",
60                "rpc.method" = "PutSecretValue",
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::put_secret_value::PutSecretValueInput = 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 PutSecretValue {
95    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
96        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("PutSecretValue");
97
98        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
99            PutSecretValueRequestSerializer,
100        ));
101        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
102            PutSecretValueResponseDeserializer,
103        ));
104
105        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
106            crate::config::auth::Params::builder()
107                .operation_name("PutSecretValue")
108                .build()
109                .expect("required fields set"),
110        ));
111
112        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
113            "PutSecretValue",
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("PutSecretValue")
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                PutSecretValueEndpointParamsInterceptor,
141            ))
142            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
143                crate::operation::put_secret_value::PutSecretValueError,
144            >::new())
145            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
146                crate::operation::put_secret_value::PutSecretValueError,
147            >::new())
148            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
149                crate::operation::put_secret_value::PutSecretValueError,
150            >::new());
151
152        ::std::borrow::Cow::Owned(rcb)
153    }
154}
155
156#[derive(Debug)]
157struct PutSecretValueResponseDeserializer;
158impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for PutSecretValueResponseDeserializer {
159    fn deserialize_nonstreaming(
160        &self,
161        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
162    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
163        let (success, status) = (response.status().is_success(), response.status().as_u16());
164        let headers = response.headers();
165        let body = response.body().bytes().expect("body loaded");
166        #[allow(unused_mut)]
167        let mut force_error = false;
168        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
169        let parse_result = if !success && status != 200 || force_error {
170            crate::protocol_serde::shape_put_secret_value::de_put_secret_value_http_error(status, headers, body)
171        } else {
172            crate::protocol_serde::shape_put_secret_value::de_put_secret_value_http_response(status, headers, body)
173        };
174        crate::protocol_serde::type_erase_result(parse_result)
175    }
176}
177#[derive(Debug)]
178struct PutSecretValueRequestSerializer;
179impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for PutSecretValueRequestSerializer {
180    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
181    fn serialize_input(
182        &self,
183        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
184        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
185    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
186        let input = input
187            .downcast::<crate::operation::put_secret_value::PutSecretValueInput>()
188            .expect("correct type");
189        let _header_serialization_settings = _cfg
190            .load::<crate::serialization_settings::HeaderSerializationSettings>()
191            .cloned()
192            .unwrap_or_default();
193        let mut request_builder = {
194            #[allow(clippy::uninlined_format_args)]
195            fn uri_base(
196                _input: &crate::operation::put_secret_value::PutSecretValueInput,
197                output: &mut ::std::string::String,
198            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
199                use ::std::fmt::Write as _;
200                ::std::write!(output, "/").expect("formatting should succeed");
201                ::std::result::Result::Ok(())
202            }
203            #[allow(clippy::unnecessary_wraps)]
204            fn update_http_builder(
205                input: &crate::operation::put_secret_value::PutSecretValueInput,
206                builder: ::http_1x::request::Builder,
207            ) -> ::std::result::Result<::http_1x::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
208                let mut uri = ::std::string::String::new();
209                uri_base(input, &mut uri)?;
210                ::std::result::Result::Ok(builder.method("POST").uri(uri))
211            }
212            let mut builder = update_http_builder(&input, ::http_1x::request::Builder::new())?;
213            builder = _header_serialization_settings.set_default_header(builder, ::http_1x::header::CONTENT_TYPE, "application/x-amz-json-1.1");
214            builder = _header_serialization_settings.set_default_header(
215                builder,
216                ::http_1x::header::HeaderName::from_static("x-amz-target"),
217                "secretsmanager.PutSecretValue",
218            );
219            builder
220        };
221        let body = ::aws_smithy_types::body::SdkBody::from(crate::protocol_serde::shape_put_secret_value::ser_put_secret_value_input(&input)?);
222        if let Some(content_length) = body.content_length() {
223            let content_length = content_length.to_string();
224            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http_1x::header::CONTENT_LENGTH, &content_length);
225        }
226        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
227    }
228}
229#[derive(Debug)]
230struct PutSecretValueEndpointParamsInterceptor;
231
232#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
233impl ::aws_smithy_runtime_api::client::interceptors::Intercept for PutSecretValueEndpointParamsInterceptor {
234    fn name(&self) -> &'static str {
235        "PutSecretValueEndpointParamsInterceptor"
236    }
237
238    fn read_before_execution(
239        &self,
240        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
241            '_,
242            ::aws_smithy_runtime_api::client::interceptors::context::Input,
243            ::aws_smithy_runtime_api::client::interceptors::context::Output,
244            ::aws_smithy_runtime_api::client::interceptors::context::Error,
245        >,
246        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
247    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
248        let _input = context
249            .input()
250            .downcast_ref::<PutSecretValueInput>()
251            .ok_or("failed to downcast to PutSecretValueInput")?;
252
253        let params = crate::config::endpoint::Params::builder()
254            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
255            .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0))
256            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
257            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
258            .build()
259            .map_err(|err| {
260                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
261            })?;
262        cfg.interceptor_state()
263            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
264        ::std::result::Result::Ok(())
265    }
266}
267
268// The get_* functions below are generated from JMESPath expressions in the
269// operationContextParams trait. They target the operation's input shape.
270
271/// Error type for the `PutSecretValueError` operation.
272#[non_exhaustive]
273#[derive(::std::fmt::Debug)]
274pub enum PutSecretValueError {
275    /// <p>Secrets Manager can't decrypt the protected secret text using the provided KMS key.</p>
276    DecryptionFailure(crate::types::error::DecryptionFailure),
277    /// <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>
278    EncryptionFailure(crate::types::error::EncryptionFailure),
279    /// <p>An error occurred on the server side.</p>
280    InternalServiceError(crate::types::error::InternalServiceError),
281    /// <p>The parameter name or value is invalid.</p>
282    InvalidParameterException(crate::types::error::InvalidParameterException),
283    /// <p>A parameter value is not valid for the current state of the resource.</p>
284    /// <p>Possible causes:</p>
285    /// <ul>
286    /// <li>
287    /// <p>The secret is scheduled for deletion.</p></li>
288    /// <li>
289    /// <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>
290    /// <li>
291    /// <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>
292    /// </ul>
293    InvalidRequestException(crate::types::error::InvalidRequestException),
294    /// <p>The request failed because it would exceed one of the Secrets Manager quotas.</p>
295    LimitExceededException(crate::types::error::LimitExceededException),
296    /// <p>A resource with the ID you requested already exists.</p>
297    ResourceExistsException(crate::types::error::ResourceExistsException),
298    /// <p>Secrets Manager can't find the resource that you asked for.</p>
299    ResourceNotFoundException(crate::types::error::ResourceNotFoundException),
300    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
301    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
302    variable wildcard pattern and check `.code()`:
303     \
304    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
305     \
306    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-PutSecretValueError) for what information is available for the error.")]
307    Unhandled(crate::error::sealed_unhandled::Unhandled),
308}
309impl PutSecretValueError {
310    /// Creates the `PutSecretValueError::Unhandled` variant from any error type.
311    pub fn unhandled(
312        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
313    ) -> Self {
314        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
315            source: err.into(),
316            meta: ::std::default::Default::default(),
317        })
318    }
319
320    /// Creates the `PutSecretValueError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
321    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
322        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
323            source: err.clone().into(),
324            meta: err,
325        })
326    }
327    ///
328    /// Returns error metadata, which includes the error code, message,
329    /// request ID, and potentially additional information.
330    ///
331    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
332        match self {
333            Self::DecryptionFailure(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
334            Self::EncryptionFailure(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
335            Self::InternalServiceError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
336            Self::InvalidParameterException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
337            Self::InvalidRequestException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
338            Self::LimitExceededException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
339            Self::ResourceExistsException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
340            Self::ResourceNotFoundException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
341            Self::Unhandled(e) => &e.meta,
342        }
343    }
344    /// Returns `true` if the error kind is `PutSecretValueError::DecryptionFailure`.
345    pub fn is_decryption_failure(&self) -> bool {
346        matches!(self, Self::DecryptionFailure(_))
347    }
348    /// Returns `true` if the error kind is `PutSecretValueError::EncryptionFailure`.
349    pub fn is_encryption_failure(&self) -> bool {
350        matches!(self, Self::EncryptionFailure(_))
351    }
352    /// Returns `true` if the error kind is `PutSecretValueError::InternalServiceError`.
353    pub fn is_internal_service_error(&self) -> bool {
354        matches!(self, Self::InternalServiceError(_))
355    }
356    /// Returns `true` if the error kind is `PutSecretValueError::InvalidParameterException`.
357    pub fn is_invalid_parameter_exception(&self) -> bool {
358        matches!(self, Self::InvalidParameterException(_))
359    }
360    /// Returns `true` if the error kind is `PutSecretValueError::InvalidRequestException`.
361    pub fn is_invalid_request_exception(&self) -> bool {
362        matches!(self, Self::InvalidRequestException(_))
363    }
364    /// Returns `true` if the error kind is `PutSecretValueError::LimitExceededException`.
365    pub fn is_limit_exceeded_exception(&self) -> bool {
366        matches!(self, Self::LimitExceededException(_))
367    }
368    /// Returns `true` if the error kind is `PutSecretValueError::ResourceExistsException`.
369    pub fn is_resource_exists_exception(&self) -> bool {
370        matches!(self, Self::ResourceExistsException(_))
371    }
372    /// Returns `true` if the error kind is `PutSecretValueError::ResourceNotFoundException`.
373    pub fn is_resource_not_found_exception(&self) -> bool {
374        matches!(self, Self::ResourceNotFoundException(_))
375    }
376}
377impl ::std::error::Error for PutSecretValueError {
378    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
379        match self {
380            Self::DecryptionFailure(_inner) => ::std::option::Option::Some(_inner),
381            Self::EncryptionFailure(_inner) => ::std::option::Option::Some(_inner),
382            Self::InternalServiceError(_inner) => ::std::option::Option::Some(_inner),
383            Self::InvalidParameterException(_inner) => ::std::option::Option::Some(_inner),
384            Self::InvalidRequestException(_inner) => ::std::option::Option::Some(_inner),
385            Self::LimitExceededException(_inner) => ::std::option::Option::Some(_inner),
386            Self::ResourceExistsException(_inner) => ::std::option::Option::Some(_inner),
387            Self::ResourceNotFoundException(_inner) => ::std::option::Option::Some(_inner),
388            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
389        }
390    }
391}
392impl ::std::fmt::Display for PutSecretValueError {
393    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
394        match self {
395            Self::DecryptionFailure(_inner) => _inner.fmt(f),
396            Self::EncryptionFailure(_inner) => _inner.fmt(f),
397            Self::InternalServiceError(_inner) => _inner.fmt(f),
398            Self::InvalidParameterException(_inner) => _inner.fmt(f),
399            Self::InvalidRequestException(_inner) => _inner.fmt(f),
400            Self::LimitExceededException(_inner) => _inner.fmt(f),
401            Self::ResourceExistsException(_inner) => _inner.fmt(f),
402            Self::ResourceNotFoundException(_inner) => _inner.fmt(f),
403            Self::Unhandled(_inner) => {
404                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
405                    write!(f, "unhandled error ({code})")
406                } else {
407                    f.write_str("unhandled error")
408                }
409            }
410        }
411    }
412}
413impl ::aws_smithy_types::retry::ProvideErrorKind for PutSecretValueError {
414    fn code(&self) -> ::std::option::Option<&str> {
415        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
416    }
417    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
418        ::std::option::Option::None
419    }
420}
421impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for PutSecretValueError {
422    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
423        match self {
424            Self::DecryptionFailure(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
425            Self::EncryptionFailure(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
426            Self::InternalServiceError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
427            Self::InvalidParameterException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
428            Self::InvalidRequestException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
429            Self::LimitExceededException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
430            Self::ResourceExistsException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
431            Self::ResourceNotFoundException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
432            Self::Unhandled(_inner) => &_inner.meta,
433        }
434    }
435}
436impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for PutSecretValueError {
437    fn create_unhandled_error(
438        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
439        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
440    ) -> Self {
441        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
442            source,
443            meta: meta.unwrap_or_default(),
444        })
445    }
446}
447impl ::aws_types::request_id::RequestId for crate::operation::put_secret_value::PutSecretValueError {
448    fn request_id(&self) -> Option<&str> {
449        self.meta().request_id()
450    }
451}
452
453pub use crate::operation::put_secret_value::_put_secret_value_input::PutSecretValueInput;
454
455pub use crate::operation::put_secret_value::_put_secret_value_output::PutSecretValueOutput;
456
457mod _put_secret_value_input;
458
459mod _put_secret_value_output;
460
461/// Builders
462pub mod builders;