AWS SDK

AWS SDK

rev. 3388bf5e18f4269f2b46f39cdc814c5c39d413d0

Files changed:

tmp-codegen-diff/aws-sdk/sdk/ssm/src/operation/get_parameter/_get_parameter_input.rs

@@ -0,1 +0,183 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
#[allow(missing_docs)] // documentation missing in model
           3  +
#[non_exhaustive]
           4  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
           5  +
pub struct GetParameterInput {
           6  +
    /// <p>The name or Amazon Resource Name (ARN) of the parameter that you want to query. For parameters shared with you from another account, you must use the full ARN.</p>
           7  +
    /// <p>To query by parameter label, use <code>"Name": "name:label"</code>. To query by parameter version, use <code>"Name": "name:version"</code>.</p>
           8  +
    /// <p>For more information about shared parameters, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-shared-parameters.html">Working with shared parameters</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
           9  +
    pub name: ::std::option::Option<::std::string::String>,
          10  +
    /// <p>Return decrypted values for secure string parameters. This flag is ignored for <code>String</code> and <code>StringList</code> parameter types.</p>
          11  +
    pub with_decryption: ::std::option::Option<bool>,
          12  +
}
          13  +
impl GetParameterInput {
          14  +
    /// <p>The name or Amazon Resource Name (ARN) of the parameter that you want to query. For parameters shared with you from another account, you must use the full ARN.</p>
          15  +
    /// <p>To query by parameter label, use <code>"Name": "name:label"</code>. To query by parameter version, use <code>"Name": "name:version"</code>.</p>
          16  +
    /// <p>For more information about shared parameters, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-shared-parameters.html">Working with shared parameters</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
          17  +
    pub fn name(&self) -> ::std::option::Option<&str> {
          18  +
        self.name.as_deref()
          19  +
    }
          20  +
    /// <p>Return decrypted values for secure string parameters. This flag is ignored for <code>String</code> and <code>StringList</code> parameter types.</p>
          21  +
    pub fn with_decryption(&self) -> ::std::option::Option<bool> {
          22  +
        self.with_decryption
          23  +
    }
          24  +
}
          25  +
static GETPARAMETERINPUT_MEMBER_NAME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          26  +
    ::aws_smithy_schema::ShapeId::from_parts(
          27  +
        "com.amazonaws.ssm.synthetic#GetParameterInput$Name",
          28  +
        "com.amazonaws.ssm.synthetic",
          29  +
        "GetParameterInput",
          30  +
    ),
          31  +
    ::aws_smithy_schema::ShapeType::String,
          32  +
    "Name",
          33  +
    0,
          34  +
);
          35  +
static GETPARAMETERINPUT_MEMBER_WITH_DECRYPTION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          36  +
    ::aws_smithy_schema::ShapeId::from_parts(
          37  +
        "com.amazonaws.ssm.synthetic#GetParameterInput$WithDecryption",
          38  +
        "com.amazonaws.ssm.synthetic",
          39  +
        "GetParameterInput",
          40  +
    ),
          41  +
    ::aws_smithy_schema::ShapeType::Boolean,
          42  +
    "WithDecryption",
          43  +
    1,
          44  +
);
          45  +
static GETPARAMETERINPUT_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
          46  +
    ::aws_smithy_schema::ShapeId::from_parts(
          47  +
        "com.amazonaws.ssm.synthetic#GetParameterInput",
          48  +
        "com.amazonaws.ssm.synthetic",
          49  +
        "GetParameterInput",
          50  +
    ),
          51  +
    ::aws_smithy_schema::ShapeType::Structure,
          52  +
    &[&GETPARAMETERINPUT_MEMBER_NAME, &GETPARAMETERINPUT_MEMBER_WITH_DECRYPTION],
          53  +
)
          54  +
.with_payload_hint(::aws_smithy_schema::PayloadHint::NoStructPayload)
          55  +
.with_original_name("GetParameterRequest");
          56  +
impl GetParameterInput {
          57  +
    /// The schema for this shape.
          58  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &GETPARAMETERINPUT_SCHEMA;
          59  +
}
          60  +
impl ::aws_smithy_schema::serde::SerializableStruct for GetParameterInput {
          61  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
          62  +
    fn serialize_members(
          63  +
        &self,
          64  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
          65  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
          66  +
        if let Some(ref val) = self.name {
          67  +
            ser.write_string(&GETPARAMETERINPUT_MEMBER_NAME, val)?;
          68  +
        }
          69  +
        if let Some(ref val) = self.with_decryption {
          70  +
            ser.write_boolean(&GETPARAMETERINPUT_MEMBER_WITH_DECRYPTION, *val)?;
          71  +
        }
          72  +
        Ok(())
          73  +
    }
          74  +
}
          75  +
impl GetParameterInput {
          76  +
    /// Deserializes this structure from a [`ShapeDeserializer`].
          77  +
    pub fn deserialize(
          78  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          79  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          80  +
        #[allow(unused_variables, unused_mut)]
          81  +
        let mut builder = Self::builder();
          82  +
        #[allow(
          83  +
            unused_variables,
          84  +
            unreachable_code,
          85  +
            clippy::single_match,
          86  +
            clippy::match_single_binding,
          87  +
            clippy::diverging_sub_expression
          88  +
        )]
          89  +
        deserializer.read_struct(&GETPARAMETERINPUT_SCHEMA, &mut |member, deser| {
          90  +
            match member.member_index() {
          91  +
                Some(0) => {
          92  +
                    if deser.is_null() {
          93  +
                        deser.read_null()?;
          94  +
                    } else {
          95  +
                        builder.name = Some(deser.read_string(member)?);
          96  +
                    }
          97  +
                }
          98  +
                Some(1) => {
          99  +
                    if deser.is_null() {
         100  +
                        deser.read_null()?;
         101  +
                    } else {
         102  +
                        builder.with_decryption = Some(deser.read_boolean(member)?);
         103  +
                    }
         104  +
                }
         105  +
                _ => {}
         106  +
            }
         107  +
            Ok(())
         108  +
        })?;
         109  +
        builder.name = builder.name.or(Some(String::new()));
         110  +
        builder.build().map_err(|e| aws_smithy_schema::serde::SerdeError::custom(e.to_string()))
         111  +
    }
         112  +
}
         113  +
impl GetParameterInput {
         114  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         115  +
    pub fn deserialize_with_response(
         116  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         117  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         118  +
        _status: u16,
         119  +
        _body: &[u8],
         120  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         121  +
        Self::deserialize(deserializer)
         122  +
    }
         123  +
}
         124  +
impl GetParameterInput {
         125  +
    /// Creates a new builder-style object to manufacture [`GetParameterInput`](crate::operation::get_parameter::GetParameterInput).
         126  +
    pub fn builder() -> crate::operation::get_parameter::builders::GetParameterInputBuilder {
         127  +
        crate::operation::get_parameter::builders::GetParameterInputBuilder::default()
         128  +
    }
         129  +
}
         130  +
         131  +
/// A builder for [`GetParameterInput`](crate::operation::get_parameter::GetParameterInput).
         132  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         133  +
#[non_exhaustive]
         134  +
pub struct GetParameterInputBuilder {
         135  +
    pub(crate) name: ::std::option::Option<::std::string::String>,
         136  +
    pub(crate) with_decryption: ::std::option::Option<bool>,
         137  +
}
         138  +
