AWS SDK

AWS SDK

rev. aa190e630077955f0bc8f58dee6a16530c1e0578 (ignoring whitespace)

Files changed:

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

@@ -0,1 +0,263 @@
           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 GetParameterHistoryInput {
           6  +
    /// <p>The name or Amazon Resource Name (ARN) of the parameter for which you want to review history. For parameters shared with you from another account, you must use the full ARN.</p>
           7  +
    pub name: ::std::option::Option<::std::string::String>,
           8  +
    /// <p>Return decrypted values for secure string parameters. This flag is ignored for <code>String</code> and <code>StringList</code> parameter types.</p>
           9  +
    pub with_decryption: ::std::option::Option<bool>,
          10  +
    /// <p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>
          11  +
    pub max_results: ::std::option::Option<i32>,
          12  +
    /// <p>The token for the next set of items to return. (You received this token from a previous call.)</p>
          13  +
    pub next_token: ::std::option::Option<::std::string::String>,
          14  +
}
          15  +
impl GetParameterHistoryInput {
          16  +
    /// <p>The name or Amazon Resource Name (ARN) of the parameter for which you want to review history. For parameters shared with you from another account, you must use the full ARN.</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  +
    /// <p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>
          25  +
    pub fn max_results(&self) -> ::std::option::Option<i32> {
          26  +
        self.max_results
          27  +
    }
          28  +
    /// <p>The token for the next set of items to return. (You received this token from a previous call.)</p>
          29  +
    pub fn next_token(&self) -> ::std::option::Option<&str> {
          30  +
        self.next_token.as_deref()
          31  +
    }
          32  +
}
          33  +
static GETPARAMETERHISTORYINPUT_MEMBER_NAME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          34  +
    ::aws_smithy_schema::ShapeId::from_parts(
          35  +
        "com.amazonaws.ssm.synthetic#GetParameterHistoryInput$Name",
          36  +
        "com.amazonaws.ssm.synthetic",
          37  +
        "GetParameterHistoryInput",
          38  +
    ),
          39  +
    ::aws_smithy_schema::ShapeType::String,
          40  +
    "Name",
          41  +
    0,
          42  +
);
          43  +
static GETPARAMETERHISTORYINPUT_MEMBER_WITH_DECRYPTION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          44  +
    ::aws_smithy_schema::ShapeId::from_parts(
          45  +
        "com.amazonaws.ssm.synthetic#GetParameterHistoryInput$WithDecryption",
          46  +
        "com.amazonaws.ssm.synthetic",
          47  +
        "GetParameterHistoryInput",
          48  +
    ),
          49  +
    ::aws_smithy_schema::ShapeType::Boolean,
          50  +
    "WithDecryption",
          51  +
    1,
          52  +
);
          53  +
static GETPARAMETERHISTORYINPUT_MEMBER_MAX_RESULTS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          54  +
    ::aws_smithy_schema::ShapeId::from_parts(
          55  +
        "com.amazonaws.ssm.synthetic#GetParameterHistoryInput$MaxResults",
          56  +
        "com.amazonaws.ssm.synthetic",
          57  +
        "GetParameterHistoryInput",
          58  +
    ),
          59  +
    ::aws_smithy_schema::ShapeType::Integer,
          60  +
    "MaxResults",
          61  +
    2,
          62  +
);
          63  +
static GETPARAMETERHISTORYINPUT_MEMBER_NEXT_TOKEN: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          64  +
    ::aws_smithy_schema::ShapeId::from_parts(
          65  +
        "com.amazonaws.ssm.synthetic#GetParameterHistoryInput$NextToken",
          66  +
        "com.amazonaws.ssm.synthetic",
          67  +
        "GetParameterHistoryInput",
          68  +
    ),
          69  +
    ::aws_smithy_schema::ShapeType::String,
          70  +
    "NextToken",
          71  +
    3,
          72  +
);
          73  +
static GETPARAMETERHISTORYINPUT_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
          74  +
    ::aws_smithy_schema::ShapeId::from_parts(
          75  +
        "com.amazonaws.ssm.synthetic#GetParameterHistoryInput",
          76  +
        "com.amazonaws.ssm.synthetic",
          77  +
        "GetParameterHistoryInput",
          78  +
    ),
          79  +
    ::aws_smithy_schema::ShapeType::Structure,
          80  +
    &[
          81  +
        &GETPARAMETERHISTORYINPUT_MEMBER_NAME,
          82  +
        &GETPARAMETERHISTORYINPUT_MEMBER_WITH_DECRYPTION,
          83  +
        &GETPARAMETERHISTORYINPUT_MEMBER_MAX_RESULTS,
          84  +
        &GETPARAMETERHISTORYINPUT_MEMBER_NEXT_TOKEN,
          85  +
    ],
          86  +
)
          87  +
.with_payload_hint(::aws_smithy_schema::PayloadHint::NoStructPayload)
          88  +
.with_original_name("GetParameterHistoryRequest");
          89  +
impl GetParameterHistoryInput {
          90  +
    /// The schema for this shape.
          91  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &GETPARAMETERHISTORYINPUT_SCHEMA;
          92  +
}
          93  +
