AWS SDK

AWS SDK

rev. 97ba95e6039d206ffea5b866ddc214d34f7f88c3 (ignoring whitespace)

Files changed:

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

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

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

@@ -0,1 +0,216 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
pub use crate::operation::get_ops_summary::_get_ops_summary_input::GetOpsSummaryInputBuilder;
           3  +
           4  +
pub use crate::operation::get_ops_summary::_get_ops_summary_output::GetOpsSummaryOutputBuilder;
           5  +
           6  +
impl crate::operation::get_ops_summary::builders::GetOpsSummaryInputBuilder {
           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_ops_summary::GetOpsSummaryOutput,
          13  +
        ::aws_smithy_runtime_api::client::result::SdkError<
          14  +
            crate::operation::get_ops_summary::GetOpsSummaryError,
          15  +
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
          16  +
        >,
          17  +
    > {
          18  +
        let mut fluent_builder = client.get_ops_summary();
          19  +
        fluent_builder.inner = self;
          20  +
        fluent_builder.send().await
          21  +
    }
          22  +
}
          23  +
/// Fluent builder constructing a request to `GetOpsSummary`.
          24  +
///
          25  +
/// <p>View a summary of operations metadata (OpsData) based on specified filters and aggregators. OpsData can include information about Amazon Web Services Systems Manager OpsCenter operational workitems (OpsItems) as well as information about any Amazon Web Services resource or service configured to report OpsData to Amazon Web Services Systems Manager Explorer.</p>
          26  +
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
          27  +
pub struct GetOpsSummaryFluentBuilder {
          28  +
    handle: ::std::sync::Arc<crate::client::Handle>,
          29  +
    inner: crate::operation::get_ops_summary::builders::GetOpsSummaryInputBuilder,
          30  +
    config_override: ::std::option::Option<crate::config::Builder>,
          31  +
}
          32  +
impl
          33  +
    crate::client::customize::internal::CustomizableSend<
          34  +
        crate::operation::get_ops_summary::GetOpsSummaryOutput,
          35  +
        crate::operation::get_ops_summary::GetOpsSummaryError,
          36  +
    > for GetOpsSummaryFluentBuilder
          37  +
{
          38  +
    fn send(
          39  +
        self,
          40  +
        config_override: crate::config::Builder,
          41  +
    ) -> crate::client::customize::internal::BoxFuture<
          42  +
        crate::client::customize::internal::SendResult<
          43  +
            crate::operation::get_ops_summary::GetOpsSummaryOutput,
          44  +
            crate::operation::get_ops_summary::GetOpsSummaryError,
          45  +
        >,
          46  +
    > {
          47  +
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
          48  +
    }
          49  +
}
          50  +