impl GetParameterInputBuilder {
         139  +
    /// <p>The name or Amazon Resource Name (ARN) of the parameter that you want to query. For parameters shared with you from another account, you must use the full ARN.</p>
         140  +
    /// <p>To query by parameter label, use <code>"Name": "name:label"</code>. To query by parameter version, use <code>"Name": "name:version"</code>.</p>
         141  +
    /// <p>For more information about shared parameters, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-shared-parameters.html">Working with shared parameters</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
         142  +
    /// This field is required.
         143  +
    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         144  +
        self.name = ::std::option::Option::Some(input.into());
         145  +
        self
         146  +
    }
         147  +
    /// <p>The name or Amazon Resource Name (ARN) of the parameter that you want to query. For parameters shared with you from another account, you must use the full ARN.</p>
         148  +
    /// <p>To query by parameter label, use <code>"Name": "name:label"</code>. To query by parameter version, use <code>"Name": "name:version"</code>.</p>
         149  +
    /// <p>For more information about shared parameters, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-shared-parameters.html">Working with shared parameters</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
         150  +
    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         151  +
        self.name = input;
         152  +
        self
         153  +
    }
         154  +
    /// <p>The name or Amazon Resource Name (ARN) of the parameter that you want to query. For parameters shared with you from another account, you must use the full ARN.</p>
         155  +
    /// <p>To query by parameter label, use <code>"Name": "name:label"</code>. To query by parameter version, use <code>"Name": "name:version"</code>.</p>
         156  +
    /// <p>For more information about shared parameters, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-shared-parameters.html">Working with shared parameters</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
         157  +
    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
         158  +
        &self.name
         159  +
    }
         160  +
    /// <p>Return decrypted values for secure string parameters. This flag is ignored for <code>String</code> and <code>StringList</code> parameter types.</p>
         161  +
    pub fn with_decryption(mut self, input: bool) -> Self {
         162  +
        self.with_decryption = ::std::option::Option::Some(input);
         163  +
        self
         164  +
    }
         165  +
    /// <p>Return decrypted values for secure string parameters. This flag is ignored for <code>String</code> and <code>StringList</code> parameter types.</p>
         166  +
    pub fn set_with_decryption(mut self, input: ::std::option::Option<bool>) -> Self {
         167  +
        self.with_decryption = input;
         168  +
        self
         169  +
    }
         170  +
    /// <p>Return decrypted values for secure string parameters. This flag is ignored for <code>String</code> and <code>StringList</code> parameter types.</p>
         171  +
    pub fn get_with_decryption(&self) -> &::std::option::Option<bool> {
         172  +
        &self.with_decryption
         173  +
    }
         174  +
    /// Consumes the builder and constructs a [`GetParameterInput`](crate::operation::get_parameter::GetParameterInput).
         175  +
    pub fn build(
         176  +
        self,
         177  +
    ) -> ::std::result::Result<crate::operation::get_parameter::GetParameterInput, ::aws_smithy_types::error::operation::BuildError> {
         178  +
        ::std::result::Result::Ok(crate::operation::get_parameter::GetParameterInput {
         179  +
            name: self.name,
         180  +
            with_decryption: self.with_decryption,
         181  +
        })
         182  +
    }
         183  +
}

tmp-codegen-diff/aws-sdk/sdk/ssm/src/operation/get_parameter/_get_parameter_output.rs

@@ -0,1 +0,183 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
#[allow(missing_docs)] // documentation missing in model
           3  +
#[non_exhaustive]
           4  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
           5  +
pub struct GetParameterOutput {
           6  +
    /// <p>Information about a parameter.</p>
           7  +
    pub parameter: ::std::option::Option<crate::types::Parameter>,
           8  +
    _request_id: Option<String>,
           9  +
}
          10  +
impl GetParameterOutput {
          11  +
    /// <p>Information about a parameter.</p>
          12  +
    pub fn parameter(&self) -> ::std::option::Option<&crate::types::Parameter> {
          13  +
        self.parameter.as_ref()
          14  +
    }
          15  +
}
          16  +
static GETPARAMETEROUTPUT_MEMBER_PARAMETER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          17  +
    ::aws_smithy_schema::ShapeId::from_parts(
          18  +
        "com.amazonaws.ssm.synthetic#GetParameterOutput$Parameter",
          19  +
        "com.amazonaws.ssm.synthetic",
          20  +
        "GetParameterOutput",
          21  +
    ),
          22  +
    ::aws_smithy_schema::ShapeType::Structure,
          23  +
    "Parameter",
          24  +
    0,
          25  +
);
          26  +
static GETPARAMETEROUTPUT_MEMBER__REQUEST_ID: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          27  +
    ::aws_smithy_schema::ShapeId::from_parts("synthetic#request_id", "synthetic", "request_id"),
          28  +
    ::aws_smithy_schema::ShapeType::String,
          29  +
    "request_id",
          30  +
    1,
          31  +
)
          32  +
.with_http_header("x-amzn-requestid");
          33  +
static GETPARAMETEROUTPUT_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
          34  +
    ::aws_smithy_schema::ShapeId::from_parts(
          35  +
        "com.amazonaws.ssm.synthetic#GetParameterOutput",
          36  +
        "com.amazonaws.ssm.synthetic",
          37  +
        "GetParameterOutput",
          38  +
    ),
          39  +
    ::aws_smithy_schema::ShapeType::Structure,
          40  +
    &[&GETPARAMETEROUTPUT_MEMBER_PARAMETER, &GETPARAMETEROUTPUT_MEMBER__REQUEST_ID],
          41  +
)
          42  +
.with_original_name("GetParameterResult");
          43  +
impl GetParameterOutput {
          44  +
    /// The schema for this shape.
          45  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &GETPARAMETEROUTPUT_SCHEMA;
          46  +
}
          47  +
impl ::aws_smithy_schema::serde::SerializableStruct for GetParameterOutput {
          48  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
          49  +
    fn serialize_members(
          50  +
        &self,
          51  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
          52  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
          53  +
        if let Some(ref val) = self.parameter {
          54  +
            ser.write_struct(&GETPARAMETEROUTPUT_MEMBER_PARAMETER, val)?;
          55  +
        }
          56  +
        Ok(())
          57  +
    }
          58  +
}
          59  +
impl GetParameterOutput {
          60  +
    /// Deserializes this structure from a [`ShapeDeserializer`].
          61  +
    pub fn deserialize(
          62  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          63  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          64  +
        #[allow(unused_variables, unused_mut)]
          65  +
        let mut builder = Self::builder();
          66  +
        #[allow(
          67  +
            unused_variables,
          68  +
            unreachable_code,
          69  +
            clippy::single_match,
          70  +
            clippy::match_single_binding,
          71  +
            clippy::diverging_sub_expression
          72  +
        )]
          73  +
        deserializer.read_struct(&GETPARAMETEROUTPUT_SCHEMA, &mut |member, deser| {
          74  +
            match member.member_index() {
          75  +
                Some(0) => {
          76  +
                    if deser.is_null() {
          77  +
                        deser.read_null()?;
          78  +
                    } else {
          79  +
                        builder.parameter = Some(crate::types::Parameter::deserialize(deser)?);
          80  +
                    }
          81  +
                }
          82  +
                Some(1) => {
          83  +
                    builder._request_id = Some(deser.read_string(member)?);
          84  +
                }
          85  +
                _ => {}
          86  +
            }
          87  +
            Ok(())
          88  +
        })?;
          89  +
        Ok(builder.build())
          90  +
    }
          91  +
}
          92  +