impl ::aws_smithy_schema::serde::SerializableStruct for GetParameterHistoryInput {
          94  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
          95  +
    fn serialize_members(
          96  +
        &self,
          97  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
          98  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
          99  +
        if let Some(ref val) = self.name {
         100  +
            ser.write_string(&GETPARAMETERHISTORYINPUT_MEMBER_NAME, val)?;
         101  +
        }
         102  +
        if let Some(ref val) = self.with_decryption {
         103  +
            ser.write_boolean(&GETPARAMETERHISTORYINPUT_MEMBER_WITH_DECRYPTION, *val)?;
         104  +
        }
         105  +
        if let Some(ref val) = self.max_results {
         106  +
            ser.write_integer(&GETPARAMETERHISTORYINPUT_MEMBER_MAX_RESULTS, *val)?;
         107  +
        }
         108  +
        if let Some(ref val) = self.next_token {
         109  +
            ser.write_string(&GETPARAMETERHISTORYINPUT_MEMBER_NEXT_TOKEN, val)?;
         110  +
        }
         111  +
        Ok(())
         112  +
    }
         113  +
}
         114  +
impl GetParameterHistoryInput {
         115  +
    /// Deserializes this structure from a [`ShapeDeserializer`].
         116  +
    pub fn deserialize(
         117  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         118  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         119  +
        #[allow(unused_variables, unused_mut)]
         120  +
        let mut builder = Self::builder();
         121  +
        #[allow(
         122  +
            unused_variables,
         123  +
            unreachable_code,
         124  +
            clippy::single_match,
         125  +
            clippy::match_single_binding,
         126  +
            clippy::diverging_sub_expression
         127  +
        )]
         128  +
        deserializer.read_struct(&GETPARAMETERHISTORYINPUT_SCHEMA, &mut |member, deser| {
         129  +
            match member.member_index() {
         130  +
                Some(0) => {
         131  +
                    if deser.is_null() {
         132  +
                        deser.read_null()?;
         133  +
                    } else {
         134  +
                        builder.name = Some(deser.read_string(member)?);
         135  +
                    }
         136  +
                }
         137  +
                Some(1) => {
         138  +
                    if deser.is_null() {
         139  +
                        deser.read_null()?;
         140  +
                    } else {
         141  +
                        builder.with_decryption = Some(deser.read_boolean(member)?);
         142  +
                    }
         143  +
                }
         144  +
                Some(2) => {
         145  +
                    if deser.is_null() {
         146  +
                        deser.read_null()?;
         147  +
                    } else {
         148  +
                        builder.max_results = Some(deser.read_integer(member)?);
         149  +
                    }
         150  +
                }
         151  +
                Some(3) => {
         152  +
                    if deser.is_null() {
         153  +
                        deser.read_null()?;
         154  +
                    } else {
         155  +
                        builder.next_token = Some(deser.read_string(member)?);
         156  +
                    }
         157  +
                }
         158  +
                _ => {}
         159  +
            }
         160  +
            Ok(())
         161  +
        })?;
         162  +
        builder.name = builder.name.or(Some(String::new()));
         163  +
        builder.build().map_err(|e| aws_smithy_schema::serde::SerdeError::custom(e.to_string()))
         164  +
    }
         165  +
}
         166  +
impl GetParameterHistoryInput {
         167  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         168  +
    pub fn deserialize_with_response(
         169  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         170  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         171  +
        _status: u16,
         172  +
        _body: &[u8],
         173  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         174  +
        Self::deserialize(deserializer)
         175  +
    }
         176  +
}
         177  +
impl GetParameterHistoryInput {
         178  +
    /// Creates a new builder-style object to manufacture [`GetParameterHistoryInput`](crate::operation::get_parameter_history::GetParameterHistoryInput).
         179  +
    pub fn builder() -> crate::operation::get_parameter_history::builders::GetParameterHistoryInputBuilder {
         180  +
        crate::operation::get_parameter_history::builders::GetParameterHistoryInputBuilder::default()
         181  +
    }
         182  +
}
         183  +
         184  +
/// A builder for [`GetParameterHistoryInput`](crate::operation::get_parameter_history::GetParameterHistoryInput).
         185  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         186  +
#[non_exhaustive]
         187  +
pub struct GetParameterHistoryInputBuilder {
         188  +
    pub(crate) name: ::std::option::Option<::std::string::String>,
         189  +
    pub(crate) with_decryption: ::std::option::Option<bool>,
         190  +
    pub(crate) max_results: ::std::option::Option<i32>,
         191  +
    pub(crate) next_token: ::std::option::Option<::std::string::String>,
         192  +
}
         193  +