impl GetOpsSummaryFluentBuilder {
          51  +
    /// Creates a new `GetOpsSummaryFluentBuilder`.
          52  +
    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
          53  +
        Self {
          54  +
            handle,
          55  +
            inner: ::std::default::Default::default(),
          56  +
            config_override: ::std::option::Option::None,
          57  +
        }
          58  +
    }
          59  +
    /// Access the GetOpsSummary as a reference.
          60  +
    pub fn as_input(&self) -> &crate::operation::get_ops_summary::builders::GetOpsSummaryInputBuilder {
          61  +
        &self.inner
          62  +
    }
          63  +
    /// Sends the request and returns the response.
          64  +
    ///
          65  +
    /// If an error occurs, an `SdkError` will be returned with additional details that
          66  +
    /// can be matched against.
          67  +
    ///
          68  +
    /// By default, any retryable failures will be retried twice. Retry behavior
          69  +
    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
          70  +
    /// set when configuring the client.
          71  +
    pub async fn send(
          72  +
        self,
          73  +
    ) -> ::std::result::Result<
          74  +
        crate::operation::get_ops_summary::GetOpsSummaryOutput,
          75  +
        ::aws_smithy_runtime_api::client::result::SdkError<
          76  +
            crate::operation::get_ops_summary::GetOpsSummaryError,
          77  +
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
          78  +
        >,
          79  +
    > {
          80  +
        let input = self
          81  +
            .inner
          82  +
            .build()
          83  +
            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
          84  +
        let runtime_plugins = crate::operation::get_ops_summary::GetOpsSummary::operation_runtime_plugins(
          85  +
            self.handle.runtime_plugins.clone(),
          86  +
            &self.handle.conf,
          87  +
            self.config_override,
          88  +
        );
          89  +
        crate::operation::get_ops_summary::GetOpsSummary::orchestrate(&runtime_plugins, input).await
          90  +
    }
          91  +
          92  +
    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
          93  +
    pub fn customize(
          94  +
        self,
          95  +
    ) -> crate::client::customize::CustomizableOperation<
          96  +
        crate::operation::get_ops_summary::GetOpsSummaryOutput,
          97  +
        crate::operation::get_ops_summary::GetOpsSummaryError,
          98  +
        Self,
          99  +
    > {
         100  +
        crate::client::customize::CustomizableOperation::new(self)
         101  +
    }
         102  +
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
         103  +
        self.set_config_override(::std::option::Option::Some(config_override.into()));
         104  +
        self
         105  +
    }
         106  +
         107  +
    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
         108  +
        self.config_override = config_override;
         109  +
        self
         110  +
    }
         111  +
    /// Create a paginator for this request
         112  +
    ///
         113  +
    /// Paginators are used by calling [`send().await`](crate::operation::get_ops_summary::paginator::GetOpsSummaryPaginator::send) which returns a [`PaginationStream`](aws_smithy_async::future::pagination_stream::PaginationStream).
         114  +
    pub fn into_paginator(self) -> crate::operation::get_ops_summary::paginator::GetOpsSummaryPaginator {
         115  +
        crate::operation::get_ops_summary::paginator::GetOpsSummaryPaginator::new(self.handle, self.inner)
         116  +
    }
         117  +
    /// <p>Specify the name of a resource data sync to get.</p>
         118  +
    pub fn sync_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         119  +
        self.inner = self.inner.sync_name(input.into());
         120  +
        self
         121  +
    }
         122  +
    /// <p>Specify the name of a resource data sync to get.</p>
         123  +
    pub fn set_sync_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         124  +
        self.inner = self.inner.set_sync_name(input);
         125  +
        self
         126  +
    }
         127  +
    /// <p>Specify the name of a resource data sync to get.</p>
         128  +
    pub fn get_sync_name(&self) -> &::std::option::Option<::std::string::String> {
         129  +
        self.inner.get_sync_name()
         130  +
    }
         131  +
    ///
         132  +
    /// Appends an item to `Filters`.
         133  +
    ///
         134  +
    /// To override the contents of this collection use [`set_filters`](Self::set_filters).
         135  +
    ///
         136  +
    /// <p>Optional filters used to scope down the returned OpsData.</p>
         137  +
    pub fn filters(mut self, input: crate::types::OpsFilter) -> Self {
         138  +
        self.inner = self.inner.filters(input);
         139  +
        self
         140  +
    }
         141  +
    /// <p>Optional filters used to scope down the returned OpsData.</p>
         142  +
    pub fn set_filters(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::OpsFilter>>) -> Self {
         143  +
        self.inner = self.inner.set_filters(input);
         144  +
        self
         145  +
    }
         146  +
    /// <p>Optional filters used to scope down the returned OpsData.</p>
         147  +
    pub fn get_filters(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::OpsFilter>> {
         148  +
        self.inner.get_filters()
         149  +
    }
         150  +
    ///
         151  +
    /// Appends an item to `Aggregators`.
         152  +
    ///
         153  +
    /// To override the contents of this collection use [`set_aggregators`](Self::set_aggregators).
         154  +
    ///
         155  +
    /// <p>Optional aggregators that return counts of OpsData based on one or more expressions.</p>
         156  +
    pub fn aggregators(mut self, input: crate::types::OpsAggregator) -> Self {
         157  +
        self.inner = self.inner.aggregators(input);
         158  +
        self
         159  +
    }
         160  +
    /// <p>Optional aggregators that return counts of OpsData based on one or more expressions.</p>
         161  +
    pub fn set_aggregators(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::OpsAggregator>>) -> Self {
         162  +
        self.inner = self.inner.set_aggregators(input);
         163  +
        self
         164  +
    }
         165  +
    /// <p>Optional aggregators that return counts of OpsData based on one or more expressions.</p>
         166  +
    pub fn get_aggregators(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::OpsAggregator>> {
         167  +
        self.inner.get_aggregators()
         168  +
    }
         169  +
    ///
         170  +
    /// Appends an item to `ResultAttributes`.
         171  +
    ///
         172  +
    /// To override the contents of this collection use [`set_result_attributes`](Self::set_result_attributes).
         173  +
    ///
         174  +
    /// <p>The OpsData data type to return.</p>
         175  +
    pub fn result_attributes(mut self, input: crate::types::OpsResultAttribute) -> Self {
         176  +
        self.inner = self.inner.result_attributes(input);
         177  +
        self
         178  +
    }
         179  +
    /// <p>The OpsData data type to return.</p>
         180  +
    pub fn set_result_attributes(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::OpsResultAttribute>>) -> Self {
         181  +
        self.inner = self.inner.set_result_attributes(input);
         182  +
        self
         183  +
    }
         184  +
    /// <p>The OpsData data type to return.</p>
         185  +
    pub fn get_result_attributes(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::OpsResultAttribute>> {
         186  +
        self.inner.get_result_attributes()
         187  +
    }
         188  +
    /// <p>A token to start the list. Use this token to get the next set of results.</p>
         189  +
    pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         190  +
        self.inner = self.inner.next_token(input.into());
         191  +
        self
         192  +
    }
         193  +
    /// <p>A token to start the list. Use this token to get the next set of results.</p>
         194  +
    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         195  +
        self.inner = self.inner.set_next_token(input);
         196  +
        self
         197  +
    }
         198  +
    /// <p>A token to start the list. Use this token to get the next set of results.</p>
         199  +
    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
         200  +
        self.inner.get_next_token()
         201  +
    }
         202  +
    /// <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>
         203  +
    pub fn max_results(mut self, input: i32) -> Self {
         204  +
        self.inner = self.inner.max_results(input);
         205  +
        self
         206  +
    }
         207  +
    /// <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>
         208  +
    pub fn set_max_results(mut self, input: ::std::option::Option<i32>) -> Self {
         209  +
        self.inner = self.inner.set_max_results(input);
         210  +
        self
         211  +
    }
         212  +
    /// <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>
         213  +
    pub fn get_max_results(&self) -> &::std::option::Option<i32> {
         214  +
        self.inner.get_max_results()
         215  +
    }
         216  +
}

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