impl GetParameterOutput {
          93  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
          94  +
    /// Header-bound members are read directly from headers, avoiding runtime
          95  +
    /// member iteration overhead. Body members are read via the deserializer.
          96  +
    pub fn deserialize_with_response(
          97  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          98  +
        headers: &::aws_smithy_runtime_api::http::Headers,
          99  +
        _status: u16,
         100  +
        _body: &[u8],
         101  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         102  +
        #[allow(unused_variables, unused_mut)]
         103  +
        let mut builder = Self::builder();
         104  +
        if let Some(val) = headers.get("x-amzn-requestid") {
         105  +
            builder._request_id = Some(val.to_string());
         106  +
        }
         107  +
         108  +
        #[allow(
         109  +
            unused_variables,
         110  +
            unreachable_code,
         111  +
            clippy::single_match,
         112  +
            clippy::match_single_binding,
         113  +
            clippy::diverging_sub_expression
         114  +
        )]
         115  +
        deserializer.read_struct(&GETPARAMETEROUTPUT_SCHEMA, &mut |member, deser| {
         116  +
            match member.member_index() {
         117  +
                Some(0) => {
         118  +
                    builder.parameter = Some(crate::types::Parameter::deserialize(deser)?);
         119  +
                }
         120  +
                _ => {}
         121  +
            }
         122  +
            Ok(())
         123  +
        })?;
         124  +
        Ok(builder.build())
         125  +
    }
         126  +
}
         127  +
impl ::aws_types::request_id::RequestId for GetParameterOutput {
         128  +
    fn request_id(&self) -> Option<&str> {
         129  +
        self._request_id.as_deref()
         130  +
    }
         131  +
}
         132  +
impl GetParameterOutput {
         133  +
    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
         134  +
        self._request_id = request_id;
         135  +
        self
         136  +
    }
         137  +
}
         138  +
impl GetParameterOutput {
         139  +
    /// Creates a new builder-style object to manufacture [`GetParameterOutput`](crate::operation::get_parameter::GetParameterOutput).
         140  +
    pub fn builder() -> crate::operation::get_parameter::builders::GetParameterOutputBuilder {
         141  +
        crate::operation::get_parameter::builders::GetParameterOutputBuilder::default()
         142  +
    }
         143  +
}
         144  +
         145  +
/// A builder for [`GetParameterOutput`](crate::operation::get_parameter::GetParameterOutput).
         146  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         147  +
#[non_exhaustive]
         148  +
pub struct GetParameterOutputBuilder {
         149  +
    pub(crate) parameter: ::std::option::Option<crate::types::Parameter>,
         150  +
    _request_id: Option<String>,
         151  +
}
         152  +
impl GetParameterOutputBuilder {
         153  +
    /// <p>Information about a parameter.</p>
         154  +
    pub fn parameter(mut self, input: crate::types::Parameter) -> Self {
         155  +
        self.parameter = ::std::option::Option::Some(input);
         156  +
        self
         157  +
    }
         158  +
    /// <p>Information about a parameter.</p>
         159  +
    pub fn set_parameter(mut self, input: ::std::option::Option<crate::types::Parameter>) -> Self {
         160  +
        self.parameter = input;
         161  +
        self
         162  +
    }
         163  +
    /// <p>Information about a parameter.</p>
         164  +
    pub fn get_parameter(&self) -> &::std::option::Option<crate::types::Parameter> {
         165  +
        &self.parameter
         166  +
    }
         167  +
    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
         168  +
        self._request_id = Some(request_id.into());
         169  +
        self
         170  +
    }
         171  +
         172  +
    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
         173  +
        self._request_id = request_id;
         174  +
        self
         175  +
    }
         176  +
    /// Consumes the builder and constructs a [`GetParameterOutput`](crate::operation::get_parameter::GetParameterOutput).
         177  +
    pub fn build(self) -> crate::operation::get_parameter::GetParameterOutput {
         178  +
        crate::operation::get_parameter::GetParameterOutput {
         179  +
            parameter: self.parameter,
         180  +
            _request_id: self._request_id,
         181  +
        }
         182  +
    }
         183  +
}

tmp-codegen-diff/aws-sdk/sdk/ssm/src/operation/get_parameter/builders.rs

@@ -0,1 +0,151 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
pub use crate::operation::get_parameter::_get_parameter_input::GetParameterInputBuilder;
           3  +
           4  +
pub use crate::operation::get_parameter::_get_parameter_output::GetParameterOutputBuilder;
           5  +
           6  +
impl crate::operation::get_parameter::builders::GetParameterInputBuilder {
           7  +
    /// Sends a request with this input using the given client.
           8  +
    pub async fn send_with(
           9  +
        self,
          10  +
        client: &crate::Client,
          11  +
    ) -> ::std::result::Result<
          12  +
        crate::operation::get_parameter::GetParameterOutput,
          13  +
        ::aws_smithy_runtime_api::client::result::SdkError<
          14  +
            crate::operation::get_parameter::GetParameterError,
          15  +
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
          16  +
        >,
          17  +
    > {
          18  +
        let mut fluent_builder = client.get_parameter();
          19  +
        fluent_builder.inner = self;
          20  +
        fluent_builder.send().await
          21  +
    }
          22  +
}
          23  +
/// Fluent builder constructing a request to `GetParameter`.
          24  +
///
          25  +
/// <p>Get information about a single parameter by specifying the parameter name.</p>
          26  +
/// <p>Parameter names can't contain spaces. The service removes any spaces specified for the beginning or end of a parameter name. If the specified name for a parameter contains spaces between characters, the request fails with a <code>ValidationException</code> error.</p><note>
          27  +
/// <p>To get information about more than one parameter at a time, use the <code>GetParameters</code> operation.</p>
          28  +
/// </note> <note>
          29  +
/// <p>Parameter Store throughput defines the number of API transactions per second (TPS) that Systems Manager can process. This applies to <code>GetParameter</code>, <code>GetParameters</code>, and <code>PutParameter</code> API calls for your Amazon Web Services account and Amazon Web Services Region. By default, Parameter Store is configured with a standard throughput quota suitable for low- to moderate-volume workloads. Applications that retrieve configuration data infrequently or operate at smaller scale can use this default setting without additional cost.</p>
          30  +
/// <p>For higher-volume workloads, you can enable higher throughput. This increases the maximum number of supported transactions per second for your account and Region. Increased throughput supports applications and workloads that need concurrent access to multiple parameters. If you experience <code>ThrottlingException: Rate exceeded</code> errors, enable higher throughput. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-throughput.html">Changing Parameter Store throughput</a>.</p>
          31  +
/// </note>
          32  +
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
          33  +
pub struct GetParameterFluentBuilder {
          34  +
    handle: ::std::sync::Arc<crate::client::Handle>,
          35  +
    inner: crate::operation::get_parameter::builders::GetParameterInputBuilder,
          36  +
    config_override: ::std::option::Option<crate::config::Builder>,
          37  +
}
          38  +
impl
          39  +
    crate::client::customize::internal::CustomizableSend<
          40  +
        crate::operation::get_parameter::GetParameterOutput,
          41  +
        crate::operation::get_parameter::GetParameterError,
          42  +
    > for GetParameterFluentBuilder
          43  +
{
          44  +
    fn send(
          45  +
        self,
          46  +
        config_override: crate::config::Builder,
          47  +
    ) -> crate::client::customize::internal::BoxFuture<
          48  +
        crate::client::customize::internal::SendResult<
          49  +
            crate::operation::get_parameter::GetParameterOutput,
          50  +
            crate::operation::get_parameter::GetParameterError,
          51  +
        >,
          52  +
    > {
          53  +
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
          54  +
    }
          55  +
}
          56  +