impl GetParameterHistoryInputBuilder {
         194  +
    /// <p>The name or Amazon Resource Name (ARN) of the parameter for which you want to review history. For parameters shared with you from another account, you must use the full ARN.</p>
         195  +
    /// This field is required.
         196  +
    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         197  +
        self.name = ::std::option::Option::Some(input.into());
         198  +
        self
         199  +
    }
         200  +
    /// <p>The name or Amazon Resource Name (ARN) of the parameter for which you want to review history. For parameters shared with you from another account, you must use the full ARN.</p>
         201  +
    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         202  +
        self.name = input;
         203  +
        self
         204  +
    }
         205  +
    /// <p>The name or Amazon Resource Name (ARN) of the parameter for which you want to review history. For parameters shared with you from another account, you must use the full ARN.</p>
         206  +
    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
         207  +
        &self.name
         208  +
    }
         209  +
    /// <p>Return decrypted values for secure string parameters. This flag is ignored for <code>String</code> and <code>StringList</code> parameter types.</p>
         210  +
    pub fn with_decryption(mut self, input: bool) -> Self {
         211  +
        self.with_decryption = ::std::option::Option::Some(input);
         212  +
        self
         213  +
    }
         214  +
    /// <p>Return decrypted values for secure string parameters. This flag is ignored for <code>String</code> and <code>StringList</code> parameter types.</p>
         215  +
    pub fn set_with_decryption(mut self, input: ::std::option::Option<bool>) -> Self {
         216  +
        self.with_decryption = input;
         217  +
        self
         218  +
    }
         219  +
    /// <p>Return decrypted values for secure string parameters. This flag is ignored for <code>String</code> and <code>StringList</code> parameter types.</p>
         220  +
    pub fn get_with_decryption(&self) -> &::std::option::Option<bool> {
         221  +
        &self.with_decryption
         222  +
    }
         223  +
    /// <p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>
         224  +
    pub fn max_results(mut self, input: i32) -> Self {
         225  +
        self.max_results = ::std::option::Option::Some(input);
         226  +
        self
         227  +
    }
         228  +
    /// <p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>
         229  +
    pub fn set_max_results(mut self, input: ::std::option::Option<i32>) -> Self {
         230  +
        self.max_results = input;
         231  +
        self
         232  +
    }
         233  +
    /// <p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>
         234  +
    pub fn get_max_results(&self) -> &::std::option::Option<i32> {
         235  +
        &self.max_results
         236  +
    }
         237  +
    /// <p>The token for the next set of items to return. (You received this token from a previous call.)</p>
         238  +
    pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         239  +
        self.next_token = ::std::option::Option::Some(input.into());
         240  +
        self
         241  +
    }
         242  +
    /// <p>The token for the next set of items to return. (You received this token from a previous call.)</p>
         243  +
    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         244  +
        self.next_token = input;
         245  +
        self
         246  +
    }
         247  +
    /// <p>The token for the next set of items to return. (You received this token from a previous call.)</p>
         248  +
    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
         249  +
        &self.next_token
         250  +
    }
         251  +
    /// Consumes the builder and constructs a [`GetParameterHistoryInput`](crate::operation::get_parameter_history::GetParameterHistoryInput).
         252  +
    pub fn build(
         253  +
        self,
         254  +
    ) -> ::std::result::Result<crate::operation::get_parameter_history::GetParameterHistoryInput, ::aws_smithy_types::error::operation::BuildError>
         255  +
    {
         256  +
        ::std::result::Result::Ok(crate::operation::get_parameter_history::GetParameterHistoryInput {
         257  +
            name: self.name,
         258  +
            with_decryption: self.with_decryption,
         259  +
            max_results: self.max_results,
         260  +
            next_token: self.next_token,
         261  +
        })
         262  +
    }
         263  +
}

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

@@ -0,1 +0,273 @@
           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 GetParameterHistoryOutput {
           6  +
    /// <p>A list of parameters returned by the request.</p>
           7  +
    pub parameters: ::std::option::Option<::std::vec::Vec<crate::types::ParameterHistory>>,
           8  +
    /// <p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>
           9  +
    pub next_token: ::std::option::Option<::std::string::String>,
          10  +
    _request_id: Option<String>,
          11  +
}
          12  +