@@ -0,1 +0,148 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/// Paginator for [`GetOpsSummary`](crate::operation::get_ops_summary::GetOpsSummary)
           3  +
pub struct GetOpsSummaryPaginator {
           4  +
    handle: std::sync::Arc<crate::client::Handle>,
           5  +
    builder: crate::operation::get_ops_summary::builders::GetOpsSummaryInputBuilder,
           6  +
    stop_on_duplicate_token: bool,
           7  +
}
           8  +
           9  +
impl GetOpsSummaryPaginator {
          10  +
    /// Create a new paginator-wrapper
          11  +
    pub(crate) fn new(
          12  +
        handle: std::sync::Arc<crate::client::Handle>,
          13  +
        builder: crate::operation::get_ops_summary::builders::GetOpsSummaryInputBuilder,
          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  +
    /// Create a flattened paginator
          31  +
    ///
          32  +
    /// This paginator automatically flattens results using `entities`. Queries to the underlying service
          33  +
    /// are dispatched lazily.
          34  +
    pub fn items(self) -> crate::operation::get_ops_summary::paginator::GetOpsSummaryPaginatorItems {
          35  +
        crate::operation::get_ops_summary::paginator::GetOpsSummaryPaginatorItems(self)
          36  +
    }
          37  +
          38  +
    /// Stop paginating when the service returns the same pagination token twice in a row.
          39  +
    ///
          40  +
    /// Defaults to true.
          41  +
    ///
          42  +
    /// For certain operations, it may be useful to continue on duplicate token. For example,
          43  +
    /// if an operation is for tailing a log file in real-time, then continuing may be desired.
          44  +
    /// This option can be set to `false` to accommodate these use cases.
          45  +
    pub fn stop_on_duplicate_token(mut self, stop_on_duplicate_token: bool) -> Self {
          46  +
        self.stop_on_duplicate_token = stop_on_duplicate_token;
          47  +
        self
          48  +
    }
          49  +
          50  +
    /// Create the pagination stream
          51  +
    ///
          52  +
    /// _Note:_ No requests will be dispatched until the stream is used
          53  +
    /// (e.g. with the [`.next().await`](aws_smithy_async::future::pagination_stream::PaginationStream::next) method).
          54  +
    pub fn send(
          55  +
        self,
          56  +
    ) -> ::aws_smithy_async::future::pagination_stream::PaginationStream<
          57  +
        ::std::result::Result<
          58  +
            crate::operation::get_ops_summary::GetOpsSummaryOutput,
          59  +
            ::aws_smithy_runtime_api::client::result::SdkError<
          60  +
                crate::operation::get_ops_summary::GetOpsSummaryError,
          61  +
                ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
          62  +
            >,
          63  +
        >,
          64  +
    > {
          65  +
        // Move individual fields out of self for the borrow checker
          66  +
        let builder = self.builder;
          67  +
        let handle = self.handle;
          68  +
        let runtime_plugins = crate::operation::get_ops_summary::GetOpsSummary::operation_runtime_plugins(
          69  +
            handle.runtime_plugins.clone(),
          70  +
            &handle.conf,
          71  +
            ::std::option::Option::None,
          72  +
        )
          73  +
        .with_operation_plugin(crate::sdk_feature_tracker::paginator::PaginatorFeatureTrackerRuntimePlugin::new());
          74  +
        ::aws_smithy_async::future::pagination_stream::PaginationStream::new(::aws_smithy_async::future::pagination_stream::fn_stream::FnStream::new(
          75  +
            move |tx| {
          76  +
                ::std::boxed::Box::pin(async move {
          77  +
                    // Build the input for the first time. If required fields are missing, this is where we'll produce an early error.
          78  +
                    let mut input = match builder
          79  +
                        .build()
          80  +
                        .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)
          81  +
                    {
          82  +
                        ::std::result::Result::Ok(input) => input,
          83  +
                        ::std::result::Result::Err(e) => {
          84  +
                            let _ = tx.send(::std::result::Result::Err(e)).await;
          85  +
                            return;
          86  +
                        }
          87  +
                    };
          88  +
                    loop {
          89  +
                        let resp = crate::operation::get_ops_summary::GetOpsSummary::orchestrate(&runtime_plugins, input.clone()).await;
          90  +
                        // If the input member is None or it was an error
          91  +
                        let done = match resp {
          92  +
                            ::std::result::Result::Ok(ref resp) => {
          93  +
                                let new_token = crate::lens::reflens_get_ops_summary_output_output_next_token(resp);
          94  +
                                // Pagination is exhausted when the next token is an empty string
          95  +
                                let is_empty = new_token.map(|token| token.is_empty()).unwrap_or(true);
          96  +
                                if !is_empty && new_token == input.next_token.as_ref() && self.stop_on_duplicate_token {
          97  +
                                    true
          98  +
                                } else {
          99  +
                                    input.next_token = new_token.cloned();
         100  +
                                    is_empty
         101  +
                                }
         102  +
                            }
         103  +
                            ::std::result::Result::Err(_) => true,
         104  +
                        };
         105  +
                        if tx.send(resp).await.is_err() {
         106  +
                            // receiving end was dropped
         107  +
                            return;
         108  +
                        }
         109  +
                        if done {
         110  +
                            return;
         111  +
                        }
         112  +
                    }
         113  +
                })
         114  +
            },
         115  +
        ))
         116  +
    }
         117  +
}
         118  +
         119  +