impl GetParameterFluentBuilder {
          57  +
    /// Creates a new `GetParameterFluentBuilder`.
          58  +
    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
          59  +
        Self {
          60  +
            handle,
          61  +
            inner: ::std::default::Default::default(),
          62  +
            config_override: ::std::option::Option::None,
          63  +
        }
          64  +
    }
          65  +
    /// Access the GetParameter as a reference.
          66  +
    pub fn as_input(&self) -> &crate::operation::get_parameter::builders::GetParameterInputBuilder {
          67  +
        &self.inner
          68  +
    }
          69  +
    /// Sends the request and returns the response.
          70  +
    ///
          71  +
    /// If an error occurs, an `SdkError` will be returned with additional details that
          72  +
    /// can be matched against.
          73  +
    ///
          74  +
    /// By default, any retryable failures will be retried twice. Retry behavior
          75  +
    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
          76  +
    /// set when configuring the client.
          77  +
    pub async fn send(
          78  +
        self,
          79  +
    ) -> ::std::result::Result<
          80  +
        crate::operation::get_parameter::GetParameterOutput,
          81  +
        ::aws_smithy_runtime_api::client::result::SdkError<
          82  +
            crate::operation::get_parameter::GetParameterError,
          83  +
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
          84  +
        >,
          85  +
    > {
          86  +
        let input = self
          87  +
            .inner
          88  +
            .build()
          89  +
            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
          90  +
        let runtime_plugins = crate::operation::get_parameter::GetParameter::operation_runtime_plugins(
          91  +
            self.handle.runtime_plugins.clone(),
          92  +
            &self.handle.conf,
          93  +
            self.config_override,
          94  +
        );
          95  +
        crate::operation::get_parameter::GetParameter::orchestrate(&runtime_plugins, input).await
          96  +
    }
          97  +
          98  +
    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
          99  +
    pub fn customize(
         100  +
        self,
         101  +
    ) -> crate::client::customize::CustomizableOperation<
         102  +
        crate::operation::get_parameter::GetParameterOutput,
         103  +
        crate::operation::get_parameter::GetParameterError,
         104  +
        Self,
         105  +
    > {
         106  +
        crate::client::customize::CustomizableOperation::new(self)
         107  +
    }
         108  +
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
         109  +
        self.set_config_override(::std::option::Option::Some(config_override.into()));
         110  +
        self
         111  +
    }
         112  +
         113  +
    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
         114  +
        self.config_override = config_override;
         115  +
        self
         116  +
    }
         117  +
    /// <p>The name or Amazon Resource Name (ARN) of the parameter that you want to query. For parameters shared with you from another account, you must use the full ARN.</p>
         118  +
    /// <p>To query by parameter label, use <code>"Name": "name:label"</code>. To query by parameter version, use <code>"Name": "name:version"</code>.</p>
         119  +
    /// <p>For more information about shared parameters, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-shared-parameters.html">Working with shared parameters</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
         120  +
    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         121  +
        self.inner = self.inner.name(input.into());
         122  +
        self
         123  +
    }
         124  +
    /// <p>The name or Amazon Resource Name (ARN) of the parameter that you want to query. For parameters shared with you from another account, you must use the full ARN.</p>
         125  +
    /// <p>To query by parameter label, use <code>"Name": "name:label"</code>. To query by parameter version, use <code>"Name": "name:version"</code>.</p>
         126  +
    /// <p>For more information about shared parameters, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-shared-parameters.html">Working with shared parameters</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
         127  +
    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         128  +
        self.inner = self.inner.set_name(input);
         129  +
        self
         130  +
    }
         131  +
    /// <p>The name or Amazon Resource Name (ARN) of the parameter that you want to query. For parameters shared with you from another account, you must use the full ARN.</p>
         132  +
    /// <p>To query by parameter label, use <code>"Name": "name:label"</code>. To query by parameter version, use <code>"Name": "name:version"</code>.</p>
         133  +
    /// <p>For more information about shared parameters, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-shared-parameters.html">Working with shared parameters</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
         134  +
    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
         135  +
        self.inner.get_name()
         136  +
    }
         137  +
    /// <p>Return decrypted values for secure string parameters. This flag is ignored for <code>String</code> and <code>StringList</code> parameter types.</p>
         138  +
    pub fn with_decryption(mut self, input: bool) -> Self {
         139  +
        self.inner = self.inner.with_decryption(input);
         140  +
        self
         141  +
    }
         142  +
    /// <p>Return decrypted values for secure string parameters. This flag is ignored for <code>String</code> and <code>StringList</code> parameter types.</p>
         143  +
    pub fn set_with_decryption(mut self, input: ::std::option::Option<bool>) -> Self {
         144  +
        self.inner = self.inner.set_with_decryption(input);
         145  +
        self
         146  +
    }
         147  +
    /// <p>Return decrypted values for secure string parameters. This flag is ignored for <code>String</code> and <code>StringList</code> parameter types.</p>
         148  +
    pub fn get_with_decryption(&self) -> &::std::option::Option<bool> {
         149  +
        self.inner.get_with_decryption()
         150  +
    }
         151  +
}

tmp-codegen-diff/aws-sdk/sdk/ssm/src/operation/get_parameter_history.rs

@@ -0,1 +0,649 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/// Orchestration and serialization glue logic for `GetParameterHistory`.
           3  +
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
           4  +
#[non_exhaustive]
           5  +
pub struct GetParameterHistory;
           6  +
