aws_sdk_sts/
sdk_feature_tracker.rs#[allow(dead_code)]
pub(crate) mod rpc_v2_cbor {
use aws_smithy_runtime::client::sdk_feature::SmithySdkFeature;
use aws_smithy_runtime_api::box_error::BoxError;
use aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextMut;
use aws_smithy_runtime_api::client::interceptors::Intercept;
use aws_smithy_runtime_api::client::runtime_components::RuntimeComponents;
use aws_smithy_types::config_bag::ConfigBag;
#[derive(Debug)]
pub(crate) struct RpcV2CborFeatureTrackerInterceptor;
impl RpcV2CborFeatureTrackerInterceptor {
pub(crate) fn new() -> Self {
Self
}
}
impl Intercept for RpcV2CborFeatureTrackerInterceptor {
fn name(&self) -> &'static str {
"RpcV2CborFeatureTrackerInterceptor"
}
fn modify_before_serialization(
&self,
_context: &mut BeforeSerializationInterceptorContextMut<'_>,
_runtime_components: &RuntimeComponents,
cfg: &mut ConfigBag,
) -> Result<(), BoxError> {
cfg.interceptor_state()
.store_append::<SmithySdkFeature>(SmithySdkFeature::ProtocolRpcV2Cbor);
Ok(())
}
}
}
#[allow(dead_code)]
pub(crate) mod paginator {
use aws_smithy_runtime::client::sdk_feature::SmithySdkFeature;
use aws_smithy_runtime_api::box_error::BoxError;
use aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextMut;
use aws_smithy_runtime_api::client::interceptors::{Intercept, SharedInterceptor};
use aws_smithy_runtime_api::client::runtime_components::{RuntimeComponents, RuntimeComponentsBuilder};
use aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin;
use aws_smithy_types::config_bag::ConfigBag;
use std::borrow::Cow;
#[derive(Debug)]
struct PaginatorFeatureTrackerInterceptor;
impl PaginatorFeatureTrackerInterceptor {
pub(crate) fn new() -> Self {
Self
}
}
impl Intercept for PaginatorFeatureTrackerInterceptor {
fn name(&self) -> &'static str {
"PaginatorFeatureTrackerInterceptor"
}
fn modify_before_serialization(
&self,
_context: &mut BeforeSerializationInterceptorContextMut<'_>,
_runtime_components: &RuntimeComponents,
cfg: &mut ConfigBag,
) -> Result<(), BoxError> {
cfg.interceptor_state().store_append::<SmithySdkFeature>(SmithySdkFeature::Paginator);
Ok(())
}
}
#[derive(Debug)]
pub(crate) struct PaginatorFeatureTrackerRuntimePlugin {
runtime_components: RuntimeComponentsBuilder,
}
impl PaginatorFeatureTrackerRuntimePlugin {
pub(crate) fn new() -> Self {
Self {
runtime_components: RuntimeComponentsBuilder::new("PaginatorFeatureTrackerRuntimePlugin")
.with_interceptor(SharedInterceptor::new(PaginatorFeatureTrackerInterceptor::new())),
}
}
}
impl RuntimePlugin for PaginatorFeatureTrackerRuntimePlugin {
fn runtime_components(&self, _: &RuntimeComponentsBuilder) -> Cow<'_, RuntimeComponentsBuilder> {
Cow::Borrowed(&self.runtime_components)
}
}
}
#[allow(dead_code)]
pub(crate) mod waiter {
use aws_smithy_runtime::client::sdk_feature::SmithySdkFeature;
use aws_smithy_runtime_api::box_error::BoxError;
use aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextMut;
use aws_smithy_runtime_api::client::interceptors::{Intercept, SharedInterceptor};
use aws_smithy_runtime_api::client::runtime_components::{RuntimeComponents, RuntimeComponentsBuilder};
use aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin;
use aws_smithy_types::config_bag::ConfigBag;
use std::borrow::Cow;
#[derive(Debug)]
struct WaiterFeatureTrackerInterceptor;
impl WaiterFeatureTrackerInterceptor {
pub(crate) fn new() -> Self {
Self
}
}
impl Intercept for WaiterFeatureTrackerInterceptor {
fn name(&self) -> &'static str {
"WaiterFeatureTrackerInterceptor"
}
fn modify_before_serialization(
&self,
_context: &mut BeforeSerializationInterceptorContextMut<'_>,
_runtime_components: &RuntimeComponents,
cfg: &mut ConfigBag,
) -> Result<(), BoxError> {
cfg.interceptor_state().store_append::<SmithySdkFeature>(SmithySdkFeature::Waiter);
Ok(())
}
}
#[derive(Debug)]
pub(crate) struct WaiterFeatureTrackerRuntimePlugin {
runtime_components: RuntimeComponentsBuilder,
}
impl WaiterFeatureTrackerRuntimePlugin {
pub(crate) fn new() -> Self {
Self {
runtime_components: RuntimeComponentsBuilder::new("WaiterFeatureTrackerRuntimePlugin")
.with_interceptor(SharedInterceptor::new(WaiterFeatureTrackerInterceptor::new())),
}
}
}
impl RuntimePlugin for WaiterFeatureTrackerRuntimePlugin {
fn runtime_components(&self, _: &RuntimeComponentsBuilder) -> Cow<'_, RuntimeComponentsBuilder> {
Cow::Borrowed(&self.runtime_components)
}
}
}
#[allow(dead_code)]
pub(crate) mod retry_mode {
use aws_smithy_runtime::client::sdk_feature::SmithySdkFeature;
use aws_smithy_runtime_api::box_error::BoxError;
use aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef;
use aws_smithy_runtime_api::client::interceptors::Intercept;
use aws_smithy_runtime_api::client::runtime_components::RuntimeComponents;
use aws_smithy_types::config_bag::ConfigBag;
use aws_smithy_types::retry::{RetryConfig, RetryMode};
#[derive(Debug)]
pub(crate) struct RetryModeFeatureTrackerInterceptor;
impl RetryModeFeatureTrackerInterceptor {
pub(crate) fn new() -> Self {
Self
}
}
impl Intercept for RetryModeFeatureTrackerInterceptor {
fn name(&self) -> &'static str {
"RetryModeFeatureTrackerInterceptor"
}
fn read_before_serialization(
&self,
_context: &BeforeSerializationInterceptorContextRef<'_>,
_runtime_components: &RuntimeComponents,
cfg: &mut ConfigBag,
) -> Result<(), BoxError> {
cfg.load::<RetryConfig>()
.map(|retry_config| match retry_config.mode() {
RetryMode::Standard => SmithySdkFeature::RetryModeStandard,
RetryMode::Adaptive => SmithySdkFeature::RetryModeAdaptive,
_ => unreachable!("retry mode must be standard or adaptive"),
})
.map(|feature| cfg.interceptor_state().store_append::<SmithySdkFeature>(feature));
Ok(())
}
}
}