impl GetParameterHistoryOutput {
          13  +
    /// <p>A list of parameters returned by the request.</p>
          14  +
    ///
          15  +
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.parameters.is_none()`.
          16  +
    pub fn parameters(&self) -> &[crate::types::ParameterHistory] {
          17  +
        self.parameters.as_deref().unwrap_or_default()
          18  +
    }
          19  +
    /// <p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>
          20  +
    pub fn next_token(&self) -> ::std::option::Option<&str> {
          21  +
        self.next_token.as_deref()
          22  +
    }
          23  +
}
          24  +
static GETPARAMETERHISTORYOUTPUT_MEMBER_PARAMETERS_MEMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          25  +
    ::aws_smithy_schema::ShapeId::from_parts(
          26  +
        "com.amazonaws.ssm#ParameterHistoryList$member",
          27  +
        "com.amazonaws.ssm",
          28  +
        "ParameterHistoryList",
          29  +
    ),
          30  +
    ::aws_smithy_schema::ShapeType::Structure,
          31  +
    "member",
          32  +
    0,
          33  +
);
          34  +
static GETPARAMETERHISTORYOUTPUT_MEMBER_PARAMETERS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          35  +
    ::aws_smithy_schema::ShapeId::from_parts(
          36  +
        "com.amazonaws.ssm.synthetic#GetParameterHistoryOutput$Parameters",
          37  +
        "com.amazonaws.ssm.synthetic",
          38  +
        "GetParameterHistoryOutput",
          39  +
    ),
          40  +
    ::aws_smithy_schema::ShapeType::List,
          41  +
    "Parameters",
          42  +
    0,
          43  +
)
          44  +
.with_list_member(&GETPARAMETERHISTORYOUTPUT_MEMBER_PARAMETERS_MEMBER);
          45  +
static GETPARAMETERHISTORYOUTPUT_MEMBER_NEXT_TOKEN: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          46  +
    ::aws_smithy_schema::ShapeId::from_parts(
          47  +
        "com.amazonaws.ssm.synthetic#GetParameterHistoryOutput$NextToken",
          48  +
        "com.amazonaws.ssm.synthetic",
          49  +
        "GetParameterHistoryOutput",
          50  +
    ),
          51  +
    ::aws_smithy_schema::ShapeType::String,
          52  +
    "NextToken",
          53  +
    1,
          54  +
);
          55  +
static GETPARAMETERHISTORYOUTPUT_MEMBER__REQUEST_ID: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          56  +
    ::aws_smithy_schema::ShapeId::from_parts("synthetic#request_id", "synthetic", "request_id"),
          57  +
    ::aws_smithy_schema::ShapeType::String,
          58  +
    "request_id",
          59  +
    2,
          60  +
)
          61  +
.with_http_header("x-amzn-requestid");
          62  +
static GETPARAMETERHISTORYOUTPUT_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
          63  +
    ::aws_smithy_schema::ShapeId::from_parts(
          64  +
        "com.amazonaws.ssm.synthetic#GetParameterHistoryOutput",
          65  +
        "com.amazonaws.ssm.synthetic",
          66  +
        "GetParameterHistoryOutput",
          67  +
    ),
          68  +
    ::aws_smithy_schema::ShapeType::Structure,
          69  +
    &[
          70  +
        &GETPARAMETERHISTORYOUTPUT_MEMBER_PARAMETERS,
          71  +
        &GETPARAMETERHISTORYOUTPUT_MEMBER_NEXT_TOKEN,
          72  +
        &GETPARAMETERHISTORYOUTPUT_MEMBER__REQUEST_ID,
          73  +
    ],
          74  +
)
          75  +
.with_original_name("GetParameterHistoryResult");
          76  +
impl GetParameterHistoryOutput {
          77  +
    /// The schema for this shape.
          78  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &GETPARAMETERHISTORYOUTPUT_SCHEMA;
          79  +
}
          80  +
impl ::aws_smithy_schema::serde::SerializableStruct for GetParameterHistoryOutput {
          81  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
          82  +
    fn serialize_members(
          83  +
        &self,
          84  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
          85  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
          86  +
        if let Some(ref val) = self.parameters {
          87  +
            ser.write_list(
          88  +
                &GETPARAMETERHISTORYOUTPUT_MEMBER_PARAMETERS,
          89  +
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
          90  +
                    for item in val {
          91  +
                        ser.write_struct(crate::types::ParameterHistory::SCHEMA, item)?;
          92  +
                    }
          93  +
                    Ok(())
          94  +
                },
          95  +
            )?;
          96  +
        }
          97  +
        if let Some(ref val) = self.next_token {
          98  +
            ser.write_string(&GETPARAMETERHISTORYOUTPUT_MEMBER_NEXT_TOKEN, val)?;
          99  +
        }
         100  +
        Ok(())
         101  +
    }
         102  +
}
         103  +
impl GetParameterHistoryOutput {
         104  +
    /// Deserializes this structure from a [`ShapeDeserializer`].
         105  +
    pub fn deserialize(
         106  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         107  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         108  +
        #[allow(unused_variables, unused_mut)]
         109  +
        let mut builder = Self::builder();
         110  +
        #[allow(
         111  +
            unused_variables,
         112  +
            unreachable_code,
         113  +
            clippy::single_match,
         114  +
            clippy::match_single_binding,
         115  +
            clippy::diverging_sub_expression
         116  +
        )]
         117  +
        deserializer.read_struct(&GETPARAMETERHISTORYOUTPUT_SCHEMA, &mut |member, deser| {
         118  +
            match member.member_index() {
         119  +
                Some(0) => {
         120  +
                    if deser.is_null() {
         121  +
                        deser.read_null()?;
         122  +
                    } else {
         123  +
                        builder.parameters = Some({
         124  +
                            let mut container = Vec::new();
         125  +
                            deser.read_list(member, &mut |deser| {
         126  +
                                container.push(crate::types::ParameterHistory::deserialize(deser)?);
         127  +
                                Ok(())
         128  +
                            })?;
         129  +
                            container
         130  +
                        });
         131  +
                    }
         132  +
                }
         133  +
                Some(1) => {
         134  +
                    if deser.is_null() {
         135  +
                        deser.read_null()?;
         136  +
                    } else {
         137  +
                        builder.next_token = Some(deser.read_string(member)?);
         138  +
                    }
         139  +
                }
         140  +
                Some(2) => {
         141  +
                    builder._request_id = Some(deser.read_string(member)?);
         142  +
                }
         143  +
                _ => {}
         144  +
            }
         145  +
            Ok(())
         146  +
        })?;
         147  +
        Ok(builder.build())
         148  +
    }
         149  +
}
         150  +
impl GetParameterHistoryOutput {
         151  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
         152  +
    /// Header-bound members are read directly from headers, avoiding runtime
         153  +
    /// member iteration overhead. Body members are read via the deserializer.
         154  +
    pub fn deserialize_with_response(
         155  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         156  +
        headers: &::aws_smithy_runtime_api::http::Headers,
         157  +
        _status: u16,
         158  +
        _body: &[u8],
         159  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         160  +
        #[allow(unused_variables, unused_mut)]
         161  +
        let mut builder = Self::builder();
         162  +
        if let Some(val) = headers.get("x-amzn-requestid") {
         163  +
            builder._request_id = Some(val.to_string());
         164  +
        }
         165  +
         166  +
        #[allow(
         167  +
            unused_variables,
         168  +
            unreachable_code,
         169  +
            clippy::single_match,
         170  +
            clippy::match_single_binding,
         171  +
            clippy::diverging_sub_expression
         172  +
        )]
         173  +
        deserializer.read_struct(&GETPARAMETERHISTORYOUTPUT_SCHEMA, &mut |member, deser| {
         174  +
            match member.member_index() {
         175  +
                Some(0) => {
         176  +
                    builder.parameters = Some({
         177  +
                        let mut container = Vec::new();
         178  +
                        deser.read_list(member, &mut |deser| {
         179  +
                            container.push(crate::types::ParameterHistory::deserialize(deser)?);
         180  +
                            Ok(())
         181  +
                        })?;
         182  +
                        container
         183  +
                    });
         184  +
                }
         185  +
                Some(1) => {
         186  +
                    builder.next_token = Some(deser.read_string(member)?);
         187  +
                }
         188  +
                _ => {}
         189  +
            }
         190  +
            Ok(())
         191  +
        })?;
         192  +
        Ok(builder.build())
         193  +
    }
         194  +
}
         195  +
impl ::aws_types::request_id::RequestId for GetParameterHistoryOutput {
         196  +
    fn request_id(&self) -> Option<&str> {
         197  +
        self._request_id.as_deref()
         198  +
    }
         199  +
}
         200  +
impl GetParameterHistoryOutput {
         201  +
    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
         202  +
        self._request_id = request_id;
         203  +
        self
         204  +
    }
         205  +
}
         206  +
impl GetParameterHistoryOutput {
         207  +
    /// Creates a new builder-style object to manufacture [`GetParameterHistoryOutput`](crate::operation::get_parameter_history::GetParameterHistoryOutput).
         208  +
    pub fn builder() -> crate::operation::get_parameter_history::builders::GetParameterHistoryOutputBuilder {
         209  +
        crate::operation::get_parameter_history::builders::GetParameterHistoryOutputBuilder::default()
         210  +
    }
         211  +
}
         212  +
         213  +
/// A builder for [`GetParameterHistoryOutput`](crate::operation::get_parameter_history::GetParameterHistoryOutput).
         214  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         215  +
#[non_exhaustive]
         216  +
pub struct GetParameterHistoryOutputBuilder {
         217  +
    pub(crate) parameters: ::std::option::Option<::std::vec::Vec<crate::types::ParameterHistory>>,
         218  +
    pub(crate) next_token: ::std::option::Option<::std::string::String>,
         219  +
    _request_id: Option<String>,
         220  +
}
         221  +
impl GetParameterHistoryOutputBuilder {
         222  +
    /// Appends an item to `parameters`.
         223  +
    ///
         224  +
    /// To override the contents of this collection use [`set_parameters`](Self::set_parameters).
         225  +
    ///
         226  +
    /// <p>A list of parameters returned by the request.</p>
         227  +
    pub fn parameters(mut self, input: crate::types::ParameterHistory) -> Self {
         228  +
        let mut v = self.parameters.unwrap_or_default();
         229  +
        v.push(input);
         230  +
        self.parameters = ::std::option::Option::Some(v);
         231  +
        self
         232  +
    }
         233  +
    /// <p>A list of parameters returned by the request.</p>
         234  +
    pub fn set_parameters(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ParameterHistory>>) -> Self {
         235  +
        self.parameters = input;
         236  +
        self
         237  +
    }
         238  +
    /// <p>A list of parameters returned by the request.</p>
         239  +
    pub fn get_parameters(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ParameterHistory>> {
         240  +
        &self.parameters
         241  +
    }
         242  +
    /// <p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>
         243  +
    pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         244  +
        self.next_token = ::std::option::Option::Some(input.into());
         245  +
        self
         246  +
    }
         247  +
    /// <p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>
         248  +
    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         249  +
        self.next_token = input;
         250  +
        self
         251  +
    }
         252  +
    /// <p>The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.</p>
         253  +
    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
         254  +
        &self.next_token
         255  +
    }
         256  +
    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
         257  +
        self._request_id = Some(request_id.into());
         258  +
        self
         259  +
    }
         260  +
         261  +
    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
         262  +
        self._request_id = request_id;
         263  +
        self
         264  +
    }
         265  +
    /// Consumes the builder and constructs a [`GetParameterHistoryOutput`](crate::operation::get_parameter_history::GetParameterHistoryOutput).
         266  +
    pub fn build(self) -> crate::operation::get_parameter_history::GetParameterHistoryOutput {
         267  +
        crate::operation::get_parameter_history::GetParameterHistoryOutput {
         268  +
            parameters: self.parameters,
         269  +
            next_token: self.next_token,
         270  +
            _request_id: self._request_id,
         271  +
        }
         272  +
    }
         273  +
}

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

@@ -0,1 +0,176 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
pub use crate::operation::get_parameter_history::_get_parameter_history_input::GetParameterHistoryInputBuilder;
           3  +
           4  +
pub use crate::operation::get_parameter_history::_get_parameter_history_output::GetParameterHistoryOutputBuilder;
           5  +
           6  +
impl crate::operation::get_parameter_history::builders::GetParameterHistoryInputBuilder {
           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_history::GetParameterHistoryOutput,
          13  +
        ::aws_smithy_runtime_api::client::result::SdkError<
          14  +
            crate::operation::get_parameter_history::GetParameterHistoryError,
          15  +
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
          16  +
        >,
          17  +
    > {
          18  +
        let mut fluent_builder = client.get_parameter_history();
          19  +
        fluent_builder.inner = self;
          20  +
        fluent_builder.send().await
          21  +
    }
          22  +
}
          23  +
/// Fluent builder constructing a request to `GetParameterHistory`.
          24  +
///
          25  +
/// <p>Retrieves the history of all changes to a parameter.</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><important>
          27  +
/// <p>If you change the KMS key alias for the KMS key used to encrypt a parameter, then you must also update the key alias the parameter uses to reference KMS. Otherwise, <code>GetParameterHistory</code> retrieves whatever the original key alias was referencing.</p>
          28  +
/// </important>
          29  +
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
          30  +
pub struct GetParameterHistoryFluentBuilder {
          31  +
    handle: ::std::sync::Arc<crate::client::Handle>,
          32  +
    inner: crate::operation::get_parameter_history::builders::GetParameterHistoryInputBuilder,
          33  +
    config_override: ::std::option::Option<crate::config::Builder>,
          34  +
}
          35  +
impl
          36  +
    crate::client::customize::internal::CustomizableSend<
          37  +
        crate::operation::get_parameter_history::GetParameterHistoryOutput,
          38  +
        crate::operation::get_parameter_history::GetParameterHistoryError,
          39  +
    > for GetParameterHistoryFluentBuilder
          40  +
{
          41  +
    fn send(
          42  +
        self,
          43  +
        config_override: crate::config::Builder,
          44  +
    ) -> crate::client::customize::internal::BoxFuture<
          45  +
        crate::client::customize::internal::SendResult<
          46  +
            crate::operation::get_parameter_history::GetParameterHistoryOutput,
          47  +
            crate::operation::get_parameter_history::GetParameterHistoryError,
          48  +
        >,
          49  +
    > {
          50  +
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
          51  +
    }
          52  +
}
          53  +
impl GetParameterHistoryFluentBuilder {
          54  +
    /// Creates a new `GetParameterHistoryFluentBuilder`.
          55  +
    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
          56  +
        Self {
          57  +
            handle,
          58  +
            inner: ::std::default::Default::default(),
          59  +
            config_override: ::std::option::Option::None,
          60  +
        }
          61  +
    }
          62  +
    /// Access the GetParameterHistory as a reference.
          63  +
    pub fn as_input(&self) -> &crate::operation::get_parameter_history::builders::GetParameterHistoryInputBuilder {
          64  +
        &self.inner
          65  +
    }
          66  +
    /// Sends the request and returns the response.
          67  +
    ///
          68  +
    /// If an error occurs, an `SdkError` will be returned with additional details that
          69  +
    /// can be matched against.
          70  +
    ///
          71  +
    /// By default, any retryable failures will be retried twice. Retry behavior
          72  +
    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
          73  +
    /// set when configuring the client.
          74  +
    pub async fn send(
          75  +
        self,
          76  +
    ) -> ::std::result::Result<
          77  +
        crate::operation::get_parameter_history::GetParameterHistoryOutput,
          78  +
        ::aws_smithy_runtime_api::client::result::SdkError<
          79  +
            crate::operation::get_parameter_history::GetParameterHistoryError,
          80  +
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
          81  +
        >,
          82  +
    > {
          83  +
        let input = self
          84  +
            .inner
          85  +
            .build()
          86  +
            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
          87  +
        let runtime_plugins = crate::operation::get_parameter_history::GetParameterHistory::operation_runtime_plugins(
          88  +
            self.handle.runtime_plugins.clone(),
          89  +
            &self.handle.conf,
          90  +
            self.config_override,
          91  +
        );
          92  +
        crate::operation::get_parameter_history::GetParameterHistory::orchestrate(&runtime_plugins, input).await
          93  +
    }
          94  +
          95  +
    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
          96  +
    pub fn customize(
          97  +
        self,
          98  +
    ) -> crate::client::customize::CustomizableOperation<
          99  +
        crate::operation::get_parameter_history::GetParameterHistoryOutput,
         100  +
        crate::operation::get_parameter_history::GetParameterHistoryError,
         101  +
        Self,
         102  +
    > {
         103  +
        crate::client::customize::CustomizableOperation::new(self)
         104  +
    }
         105  +
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
         106  +
        self.set_config_override(::std::option::Option::Some(config_override.into()));
         107  +
        self
         108  +
    }
         109  +
         110  +
    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
         111  +
        self.config_override = config_override;
         112  +
        self
         113  +
    }
         114  +
    /// Create a paginator for this request
         115  +
    ///
         116  +
    /// Paginators are used by calling [`send().await`](crate::operation::get_parameter_history::paginator::GetParameterHistoryPaginator::send) which returns a [`PaginationStream`](aws_smithy_async::future::pagination_stream::PaginationStream).
         117  +
    pub fn into_paginator(self) -> crate::operation::get_parameter_history::paginator::GetParameterHistoryPaginator {
         118  +
        crate::operation::get_parameter_history::paginator::GetParameterHistoryPaginator::new(self.handle, self.inner)
         119  +
    }
         120  +
    /// <p>The name or Amazon Resource Name (ARN) of the parameter for which you want to review history. For parameters shared with you from another account, you must use the full ARN.</p>
         121  +
    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         122  +
        self.inner = self.inner.name(input.into());
         123  +
        self
         124  +
    }
         125  +
    /// <p>The name or Amazon Resource Name (ARN) of the parameter for which you want to review history. For parameters shared with you from another account, you must use the full ARN.</p>
         126  +
    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         127  +
        self.inner = self.inner.set_name(input);
         128  +
        self
         129  +
    }
         130  +
    /// <p>The name or Amazon Resource Name (ARN) of the parameter for which you want to review history. For parameters shared with you from another account, you must use the full ARN.</p>
         131  +
    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
         132  +
        self.inner.get_name()
         133  +
    }
         134  +
    /// <p>Return decrypted values for secure string parameters. This flag is ignored for <code>String</code> and <code>StringList</code> parameter types.</p>
         135  +
    pub fn with_decryption(mut self, input: bool) -> Self {
         136  +
        self.inner = self.inner.with_decryption(input);
         137  +
        self
         138  +
    }
         139  +
    /// <p>Return decrypted values for secure string parameters. This flag is ignored for <code>String</code> and <code>StringList</code> parameter types.</p>
         140  +
    pub fn set_with_decryption(mut self, input: ::std::option::Option<bool>) -> Self {
         141  +
        self.inner = self.inner.set_with_decryption(input);
         142  +
        self
         143  +
    }
         144  +
    /// <p>Return decrypted values for secure string parameters. This flag is ignored for <code>String</code> and <code>StringList</code> parameter types.</p>
         145  +
    pub fn get_with_decryption(&self) -> &::std::option::Option<bool> {
         146  +
        self.inner.get_with_decryption()
         147  +
    }
         148  +
    /// <p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>
         149  +
    pub fn max_results(mut self, input: i32) -> Self {
         150  +
        self.inner = self.inner.max_results(input);
         151  +
        self
         152  +
    }
         153  +
    /// <p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>
         154  +
    pub fn set_max_results(mut self, input: ::std::option::Option<i32>) -> Self {
         155  +
        self.inner = self.inner.set_max_results(input);
         156  +
        self
         157  +
    }
         158  +
    /// <p>The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.</p>
         159  +
    pub fn get_max_results(&self) -> &::std::option::Option<i32> {
         160  +
        self.inner.get_max_results()
         161  +
    }
         162  +
    /// <p>The token for the next set of items to return. (You received this token from a previous call.)</p>
         163  +
    pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         164  +
        self.inner = self.inner.next_token(input.into());
         165  +
        self
         166  +
    }
         167  +
    /// <p>The token for the next set of items to return. (You received this token from a previous call.)</p>
         168  +
    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         169  +
        self.inner = self.inner.set_next_token(input);
         170  +
        self
         171  +
    }
         172  +
    /// <p>The token for the next set of items to return. (You received this token from a previous call.)</p>
         173  +
    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
         174  +
        self.inner.get_next_token()
         175  +
    }
         176  +
}

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

@@ -0,1 +0,109 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/// Paginator for [`GetParameterHistory`](crate::operation::get_parameter_history::GetParameterHistory)
           3  +
pub struct GetParameterHistoryPaginator {
           4  +
    handle: std::sync::Arc<crate::client::Handle>,
           5  +
    builder: crate::operation::get_parameter_history::builders::GetParameterHistoryInputBuilder,
           6  +
    stop_on_duplicate_token: bool,
           7  +
}
           8  +
           9  +
impl GetParameterHistoryPaginator {
          10  +
    /// Create a new paginator-wrapper
          11  +
    pub(crate) fn new(
          12  +
        handle: std::sync::Arc<crate::client::Handle>,
          13  +
        builder: crate::operation::get_parameter_history::builders::GetParameterHistoryInputBuilder,
          14  +
    ) -> Self {
          15  +
        Self {
          16  +
            handle,
          17  +
            builder,
          18  +
            stop_on_duplicate_token: true,
          19  +
        }
          20  +
    }
          21  +
          22  +
    /// Set the page size
          23  +
    ///
          24  +
    /// _Note: this method will override any previously set value for `max_results`_
          25  +
    pub fn page_size(mut self, limit: i32) -> Self {
          26  +
        self.builder.max_results = ::std::option::Option::Some(limit);
          27  +
        self
          28  +
    }
          29  +
          30  +
    /// Stop paginating when the service returns the same pagination token twice in a row.
          31  +
    ///
          32  +
    /// Defaults to true.
          33  +
    ///
          34  +
    /// For certain operations, it may be useful to continue on duplicate token. For example,
          35  +
    /// if an operation is for tailing a log file in real-time, then continuing may be desired.
          36  +
    /// This option can be set to `false` to accommodate these use cases.
          37  +
    pub fn stop_on_duplicate_token(mut self, stop_on_duplicate_token: bool) -> Self {
          38  +
        self.stop_on_duplicate_token = stop_on_duplicate_token;
          39  +
        self
          40  +
    }
          41  +
          42  +
    /// Create the pagination stream
          43  +
    ///
          44  +
    /// _Note:_ No requests will be dispatched until the stream is used
          45  +
    /// (e.g. with the [`.next().await`](aws_smithy_async::future::pagination_stream::PaginationStream::next) method).
          46  +
    pub fn send(
          47  +
        self,
          48  +
    ) -> ::aws_smithy_async::future::pagination_stream::PaginationStream<
          49  +
        ::std::result::Result<
          50  +
            crate::operation::get_parameter_history::GetParameterHistoryOutput,
          51  +
            ::aws_smithy_runtime_api::client::result::SdkError<
          52  +
                crate::operation::get_parameter_history::GetParameterHistoryError,
          53  +
                ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
          54  +
            >,
          55  +
        >,
          56  +
    > {
          57  +
        // Move individual fields out of self for the borrow checker
          58  +
        let builder = self.builder;
          59  +
        let handle = self.handle;
          60  +
        let runtime_plugins = crate::operation::get_parameter_history::GetParameterHistory::operation_runtime_plugins(
          61  +
            handle.runtime_plugins.clone(),
          62  +
            &handle.conf,
          63  +
            ::std::option::Option::None,
          64  +
        )
          65  +
        .with_operation_plugin(crate::sdk_feature_tracker::paginator::PaginatorFeatureTrackerRuntimePlugin::new());
          66  +
        ::aws_smithy_async::future::pagination_stream::PaginationStream::new(::aws_smithy_async::future::pagination_stream::fn_stream::FnStream::new(
          67  +
            move |tx| {
          68  +
                ::std::boxed::Box::pin(async move {
          69  +
                    // Build the input for the first time. If required fields are missing, this is where we'll produce an early error.
          70  +
                    let mut input = match builder
          71  +
                        .build()
          72  +
                        .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)
          73  +
                    {
          74  +
                        ::std::result::Result::Ok(input) => input,
          75  +
                        ::std::result::Result::Err(e) => {
          76  +
                            let _ = tx.send(::std::result::Result::Err(e)).await;
          77  +
                            return;
          78  +
                        }
          79  +
                    };
          80  +
                    loop {
          81  +
                        let resp = crate::operation::get_parameter_history::GetParameterHistory::orchestrate(&runtime_plugins, input.clone()).await;
          82  +
                        // If the input member is None or it was an error
          83  +
                        let done = match resp {
          84  +
                            ::std::result::Result::Ok(ref resp) => {
          85  +
                                let new_token = crate::lens::reflens_get_parameter_history_output_output_next_token(resp);
          86  +
                                // Pagination is exhausted when the next token is an empty string
          87  +
                                let is_empty = new_token.map(|token| token.is_empty()).unwrap_or(true);
          88  +
                                if !is_empty && new_token == input.next_token.as_ref() && self.stop_on_duplicate_token {
          89  +
                                    true
          90  +
                                } else {
          91  +
                                    input.next_token = new_token.cloned();
          92  +
                                    is_empty
          93  +
                                }
          94  +
                            }
          95  +
                            ::std::result::Result::Err(_) => true,
          96  +
                        };
          97  +
                        if tx.send(resp).await.is_err() {
          98  +
                            // receiving end was dropped
          99  +
                            return;
         100  +
                        }
         101  +
                        if done {
         102  +
                            return;
         103  +
                        }
         104  +
                    }
         105  +
                })
         106  +
            },
         107  +
        ))
         108  +
    }
         109  +
}

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

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