impl GetParameterHistory {
           7  +
    /// Creates a new `GetParameterHistory`
           8  +
    pub fn new() -> Self {
           9  +
        Self
          10  +
    }
          11  +
    /// The schema for this operation's input shape.
          12  +
    pub const INPUT_SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = crate::operation::get_parameter_history::GetParameterHistoryInput::SCHEMA;
          13  +
    /// The schema for this operation's output shape.
          14  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema<'static> =
          15  +
        crate::operation::get_parameter_history::GetParameterHistoryOutput::SCHEMA;
          16  +
    pub(crate) async fn orchestrate(
          17  +
        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
          18  +
        input: crate::operation::get_parameter_history::GetParameterHistoryInput,
          19  +
    ) -> ::std::result::Result<
          20  +
        crate::operation::get_parameter_history::GetParameterHistoryOutput,
          21  +
        ::aws_smithy_runtime_api::client::result::SdkError<
          22  +
            crate::operation::get_parameter_history::GetParameterHistoryError,
          23  +
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
          24  +
        >,
          25  +
    > {
          26  +
        let map_err = |err: ::aws_smithy_runtime_api::client::result::SdkError<
          27  +
            ::aws_smithy_runtime_api::client::interceptors::context::Error,
          28  +
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
          29  +
        >| {
          30  +
            err.map_service_error(|err| {
          31  +
                err.downcast::<crate::operation::get_parameter_history::GetParameterHistoryError>()
          32  +
                    .expect("correct error type")
          33  +
            })
          34  +
        };
          35  +
        let context = Self::orchestrate_with_stop_point(runtime_plugins, input, ::aws_smithy_runtime::client::orchestrator::StopPoint::None)
          36  +
            .await
          37  +
            .map_err(map_err)?;
          38  +
        let output = context.finalize().map_err(map_err)?;
          39  +
        ::std::result::Result::Ok(
          40  +
            output
          41  +
                .downcast::<crate::operation::get_parameter_history::GetParameterHistoryOutput>()
          42  +
                .expect("correct output type"),
          43  +
        )
          44  +
    }
          45  +
          46  +
    pub(crate) async fn orchestrate_with_stop_point(
          47  +
        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
          48  +
        input: crate::operation::get_parameter_history::GetParameterHistoryInput,
          49  +
        stop_point: ::aws_smithy_runtime::client::orchestrator::StopPoint,
          50  +
    ) -> ::std::result::Result<
          51  +
        ::aws_smithy_runtime_api::client::interceptors::context::InterceptorContext,
          52  +
        ::aws_smithy_runtime_api::client::result::SdkError<
          53  +
            ::aws_smithy_runtime_api::client::interceptors::context::Error,
          54  +
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
          55  +
        >,
          56  +
    > {
          57  +
        let input = ::aws_smithy_runtime_api::client::interceptors::context::Input::erase(input);
          58  +
        use ::tracing::Instrument;
          59  +
        ::aws_smithy_runtime::client::orchestrator::invoke_with_stop_point("SSM", "GetParameterHistory", input, runtime_plugins, stop_point)
          60  +
            // Create a parent span for the entire operation. Includes a random, internal-only,
          61  +
            // seven-digit ID for the operation orchestration so that it can be correlated in the logs.
          62  +
            .instrument(::tracing::debug_span!(
          63  +
                "SSM.GetParameterHistory",
          64  +
                "rpc.service" = "SSM",
          65  +
                "rpc.method" = "GetParameterHistory",
          66  +
                "sdk_invocation_id" = ::fastrand::u32(1_000_000..10_000_000),
          67  +
                "rpc.system" = "aws-api",
          68  +
            ))
          69  +
            .await
          70  +
    }
          71  +
          72  +
    pub(crate) fn operation_runtime_plugins(
          73  +
        client_runtime_plugins: ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
          74  +
        client_config: &crate::config::Config,
          75  +
        config_override: ::std::option::Option<crate::config::Builder>,
          76  +
    ) -> ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins {
          77  +
        let mut runtime_plugins = client_runtime_plugins.with_operation_plugin(Self::new());
          78  +
          79  +
        if let ::std::option::Option::Some(config_override) = config_override {
          80  +
            for plugin in config_override.runtime_plugins.iter().cloned() {
          81  +
                runtime_plugins = runtime_plugins.with_operation_plugin(plugin);
          82  +
            }
          83  +
            runtime_plugins = runtime_plugins.with_operation_plugin(crate::config::ConfigOverrideRuntimePlugin::new(
          84  +
                config_override,
          85  +
                client_config.config.clone(),
          86  +
                &client_config.runtime_components,
          87  +
            ));
          88  +
        }
          89  +
        runtime_plugins
          90  +
    }
          91  +
}
          92  +
/// Per-operation error registry. Contains an entry for every modeled
          93  +
/// error this operation can throw.
          94  +
///
          95  +
/// Used by the schema-serde error path as the operation-scoped lookup
          96  +
/// for registry-backed error reification: an error code that does not
          97  +
/// match one of the operation's modeled errors directly is resolved
          98  +
/// against this registry first, then widened to the service-wide error
          99  +
/// registry.
         100  +
pub(crate) mod error_registry {
         101  +
    pub(crate) static REGISTRY: ::std::sync::LazyLock<::aws_smithy_schema::registry::TypeRegistry> = ::std::sync::LazyLock::new(|| {
         102  +
        ::aws_smithy_schema::registry::TypeRegistry::builder()
         103  +
                            .insert_error_shape(
         104  +
                        crate::types::error::InternalServerError::SCHEMA,
         105  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::aws_smithy_types::type_erasure::TypeErasedBox, ::aws_smithy_schema::serde::SerdeError> {
         106  +
                            ::std::result::Result::Ok(::aws_smithy_types::type_erasure::TypeErasedBox::new(crate::types::error::InternalServerError::deserialize(d)?))
         107  +
                        },
         108  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync>, ::aws_smithy_schema::serde::SerdeError> {
         109  +
                            ::std::result::Result::Ok(::std::boxed::Box::new(crate::types::error::InternalServerError::deserialize(d)?))
         110  +
                        },
         111  +
                    )
         112  +
.insert_error_shape(
         113  +
                        crate::types::error::InvalidKeyId::SCHEMA,
         114  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::aws_smithy_types::type_erasure::TypeErasedBox, ::aws_smithy_schema::serde::SerdeError> {
         115  +
                            ::std::result::Result::Ok(::aws_smithy_types::type_erasure::TypeErasedBox::new(crate::types::error::InvalidKeyId::deserialize(d)?))
         116  +
                        },
         117  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync>, ::aws_smithy_schema::serde::SerdeError> {
         118  +
                            ::std::result::Result::Ok(::std::boxed::Box::new(crate::types::error::InvalidKeyId::deserialize(d)?))
         119  +
                        },
         120  +
                    )
         121  +
.insert_error_shape(
         122  +
                        crate::types::error::InvalidNextToken::SCHEMA,
         123  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::aws_smithy_types::type_erasure::TypeErasedBox, ::aws_smithy_schema::serde::SerdeError> {
         124  +
                            ::std::result::Result::Ok(::aws_smithy_types::type_erasure::TypeErasedBox::new(crate::types::error::InvalidNextToken::deserialize(d)?))
         125  +
                        },
         126  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync>, ::aws_smithy_schema::serde::SerdeError> {
         127  +
                            ::std::result::Result::Ok(::std::boxed::Box::new(crate::types::error::InvalidNextToken::deserialize(d)?))
         128  +
                        },
         129  +
                    )
         130  +
.insert_error_shape(
         131  +
                        crate::types::error::ParameterNotFound::SCHEMA,
         132  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::aws_smithy_types::type_erasure::TypeErasedBox, ::aws_smithy_schema::serde::SerdeError> {
         133  +
                            ::std::result::Result::Ok(::aws_smithy_types::type_erasure::TypeErasedBox::new(crate::types::error::ParameterNotFound::deserialize(d)?))
         134  +
                        },
         135  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync>, ::aws_smithy_schema::serde::SerdeError> {
         136  +
                            ::std::result::Result::Ok(::std::boxed::Box::new(crate::types::error::ParameterNotFound::deserialize(d)?))
         137  +
                        },
         138  +
                    )
         139  +
                            .build()
         140  +
    });
         141  +
}
         142  +
impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for GetParameterHistory {
         143  +
    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
         144  +
        let mut cfg = ::aws_smithy_types::config_bag::Layer::new("GetParameterHistory");
         145  +
         146  +
        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new(
         147  +
            GetParameterHistoryRequestSerializer,
         148  +
        ));
         149  +
        cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new(
         150  +
            GetParameterHistoryResponseDeserializer,
         151  +
        ));
         152  +
         153  +
        cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new(
         154  +
            crate::config::auth::Params::builder()
         155  +
                .operation_name("GetParameterHistory")
         156  +
                .build()
         157  +
                .expect("required fields set"),
         158  +
        ));
         159  +
         160  +
        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::SensitiveOutput);
         161  +
        cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new(
         162  +
            "GetParameterHistory",
         163  +
            "SSM",
         164  +
        ));
         165  +
        let mut signing_options = ::aws_runtime::auth::SigningOptions::default();
         166  +
        signing_options.double_uri_encode = true;
         167  +
        signing_options.content_sha256_header = false;
         168  +
        signing_options.normalize_uri_path = true;
         169  +
        signing_options.payload_override = None;
         170  +
         171  +
        cfg.store_put(::aws_runtime::auth::SigV4OperationSigningConfig {
         172  +
            signing_options,
         173  +
            ..::std::default::Default::default()
         174  +
        });
         175  +
         176  +
        ::std::option::Option::Some(cfg.freeze())
         177  +
    }
         178  +
         179  +
    fn runtime_components(
         180  +
        &self,
         181  +
        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
         182  +
    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
         183  +
        #[allow(unused_mut)]
         184  +
        let mut rcb = ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("GetParameterHistory")
         185  +
            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
         186  +
                GetParameterHistoryTelemetryInputCaptureInterceptor,
         187  +
            ))
         188  +
            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
         189  +
                ::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default(),
         190  +
            ))
         191  +
            .with_interceptor(::aws_smithy_runtime_api::client::interceptors::SharedInterceptor::permanent(
         192  +
                GetParameterHistoryEndpointParamsInterceptor,
         193  +
            ))
         194  +
            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::<
         195  +
                crate::operation::get_parameter_history::GetParameterHistoryError,
         196  +
            >::new())
         197  +
            .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::<
         198  +
                crate::operation::get_parameter_history::GetParameterHistoryError,
         199  +
            >::new())
         200  +
            .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::<
         201  +
                crate::operation::get_parameter_history::GetParameterHistoryError,
         202  +
            >::new())
         203  +
            .with_retry_classifier(::aws_runtime::service_clock_skew::ServiceClockSkewClassifier::<
         204  +
                crate::operation::get_parameter_history::GetParameterHistoryError,
         205  +
            >::new());
         206  +
         207  +
        ::std::borrow::Cow::Owned(rcb)
         208  +
    }
         209  +
}
         210  +
         211  +
#[derive(Debug)]
         212  +
struct GetParameterHistoryTelemetryInputCaptureInterceptor;
         213  +
         214  +
#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
         215  +
impl ::aws_smithy_runtime_api::client::interceptors::Intercept for GetParameterHistoryTelemetryInputCaptureInterceptor {
         216  +
    fn name(&self) -> &'static str {
         217  +
        "GetParameterHistoryTelemetryInputCaptureInterceptor"
         218  +
    }
         219  +
         220  +
    fn read_before_execution(
         221  +
        &self,
         222  +
        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
         223  +
            '_,
         224  +
            ::aws_smithy_runtime_api::client::interceptors::context::Input,
         225  +
            ::aws_smithy_runtime_api::client::interceptors::context::Output,
         226  +
            ::aws_smithy_runtime_api::client::interceptors::context::Error,
         227  +
        >,
         228  +
        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
         229  +
    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
         230  +
        // Nothing to do unless the customer opted in by naming members to record.
         231  +
        let ::std::option::Option::Some(requested) = cfg
         232  +
            .load::<::aws_smithy_types::telemetry::RequestedTelemetryAttributes>()
         233  +
            .filter(|r| !r.is_empty())
         234  +
        else {
         235  +
            return ::std::result::Result::Ok(());
         236  +
        };
         237  +
         238  +
        let ::std::option::Option::Some(input) = context.input().downcast_ref::<GetParameterHistoryInput>() else {
         239  +
            // A mismatched input is not this interceptor's concern; skip quietly.
         240  +
            return ::std::result::Result::Ok(());
         241  +
        };
         242  +
         243  +
        let mut captured = ::aws_smithy_types::telemetry::CapturedTelemetryAttributes::default();
         244  +
        if requested.should_capture("Name") {
         245  +
            if let ::std::option::Option::Some(value) = input.name.as_deref() {
         246  +
                captured.insert("Name", value);
         247  +
            }
         248  +
        }
         249  +
        if requested.should_capture("NextToken") {
         250  +
            if let ::std::option::Option::Some(value) = input.next_token.as_deref() {
         251  +
                captured.insert("NextToken", value);
         252  +
            }
         253  +
        }
         254  +
         255  +
        cfg.interceptor_state().store_put(captured);
         256  +
        ::std::result::Result::Ok(())
         257  +
    }
         258  +
}
         259  +
#[derive(Debug)]
         260  +
