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