/// Flattened paginator for `GetOpsSummaryPaginator`
         120  +
///
         121  +
/// This is created with [`.items()`](GetOpsSummaryPaginator::items)
         122  +
pub struct GetOpsSummaryPaginatorItems(GetOpsSummaryPaginator);
         123  +
         124  +
impl GetOpsSummaryPaginatorItems {
         125  +
    /// Create the pagination stream
         126  +
    ///
         127  +
    /// _Note_: No requests will be dispatched until the stream is used
         128  +
    /// (e.g. with the [`.next().await`](aws_smithy_async::future::pagination_stream::PaginationStream::next) method).
         129  +
    ///
         130  +
    /// To read the entirety of the paginator, use [`.collect::<Result<Vec<_>, _>()`](aws_smithy_async::future::pagination_stream::PaginationStream::collect).
         131  +
    pub fn send(
         132  +
        self,
         133  +
    ) -> ::aws_smithy_async::future::pagination_stream::PaginationStream<
         134  +
        ::std::result::Result<
         135  +
            crate::types::OpsEntity,
         136  +
            ::aws_smithy_runtime_api::client::result::SdkError<
         137  +
                crate::operation::get_ops_summary::GetOpsSummaryError,
         138  +
                ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
         139  +
            >,
         140  +
        >,
         141  +
    > {
         142  +
        ::aws_smithy_async::future::pagination_stream::TryFlatMap::new(self.0.send()).flat_map(|page| {
         143  +
            crate::lens::lens_get_ops_summary_output_output_entities(page)
         144  +
                .unwrap_or_default()
         145  +
                .into_iter()
         146  +
        })
         147  +
    }
         148  +
}

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

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