struct GetParameterHistoryResponseDeserializer;
         261  +
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for GetParameterHistoryResponseDeserializer {
         262  +
    fn deserialize_nonstreaming_with_config(
         263  +
        &self,
         264  +
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
         265  +
        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
         266  +
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
         267  +
        let (success, status) = (response.status().is_success(), response.status().as_u16());
         268  +
        // Load body and headers BEFORE BeforeParseResponse so customizations
         269  +
        // (e.g., S3's `body_is_error` check that detects errors returned with
         270  +
        // HTTP 200) can inspect them. The legacy non-streaming path also
         271  +
        // loads `body` before firing this hook.
         272  +
        let body = response.body().bytes().expect("body loaded");
         273  +
        let headers = response.headers();
         274  +
        #[allow(unused_mut)]
         275  +
        let mut force_error = false;
         276  +
        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
         277  +
        if !success && status != 200 || force_error {
         278  +
            let protocol = _cfg
         279  +
                .load::<::aws_smithy_schema::protocol::SharedClientProtocol>()
         280  +
                .expect("a SharedClientProtocol is required");
         281  +
            #[allow(unused_mut)]
         282  +
            let mut generic_builder = protocol.parse_error_metadata(response, _cfg).map_err(|e| {
         283  +
                ::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(::aws_smithy_runtime_api::box_error::BoxError::from(e))
         284  +
            })?;
         285  +
            generic_builder = ::aws_types::request_id::apply_request_id(generic_builder, headers);
         286  +
            let generic = generic_builder.build();
         287  +
            let error_code = match generic.code() {
         288  +
                ::std::option::Option::Some(code) => code,
         289  +
                ::std::option::Option::None => {
         290  +
                    return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         291  +
                        ::aws_smithy_runtime_api::box_error::BoxError::from(
         292  +
                            crate::operation::get_parameter_history::GetParameterHistoryError::unhandled(generic),
         293  +
                        ),
         294  +
                    ))
         295  +
                }
         296  +
            };
         297  +
            let _error_message = generic.message().map(|msg| msg.to_owned());
         298  +
            let err = match error_code {
         299  +
                "InternalServerError" => crate::operation::get_parameter_history::GetParameterHistoryError::InternalServerError({
         300  +
                    let mut tmp = match protocol.deserialize_error_response(response, _cfg).and_then(|mut deser| {
         301  +
                        crate::types::error::InternalServerError::deserialize_with_response(
         302  +
                            &mut *deser,
         303  +
                            response.headers(),
         304  +
                            response.status().into(),
         305  +
                            body,
         306  +
                        )
         307  +
                    }) {
         308  +
                        ::std::result::Result::Ok(val) => val,
         309  +
                        ::std::result::Result::Err(e) => {
         310  +
                            return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         311  +
                                ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         312  +
                            ))
         313  +
                        }
         314  +
                    };
         315  +
                    tmp.meta = generic;
         316  +
                    if tmp.message.is_none() {
         317  +
                        tmp.message = _error_message;
         318  +
                    }
         319  +
                    tmp
         320  +
                }),
         321  +
                "InvalidKeyId" => crate::operation::get_parameter_history::GetParameterHistoryError::InvalidKeyId({
         322  +
                    let mut tmp = match protocol.deserialize_error_response(response, _cfg).and_then(|mut deser| {
         323  +
                        crate::types::error::InvalidKeyId::deserialize_with_response(&mut *deser, response.headers(), response.status().into(), body)
         324  +
                    }) {
         325  +
                        ::std::result::Result::Ok(val) => val,
         326  +
                        ::std::result::Result::Err(e) => {
         327  +
                            return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         328  +
                                ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         329  +
                            ))
         330  +
                        }
         331  +
                    };
         332  +
                    tmp.meta = generic;
         333  +
                    if tmp.message.is_none() {
         334  +
                        tmp.message = _error_message;
         335  +
                    }
         336  +
                    tmp
         337  +
                }),
         338  +
                "InvalidNextToken" => crate::operation::get_parameter_history::GetParameterHistoryError::InvalidNextToken({
         339  +
                    let mut tmp = match protocol.deserialize_error_response(response, _cfg).and_then(|mut deser| {
         340  +
                        crate::types::error::InvalidNextToken::deserialize_with_response(
         341  +
                            &mut *deser,
         342  +
                            response.headers(),
         343  +
                            response.status().into(),
         344  +
                            body,
         345  +
                        )
         346  +
                    }) {
         347  +
                        ::std::result::Result::Ok(val) => val,
         348  +
                        ::std::result::Result::Err(e) => {
         349  +
                            return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         350  +
                                ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         351  +
                            ))
         352  +
                        }
         353  +
                    };
         354  +
                    tmp.meta = generic;
         355  +
                    if tmp.message.is_none() {
         356  +
                        tmp.message = _error_message;
         357  +
                    }
         358  +
                    tmp
         359  +
                }),
         360  +
                "ParameterNotFound" => crate::operation::get_parameter_history::GetParameterHistoryError::ParameterNotFound({
         361  +
                    let mut tmp = match protocol.deserialize_error_response(response, _cfg).and_then(|mut deser| {
         362  +
                        crate::types::error::ParameterNotFound::deserialize_with_response(
         363  +
                            &mut *deser,
         364  +
                            response.headers(),
         365  +
                            response.status().into(),
         366  +
                            body,
         367  +
                        )
         368  +
                    }) {
         369  +
                        ::std::result::Result::Ok(val) => val,
         370  +
                        ::std::result::Result::Err(e) => {
         371  +
                            return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         372  +
                                ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         373  +
                            ))
         374  +
                        }
         375  +
                    };
         376  +
                    tmp.meta = generic;
         377  +
                    if tmp.message.is_none() {
         378  +
                        tmp.message = _error_message;
         379  +
                    }
         380  +
                    tmp
         381  +
                }),
         382  +
                _ => {
         383  +
                    // Registry-backed, operation-scoped reification of an error whose
         384  +
                    // code this operation does not model directly: the operation's own
         385  +
                    // error registry is consulted first, then the lookup widens to the
         386  +
                    // service-wide error registry. On a hit, the reified error is attached
         387  +
                    // as the source of the returned unhandled error while its metadata
         388  +
                    // (code, message, request id) is preserved; on a miss the generic
         389  +
                    // error is returned unchanged.
         390  +
                    match protocol
         391  +
                        .deserialize_error_response(response, _cfg)
         392  +
                        .ok()
         393  +
                        .and_then(|mut deser| {
         394  +
                            ::aws_smithy_schema::registry::reify_error(
         395  +
                                crate::operation::get_parameter_history::error_registry::REGISTRY
         396  +
                                    .or(&crate::error_type_registry::REGISTRY),
         397  +
                                error_code,
         398  +
                                &mut *deser,
         399  +
                            )
         400  +
                        }) {
         401  +
                        ::std::option::Option::Some(source) => <crate::operation::get_parameter_history::GetParameterHistoryError as ::aws_smithy_runtime_api::client::result::CreateUnhandledError>::create_unhandled_error(source, ::std::option::Option::Some(generic)),
         402  +
                        ::std::option::Option::None => crate::operation::get_parameter_history::GetParameterHistoryError::generic(generic),
         403  +
                    }
         404  +
                }
         405  +
            };
         406  +
            ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::operation(
         407  +
                ::aws_smithy_runtime_api::client::interceptors::context::Error::erase(err),
         408  +
            ))
         409  +
        } else {
         410  +
            let protocol = _cfg
         411  +
                .load::<::aws_smithy_schema::protocol::SharedClientProtocol>()
         412  +
                .expect("a SharedClientProtocol is required");
         413  +
            let mut deser = protocol
         414  +
                .deserialize_response(response, GetParameterHistory::OUTPUT_SCHEMA, _cfg)
         415  +
                .map_err(|e| {
         416  +
                    ::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(::aws_smithy_runtime_api::box_error::BoxError::from(e))
         417  +
                })?;
         418  +
            // body and headers are already in scope from the top of the function;
         419  +
            // alias `headers` as `_response_headers` so MutateOutput
         420  +
            // customizations have a stable name to read from.
         421  +
            let _response_headers = headers;
         422  +
            #[allow(unused_mut)]
         423  +
            let mut output = crate::operation::get_parameter_history::GetParameterHistoryOutput::deserialize_with_response(
         424  +
                &mut *deser,
         425  +
                _response_headers,
         426  +
                response.status().into(),
         427  +
                body,
         428  +
            )
         429  +
            .map_err(|e| {
         430  +
                ::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(::aws_smithy_runtime_api::box_error::BoxError::from(e))
         431  +
            })?;
         432  +
            output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
         433  +
            ::std::result::Result::Ok(::aws_smithy_runtime_api::client::interceptors::context::Output::erase(output))
         434  +
        }
         435  +
    }
         436  +
}
         437  +
#[derive(Debug)]
         438  +
struct GetParameterHistoryRequestSerializer;
         439  +
impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for GetParameterHistoryRequestSerializer {
         440  +
    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
         441  +
    fn serialize_input(
         442  +
        &self,
         443  +
        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
         444  +
        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
         445  +
    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
         446  +
        let input = input
         447  +
            .downcast::<crate::operation::get_parameter_history::GetParameterHistoryInput>()
         448  +
            .expect("correct type");
         449  +
         450  +
        let protocol = _cfg
         451  +
            .load::<::aws_smithy_schema::protocol::SharedClientProtocol>()
         452  +
            .expect("a SharedClientProtocol is required");
         453  +
        let mut request = protocol
         454  +
            .serialize_request(&input, GetParameterHistory::INPUT_SCHEMA, "/", _cfg)
         455  +
            .map_err(::aws_smithy_runtime_api::box_error::BoxError::from)?;
         456  +
         457  +
        return ::std::result::Result::Ok(request);
         458  +
    }
         459  +
}
         460  +
#[derive(Debug)]
         461  +
struct GetParameterHistoryEndpointParamsInterceptor;
         462  +
         463  +
#[::aws_smithy_runtime_api::client::interceptors::dyn_dispatch_hint]
         464  +
impl ::aws_smithy_runtime_api::client::interceptors::Intercept for GetParameterHistoryEndpointParamsInterceptor {
         465  +
    fn name(&self) -> &'static str {
         466  +
        "GetParameterHistoryEndpointParamsInterceptor"
         467  +
    }
         468  +
         469  +
    fn read_before_execution(
         470  +
        &self,
         471  +
        context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef<
         472  +
            '_,
         473  +
            ::aws_smithy_runtime_api::client::interceptors::context::Input,
         474  +
            ::aws_smithy_runtime_api::client::interceptors::context::Output,
         475  +
            ::aws_smithy_runtime_api::client::interceptors::context::Error,
         476  +
        >,
         477  +
        cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
         478  +
    ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> {
         479  +
        let _input = context
         480  +
            .input()
         481  +
            .downcast_ref::<GetParameterHistoryInput>()
         482  +
            .ok_or("failed to downcast to GetParameterHistoryInput")?;
         483  +
         484  +
        let params = crate::config::endpoint::Params::builder()
         485  +
            .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned()))
         486  +
            .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0))
         487  +
            .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0))
         488  +
            .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone()))
         489  +
            .build()
         490  +
            .map_err(|err| {
         491  +
                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
         492  +
            })?;
         493  +
        cfg.interceptor_state()
         494  +
            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
         495  +
        ::std::result::Result::Ok(())
         496  +
    }
         497  +
}
         498  +
         499  +
// The get_* functions below are generated from JMESPath expressions in the
         500  +
// operationContextParams trait. They target the operation's input shape.
         501  +
         502  +
/// Error type for the `GetParameterHistoryError` operation.
         503  +
#[non_exhaustive]
         504  +
#[derive(::std::fmt::Debug)]
         505  +
pub enum GetParameterHistoryError {
         506  +
    /// <p>An error occurred on the server side.</p>
         507  +
    InternalServerError(crate::types::error::InternalServerError),
         508  +
    /// <p>The query key ID isn't valid.</p>
         509  +
    InvalidKeyId(crate::types::error::InvalidKeyId),
         510  +
    /// <p>The specified token isn't valid.</p>
         511  +
    InvalidNextToken(crate::types::error::InvalidNextToken),
         512  +
    /// <p>The parameter couldn't be found. Verify the name and try again.</p><note>
         513  +
    /// <p>For the <code>DeleteParameter</code> and <code>GetParameter</code> actions, if the specified parameter doesn't exist, the <code>ParameterNotFound</code> exception is <i>not</i> recorded in CloudTrail event logs.</p>
         514  +
    /// </note>
         515  +
    ParameterNotFound(crate::types::error::ParameterNotFound),
         516  +
    /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code).
         517  +
    #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \
         518  +
    variable wildcard pattern and check `.code()`:
         519  +
     \
         520  +
    &nbsp;&nbsp;&nbsp;`err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }`
         521  +
     \
         522  +
    See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-GetParameterHistoryError) for what information is available for the error.")]
         523  +
    Unhandled(crate::error::sealed_unhandled::Unhandled),
         524  +
}
         525  +
impl GetParameterHistoryError {
         526  +
    /// Creates the `GetParameterHistoryError::Unhandled` variant from any error type.
         527  +
    pub fn unhandled(
         528  +
        err: impl ::std::convert::Into<::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>>,
         529  +
    ) -> Self {
         530  +
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
         531  +
            source: err.into(),
         532  +
            meta: ::std::default::Default::default(),
         533  +
        })
         534  +
    }
         535  +
         536  +
    /// Creates the `GetParameterHistoryError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata).
         537  +
    pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self {
         538  +
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
         539  +
            source: err.clone().into(),
         540  +
            meta: err,
         541  +
        })
         542  +
    }
         543  +
    ///
         544  +
    /// Returns error metadata, which includes the error code, message,
         545  +
    /// request ID, and potentially additional information.
         546  +
    ///
         547  +
    pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
         548  +
        match self {
         549  +
            Self::InternalServerError(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         550  +
            Self::InvalidKeyId(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         551  +
            Self::InvalidNextToken(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         552  +
            Self::ParameterNotFound(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e),
         553  +
            Self::Unhandled(e) => &e.meta,
         554  +
        }
         555  +
    }
         556  +
    /// Returns `true` if the error kind is `GetParameterHistoryError::InternalServerError`.
         557  +
    pub fn is_internal_server_error(&self) -> bool {
         558  +
        matches!(self, Self::InternalServerError(_))
         559  +
    }
         560  +
    /// Returns `true` if the error kind is `GetParameterHistoryError::InvalidKeyId`.
         561  +
    pub fn is_invalid_key_id(&self) -> bool {
         562  +
        matches!(self, Self::InvalidKeyId(_))
         563  +
    }
         564  +
    /// Returns `true` if the error kind is `GetParameterHistoryError::InvalidNextToken`.
         565  +
    pub fn is_invalid_next_token(&self) -> bool {
         566  +
        matches!(self, Self::InvalidNextToken(_))
         567  +
    }
         568  +
    /// Returns `true` if the error kind is `GetParameterHistoryError::ParameterNotFound`.
         569  +
    pub fn is_parameter_not_found(&self) -> bool {
         570  +
        matches!(self, Self::ParameterNotFound(_))
         571  +
    }
         572  +
}
         573  +
impl ::std::error::Error for GetParameterHistoryError {
         574  +
    fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> {
         575  +
        match self {
         576  +
            Self::InternalServerError(_inner) => ::std::option::Option::Some(_inner),
         577  +
            Self::InvalidKeyId(_inner) => ::std::option::Option::Some(_inner),
         578  +
            Self::InvalidNextToken(_inner) => ::std::option::Option::Some(_inner),
         579  +
            Self::ParameterNotFound(_inner) => ::std::option::Option::Some(_inner),
         580  +
            Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source),
         581  +
        }
         582  +
    }
         583  +
}
         584  +
impl ::std::fmt::Display for GetParameterHistoryError {
         585  +
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
         586  +
        match self {
         587  +
            Self::InternalServerError(_inner) => _inner.fmt(f),
         588  +
            Self::InvalidKeyId(_inner) => _inner.fmt(f),
         589  +
            Self::InvalidNextToken(_inner) => _inner.fmt(f),
         590  +
            Self::ParameterNotFound(_inner) => _inner.fmt(f),
         591  +
            Self::Unhandled(_inner) => {
         592  +
                if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) {
         593  +
                    write!(f, "unhandled error ({code})")
         594  +
                } else {
         595  +
                    f.write_str("unhandled error")
         596  +
                }
         597  +
            }
         598  +
        }
         599  +
    }
         600  +
}
         601  +
impl ::aws_smithy_types::retry::ProvideErrorKind for GetParameterHistoryError {
         602  +
    fn code(&self) -> ::std::option::Option<&str> {
         603  +
        ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self)
         604  +
    }
         605  +
    fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> {
         606  +
        ::std::option::Option::None
         607  +
    }
         608  +
}
         609  +
impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for GetParameterHistoryError {
         610  +
    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
         611  +
        match self {
         612  +
            Self::InternalServerError(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
         613  +
            Self::InvalidKeyId(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
         614  +
            Self::InvalidNextToken(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
         615  +
            Self::ParameterNotFound(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner),
         616  +
            Self::Unhandled(_inner) => &_inner.meta,
         617  +
        }
         618  +
    }
         619  +
}
         620  +
impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for GetParameterHistoryError {
         621  +
    fn create_unhandled_error(
         622  +
        source: ::std::boxed::Box<dyn ::std::error::Error + ::std::marker::Send + ::std::marker::Sync + 'static>,
         623  +
        meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
         624  +
    ) -> Self {
         625  +
        Self::Unhandled(crate::error::sealed_unhandled::Unhandled {
         626  +
            source,
         627  +
            meta: meta.unwrap_or_default(),
         628  +
        })
         629  +
    }
         630  +
}
         631  +
impl ::aws_types::request_id::RequestId for crate::operation::get_parameter_history::GetParameterHistoryError {
         632  +
    fn request_id(&self) -> Option<&str> {
         633  +
        self.meta().request_id()
         634  +
    }
         635  +
}
         636  +
         637  +
pub use crate::operation::get_parameter_history::_get_parameter_history_input::GetParameterHistoryInput;
         638  +
         639  +
pub use crate::operation::get_parameter_history::_get_parameter_history_output::GetParameterHistoryOutput;
         640  +
         641  +
mod _get_parameter_history_input;
         642  +
         643  +
mod _get_parameter_history_output;
         644  +
         645  +
/// Builders
         646  +
pub mod builders;
         647  +
         648  +
/// Paginator for this operation
         649  +
pub mod paginator;