AWS SDK

AWS SDK

rev. b03bf5aed2782c4318a3be6187062c92ef123a66

Files changed:

tmp-codegen-diff/aws-sdk/sdk/aws-smithy-observability/src/meter.rs

@@ -1,1 +47,47 @@
    7      7   
//! real time.
    8      8   
    9      9   
use crate::instruments::{
   10     10   
    AsyncInstrumentBuilder, AsyncMeasure, Histogram, InstrumentBuilder, MonotonicCounter,
   11     11   
    UpDownCounter,
   12     12   
};
   13     13   
use crate::{attributes::Attributes, instruments::ProvideInstrument};
   14     14   
use std::{borrow::Cow, fmt::Debug, sync::Arc};
   15     15   
   16     16   
/// Provides named instances of [Meter].
   17         -
pub trait ProvideMeter: Send + Sync + Debug {
          17  +
pub trait ProvideMeter: Send + Sync + Debug + std::any::Any {
   18     18   
    /// Get or create a named [Meter].
   19     19   
    fn get_meter(&self, scope: &'static str, attributes: Option<&Attributes>) -> Meter;
   20     20   
}
   21     21   
   22     22   
/// The entry point to creating instruments. A grouping of related metrics.
   23     23   
#[derive(Clone)]
   24     24   
pub struct Meter {
   25     25   
    pub(crate) instrument_provider: Arc<dyn ProvideInstrument + Send + Sync>,
   26     26   
}
   27     27   

tmp-codegen-diff/aws-sdk/sdk/aws-smithy-observability/src/noop.rs

@@ -1,1 +52,55 @@
   11     11   
use crate::instruments::{
   12     12   
    AsyncInstrumentBuilder, AsyncMeasure, Histogram, InstrumentBuilder, MonotonicCounter,
   13     13   
    ProvideInstrument, UpDownCounter,
   14     14   
};
   15     15   
use crate::{
   16     16   
    attributes::Attributes,
   17     17   
    context::Context,
   18     18   
    meter::{Meter, ProvideMeter},
   19     19   
};
   20     20   
          21  +
/// A no-op implementation of [`ProvideMeter`] that creates no-op meters.
          22  +
///
          23  +
/// This provider is useful for testing or when observability is disabled.
   21     24   
#[derive(Debug)]
   22         -
pub(crate) struct NoopMeterProvider;
          25  +
pub struct NoopMeterProvider;
   23     26   
impl ProvideMeter for NoopMeterProvider {
   24     27   
    fn get_meter(&self, _scope: &'static str, _attributes: Option<&Attributes>) -> Meter {
   25     28   
        Meter::new(Arc::new(NoopMeter))
   26     29   
    }
   27     30   
}
   28     31   
   29     32   
#[derive(Debug)]
   30     33   
pub(crate) struct NoopMeter;
   31     34   
impl ProvideInstrument for NoopMeter {
   32     35   
    fn create_gauge(

tmp-codegen-diff/aws-sdk/sdk/aws-smithy-observability/src/provider.rs

@@ -1,1 +89,115 @@
    6      6   
//! Definitions of high level Telemetry Providers.
    7      7   
    8      8   
use std::sync::Arc;
    9      9   
   10     10   
use crate::{meter::ProvideMeter, noop::NoopMeterProvider};
   11     11   
   12     12   
/// A struct to hold the various types of telemetry providers.
   13     13   
#[non_exhaustive]
   14     14   
pub struct TelemetryProvider {
   15     15   
    meter_provider: Arc<dyn ProvideMeter + Send + Sync>,
          16  +
    is_otel: bool,
   16     17   
}
   17     18   
   18     19   
impl TelemetryProvider {
   19     20   
    /// Returns a builder struct for [TelemetryProvider]
   20     21   
    pub fn builder() -> TelemetryProviderBuilder {
   21     22   
        TelemetryProviderBuilder {
   22     23   
            meter_provider: Arc::new(NoopMeterProvider),
          24  +
            is_otel: false,
   23     25   
        }
   24     26   
    }
   25     27   
   26     28   
    /// Returns a noop [TelemetryProvider]
   27     29   
    pub fn noop() -> TelemetryProvider {
   28     30   
        Self {
   29     31   
            meter_provider: Arc::new(NoopMeterProvider),
          32  +
            is_otel: false,
   30     33   
        }
   31     34   
    }
   32     35   
   33     36   
    /// Get the set [ProvideMeter]
   34     37   
    pub fn meter_provider(&self) -> &(dyn ProvideMeter + Send + Sync) {
   35     38   
        self.meter_provider.as_ref()
   36     39   
    }
          40  +
          41  +
    /// Returns true if this provider is using OpenTelemetry
          42  +
    pub fn is_otel(&self) -> bool {
          43  +
        self.is_otel
          44  +
    }
          45  +
          46  +
    /// Returns true if this provider is a noop provider
          47  +
    pub fn is_noop(&self) -> bool {
          48  +
        // Check if the meter provider is the NoopMeterProvider by attempting to downcast
          49  +
        use std::any::Any;
          50  +
        (&*self.meter_provider as &dyn Any)
          51  +
            .downcast_ref::<NoopMeterProvider>()
          52  +
            .is_some()
          53  +
    }
   37     54   
}
   38     55   
   39     56   
// If we choose to expand our Telemetry provider and make Logging and Tracing
   40     57   
// configurable at some point in the future we can do that by adding default
   41     58   
// logger_provider and tracer_providers based on `tracing` to maintain backwards
   42     59   
// compatibilty with what we have today.
   43     60   
impl Default for TelemetryProvider {
   44     61   
    fn default() -> Self {
   45     62   
        Self {
   46     63   
            meter_provider: Arc::new(NoopMeterProvider),
          64  +
            is_otel: false,
   47     65   
        }
   48     66   
    }
   49     67   
}
   50     68   
   51     69   
/// A builder for [TelemetryProvider].
   52     70   
#[non_exhaustive]
   53     71   
pub struct TelemetryProviderBuilder {
   54     72   
    meter_provider: Arc<dyn ProvideMeter + Send + Sync>,
          73  +
    is_otel: bool,
   55     74   
}
   56     75   
   57     76   
impl TelemetryProviderBuilder {
   58     77   
    /// Set the [ProvideMeter].
   59     78   
    pub fn meter_provider(mut self, meter_provider: Arc<impl ProvideMeter + 'static>) -> Self {
   60     79   
        self.meter_provider = meter_provider;
   61     80   
        self
   62     81   
    }
   63     82   
          83  +
    /// Mark this provider as using OpenTelemetry.
          84  +
    pub fn with_otel(mut self, is_otel: bool) -> Self {
          85  +
        self.is_otel = is_otel;
          86  +
        self
          87  +
    }
          88  +
   64     89   
    /// Build the [TelemetryProvider].
   65     90   
    pub fn build(self) -> TelemetryProvider {
   66     91   
        TelemetryProvider {
   67     92   
            meter_provider: self.meter_provider,
          93  +
            is_otel: self.is_otel,
   68     94   
        }
   69     95   
    }
   70     96   
}
   71     97   
   72     98   
/// Wrapper type to hold a implementer of TelemetryProvider in an Arc so that
   73     99   
/// it can be safely used across threads.
   74    100   
#[non_exhaustive]
   75    101   
pub(crate) struct GlobalTelemetryProvider {
   76    102   
    pub(crate) telemetry_provider: Arc<TelemetryProvider>,
   77    103   
}

tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml

@@ -1,1 +79,79 @@
    1      1   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
[package]
    3      3   
name = "aws-smithy-runtime"
    4         -
version = "1.9.4"
           4  +
version = "1.9.5"
    5      5   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Zelda Hessler <zhessler@amazon.com>"]
    6      6   
description = "The new smithy runtime crate"
    7      7   
edition = "2021"
    8      8   
license = "Apache-2.0"
    9      9   
repository = "https://github.com/smithy-lang/smithy-rs"
   10     10   
[package.metadata.docs.rs]
   11     11   
all-features = true
   12     12   
targets = ["x86_64-unknown-linux-gnu"]
   13     13   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
   14     14   
rustdoc-args = ["--cfg", "docsrs"]
   15     15   
   16     16   
[package.metadata.smithy-rs-release-tooling]
   17     17   
stable = true
   18     18   
[package.metadata.cargo-udeps.ignore]
   19     19   
normal = ["aws-smithy-http"]
   20     20   
   21     21   
[features]
   22     22   
client = ["aws-smithy-runtime-api/client", "aws-smithy-types/http-body-1-x"]
   23     23   
http-auth = ["aws-smithy-runtime-api/http-auth"]
   24     24   
connector-hyper-0-14-x = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/hyper-014"]
   25     25   
tls-rustls = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/legacy-rustls-ring", "connector-hyper-0-14-x"]
   26     26   
default-https-client = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/rustls-aws-lc"]
   27     27   
rt-tokio = ["tokio/rt"]
   28     28   
test-util = ["aws-smithy-runtime-api/test-util", "dep:tracing-subscriber", "aws-smithy-http-client/test-util", "legacy-test-util"]
   29     29   
legacy-test-util = ["aws-smithy-runtime-api/test-util", "dep:tracing-subscriber", "aws-smithy-http-client/test-util", "connector-hyper-0-14-x", "aws-smithy-http-client/legacy-test-util"]
   30     30   
wire-mock = ["legacy-test-util", "aws-smithy-http-client/wire-mock"]
   31     31   
   32     32   
[dependencies]
   33     33   
bytes = "1.10.0"
   34     34   
fastrand = "2.3.0"
   35     35   
pin-project-lite = "0.2.14"
   36     36   
pin-utils = "0.1.0"
   37     37   
tracing = "0.1.40"
   38     38   
   39     39   
[dependencies.aws-smithy-async]
   40     40   
path = "../aws-smithy-async"
   41     41   
version = "1.2.6"
   42     42   
   43     43   
[dependencies.aws-smithy-http]
   44     44   
path = "../aws-smithy-http"
   45     45   
version = "0.62.5"
   46     46   
   47     47   
[dependencies.aws-smithy-observability]
   48     48   
path = "../aws-smithy-observability"
   49         -
version = "0.1.4"
          49  +
version = "0.1.5"
   50     50   
   51     51   
[dependencies.aws-smithy-runtime-api]
   52     52   
path = "../aws-smithy-runtime-api"
   53     53   
version = "1.9.2"
   54     54   
   55     55   
[dependencies.aws-smithy-types]
   56     56   
path = "../aws-smithy-types"
   57     57   
features = ["http-body-0-4-x"]
   58     58   
version = "1.3.4"
   59     59   

tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/src/client/orchestrator/endpoints.rs

@@ -20,20 +79,80 @@
   40     40   
        Self {
   41     41   
            endpoint: endpoint.into(),
   42     42   
        }
   43     43   
    }
   44     44   
}
   45     45   
   46     46   
impl ResolveEndpoint for StaticUriEndpointResolver {
   47     47   
    fn resolve_endpoint<'a>(&'a self, _params: &'a EndpointResolverParams) -> EndpointFuture<'a> {
   48     48   
        EndpointFuture::ready(Ok(Endpoint::builder()
   49     49   
            .url(self.endpoint.to_string())
          50  +
            .property("is_custom_endpoint", true)
   50     51   
            .build()))
   51     52   
    }
   52     53   
}
   53     54   
   54     55   
/// Empty params to be used with [`StaticUriEndpointResolver`].
   55     56   
#[derive(Debug, Default)]
   56     57   
pub struct StaticUriEndpointResolverParams;
   57     58   
   58     59   
impl StaticUriEndpointResolverParams {
   59     60   
    /// Creates a new `StaticUriEndpointResolverParams`.

tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/src/client/sdk_feature.rs

@@ -1,1 +30,31 @@
   16     16   
    RetryModeAdaptive,
   17     17   
    FlexibleChecksumsReqCrc32,
   18     18   
    FlexibleChecksumsReqCrc32c,
   19     19   
    FlexibleChecksumsReqCrc64,
   20     20   
    FlexibleChecksumsReqSha1,
   21     21   
    FlexibleChecksumsReqSha256,
   22     22   
    FlexibleChecksumsReqWhenSupported,
   23     23   
    FlexibleChecksumsReqWhenRequired,
   24     24   
    FlexibleChecksumsResWhenSupported,
   25     25   
    FlexibleChecksumsResWhenRequired,
          26  +
    ObservabilityTracing,
   26     27   
}
   27     28   
   28     29   
impl Storable for SmithySdkFeature {
   29     30   
    type Storer = StoreAppend<Self>;
   30     31   
}

tmp-codegen-diff/aws-sdk/sdk/aws-types/Cargo.toml

@@ -12,12 +69,69 @@
   32     32   
path = "../aws-smithy-async"
   33     33   
version = "1.2.6"
   34     34   
   35     35   
[dependencies.aws-smithy-types]
   36     36   
path = "../aws-smithy-types"
   37     37   
version = "1.3.4"
   38     38   
   39     39   
[dependencies.aws-smithy-runtime]
   40     40   
path = "../aws-smithy-runtime"
   41     41   
optional = true
   42         -
version = "1.9.4"
          42  +
version = "1.9.5"
   43     43   
   44     44   
[dependencies.aws-smithy-runtime-api]
   45     45   
path = "../aws-smithy-runtime-api"
   46     46   
features = ["client"]
   47     47   
version = "1.9.2"
   48     48   
   49     49   
[dependencies.hyper-rustls]
   50     50   
version = "0.24"
   51     51   
optional = true
   52     52   
features = ["rustls-native-certs", "http2", "webpki-roots"]

tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml

@@ -21,21 +81,81 @@
   41     41   
features = ["event-stream"]
   42     42   
version = "0.62.5"
   43     43   
   44     44   
[dependencies.aws-smithy-json]
   45     45   
path = "../aws-smithy-json"
   46     46   
version = "0.61.7"
   47     47   
   48     48   
[dependencies.aws-smithy-runtime]
   49     49   
path = "../aws-smithy-runtime"
   50     50   
features = ["client", "http-auth"]
   51         -
version = "1.9.4"
          51  +
version = "1.9.5"
   52     52   
   53     53   
[dependencies.aws-smithy-runtime-api]
   54     54   
path = "../aws-smithy-runtime-api"
   55     55   
features = ["client", "http-02x", "http-auth"]
   56     56   
version = "1.9.2"
   57     57   
   58     58   
[dependencies.aws-smithy-types]
   59     59   
path = "../aws-smithy-types"
   60     60   
features = ["http-body-0-4-x"]
   61     61   
version = "1.3.4"
@@ -91,91 +151,151 @@
  111    111   
features = ["test-util", "wire-mock"]
  112    112   
version = "1.1.4"
  113    113   
  114    114   
[dev-dependencies.aws-smithy-protocol-test]
  115    115   
path = "../aws-smithy-protocol-test"
  116    116   
version = "0.63.6"
  117    117   
  118    118   
[dev-dependencies.aws-smithy-runtime]
  119    119   
path = "../aws-smithy-runtime"
  120    120   
features = ["test-util"]
  121         -
version = "1.9.4"
         121  +
version = "1.9.5"
  122    122   
  123    123   
[dev-dependencies.aws-smithy-runtime-api]
  124    124   
path = "../aws-smithy-runtime-api"
  125    125   
features = ["test-util"]
  126    126   
version = "1.9.2"
  127    127   
  128    128   
[dev-dependencies.aws-smithy-types]
  129    129   
path = "../aws-smithy-types"
  130    130   
features = ["test-util"]
  131    131   
version = "1.3.4"

tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/src/config.rs

@@ -1340,1340 +1399,1401 @@
 1360   1360   
            use crate::config::endpoint::ResolveEndpoint;
 1361   1361   
            crate::config::endpoint::DefaultResolver::new().into_shared_resolver()
 1362   1362   
        }));
 1363   1363   
        runtime_components.push_interceptor(::aws_smithy_runtime::client::http::connection_poisoning::ConnectionPoisoningInterceptor::new());
 1364   1364   
        runtime_components.push_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::HttpStatusCodeClassifier::default());
 1365   1365   
        runtime_components.push_interceptor(crate::sdk_feature_tracker::retry_mode::RetryModeFeatureTrackerInterceptor::new());
 1366   1366   
        runtime_components.push_interceptor(::aws_runtime::service_clock_skew::ServiceClockSkewInterceptor::new());
 1367   1367   
        runtime_components.push_interceptor(::aws_runtime::request_info::RequestInfoInterceptor::new());
 1368   1368   
        runtime_components.push_interceptor(::aws_runtime::user_agent::UserAgentInterceptor::new());
 1369   1369   
        runtime_components.push_interceptor(::aws_runtime::invocation_id::InvocationIdInterceptor::new());
        1370  +
        runtime_components.push_interceptor(::aws_runtime::observability_detection::ObservabilityDetectionInterceptor::new());
        1371  +
        runtime_components.push_interceptor(::aws_runtime::endpoint_discovery::EndpointOverrideInterceptor::new());
 1370   1372   
        runtime_components.push_interceptor(::aws_runtime::recursion_detection::RecursionDetectionInterceptor::new());
 1371   1373   
        runtime_components.push_auth_scheme(::aws_smithy_runtime_api::client::auth::SharedAuthScheme::new(
 1372   1374   
            ::aws_runtime::auth::sigv4::SigV4AuthScheme::new(),
 1373   1375   
        ));
 1374   1376   
        Self { config, runtime_components }
 1375   1377   
    }
 1376   1378   
}
 1377   1379   
 1378   1380   
impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for ServiceRuntimePlugin {
 1379   1381   
    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {

tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/src/config/endpoint/internals.rs

@@ -5,5 +65,68 @@
   25     25   
        if (*use_fips) == (true) {
   26     26   
            return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
   27     27   
                "Invalid Configuration: FIPS and custom endpoint are not supported".to_string(),
   28     28   
            ));
   29     29   
        }
   30     30   
        if (*use_dual_stack) == (true) {
   31     31   
            return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
   32     32   
                "Invalid Configuration: Dualstack and custom endpoint are not supported".to_string(),
   33     33   
            ));
   34     34   
        }
   35         -
        return Ok(::aws_smithy_types::endpoint::Endpoint::builder().url(endpoint.to_owned()).build());
          35  +
        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
          36  +
            .url(endpoint.to_owned())
          37  +
            .property("is_custom_endpoint", true)
          38  +
            .build());
   36     39   
    }
   37     40   
    #[allow(unused_variables)]
   38     41   
    if let Some(region) = region {
   39     42   
        #[allow(unused_variables)]
   40     43   
        if let Some(partition_result) = partition_resolver.resolve_partition(region.as_ref() as &str, _diagnostic_collector) {
   41     44   
            if (*use_fips) == (true) {
   42     45   
                if (*use_dual_stack) == (true) {
   43     46   
                    if (true) == (partition_result.supports_fips()) {
   44     47   
                        if (true) == (partition_result.supports_dual_stack()) {
   45     48   
                            return Ok(::aws_smithy_types::endpoint::Endpoint::builder()

tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml

@@ -17,17 +77,77 @@
   37     37   
features = ["event-stream"]
   38     38   
version = "0.62.5"
   39     39   
   40     40   
[dependencies.aws-smithy-json]
   41     41   
path = "../aws-smithy-json"
   42     42   
version = "0.61.7"
   43     43   
   44     44   
[dependencies.aws-smithy-runtime]
   45     45   
path = "../aws-smithy-runtime"
   46     46   
features = ["client"]
   47         -
version = "1.9.4"
          47  +
version = "1.9.5"
   48     48   
   49     49   
[dependencies.aws-smithy-runtime-api]
   50     50   
path = "../aws-smithy-runtime-api"
   51     51   
features = ["client", "http-02x"]
   52     52   
version = "1.9.2"
   53     53   
   54     54   
[dependencies.aws-smithy-types]
   55     55   
path = "../aws-smithy-types"
   56     56   
version = "1.3.4"
   57     57   
@@ -82,82 +142,142 @@
  102    102   
features = ["test-util", "wire-mock"]
  103    103   
version = "1.1.4"
  104    104   
  105    105   
[dev-dependencies.aws-smithy-protocol-test]
  106    106   
path = "../aws-smithy-protocol-test"
  107    107   
version = "0.63.6"
  108    108   
  109    109   
[dev-dependencies.aws-smithy-runtime]
  110    110   
path = "../aws-smithy-runtime"
  111    111   
features = ["test-util"]
  112         -
version = "1.9.4"
         112  +
version = "1.9.5"
  113    113   
  114    114   
[dev-dependencies.aws-smithy-runtime-api]
  115    115   
path = "../aws-smithy-runtime-api"
  116    116   
features = ["test-util"]
  117    117   
version = "1.9.2"
  118    118   
  119    119   
[dev-dependencies.aws-smithy-types]
  120    120   
path = "../aws-smithy-types"
  121    121   
features = ["test-util"]
  122    122   
version = "1.3.4"

tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/src/config.rs

@@ -1291,1291 +1350,1352 @@
 1311   1311   
            use crate::config::endpoint::ResolveEndpoint;
 1312   1312   
            crate::config::endpoint::DefaultResolver::new().into_shared_resolver()
 1313   1313   
        }));
 1314   1314   
        runtime_components.push_interceptor(::aws_smithy_runtime::client::http::connection_poisoning::ConnectionPoisoningInterceptor::new());
 1315   1315   
        runtime_components.push_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::HttpStatusCodeClassifier::default());
 1316   1316   
        runtime_components.push_interceptor(crate::sdk_feature_tracker::retry_mode::RetryModeFeatureTrackerInterceptor::new());
 1317   1317   
        runtime_components.push_interceptor(::aws_runtime::service_clock_skew::ServiceClockSkewInterceptor::new());
 1318   1318   
        runtime_components.push_interceptor(::aws_runtime::request_info::RequestInfoInterceptor::new());
 1319   1319   
        runtime_components.push_interceptor(::aws_runtime::user_agent::UserAgentInterceptor::new());
 1320   1320   
        runtime_components.push_interceptor(::aws_runtime::invocation_id::InvocationIdInterceptor::new());
        1321  +
        runtime_components.push_interceptor(::aws_runtime::observability_detection::ObservabilityDetectionInterceptor::new());
        1322  +
        runtime_components.push_interceptor(::aws_runtime::endpoint_discovery::EndpointOverrideInterceptor::new());
 1321   1323   
        runtime_components.push_interceptor(::aws_runtime::recursion_detection::RecursionDetectionInterceptor::new());
 1322   1324   
        runtime_components.push_auth_scheme(::aws_smithy_runtime_api::client::auth::SharedAuthScheme::new(
 1323   1325   
            ::aws_runtime::auth::sigv4::SigV4AuthScheme::new(),
 1324   1326   
        ));
 1325   1327   
        Self { config, runtime_components }
 1326   1328   
    }
 1327   1329   
}
 1328   1330   
 1329   1331   
impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for ServiceRuntimePlugin {
 1330   1332   
    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {

tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/src/config/endpoint/internals.rs

@@ -5,5 +65,68 @@
   25     25   
        if (*use_fips) == (true) {
   26     26   
            return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
   27     27   
                "Invalid Configuration: FIPS and custom endpoint are not supported".to_string(),
   28     28   
            ));
   29     29   
        }
   30     30   
        if (*use_dual_stack) == (true) {
   31     31   
            return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
   32     32   
                "Invalid Configuration: Dualstack and custom endpoint are not supported".to_string(),
   33     33   
            ));
   34     34   
        }
   35         -
        return Ok(::aws_smithy_types::endpoint::Endpoint::builder().url(endpoint.to_owned()).build());
          35  +
        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
          36  +
            .url(endpoint.to_owned())
          37  +
            .property("is_custom_endpoint", true)
          38  +
            .build());
   36     39   
    }
   37     40   
    #[allow(unused_variables)]
   38     41   
    if let Some(region) = region {
   39     42   
        #[allow(unused_variables)]
   40     43   
        if let Some(partition_result) = partition_resolver.resolve_partition(region.as_ref() as &str, _diagnostic_collector) {
   41     44   
            if (*use_fips) == (true) {
   42     45   
                if (*use_dual_stack) == (true) {
   43     46   
                    if (true) == (partition_result.supports_fips()) {
   44     47   
                        if (true) == (partition_result.supports_dual_stack()) {
   45     48   
                            return Ok(::aws_smithy_types::endpoint::Endpoint::builder()

tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml

@@ -11,11 +131,131 @@
   31     31   
path = "../aws-smithy-http"
   32     32   
version = "0.62.5"
   33     33   
   34     34   
[dependencies.aws-smithy-json]
   35     35   
path = "../aws-smithy-json"
   36     36   
version = "0.61.7"
   37     37   
   38     38   
[dependencies.aws-smithy-runtime]
   39     39   
path = "../aws-smithy-runtime"
   40     40   
features = ["client", "http-auth"]
   41         -
version = "1.9.4"
          41  +
version = "1.9.5"
   42     42   
   43     43   
[dependencies.aws-smithy-runtime-api]
   44     44   
path = "../aws-smithy-runtime-api"
   45     45   
features = ["client", "http-02x", "http-auth"]
   46     46   
version = "1.9.2"
   47     47   
   48     48   
[dependencies.aws-smithy-types]
   49     49   
path = "../aws-smithy-types"
   50     50   
version = "1.3.4"
   51     51   
   52     52   
[dependencies.aws-types]
   53     53   
path = "../aws-types"
   54     54   
version = "1.3.10"
   55     55   
   56     56   
[dependencies.bytes]
   57     57   
version = "1.4.0"
   58     58   
   59     59   
[dependencies.fastrand]
   60     60   
version = "2.0.0"
   61     61   
   62     62   
[dependencies.http]
   63     63   
version = "0.2.9"
   64     64   
   65     65   
[dependencies.regex-lite]
   66     66   
version = "0.1.5"
   67     67   
   68     68   
[dependencies.tracing]
   69     69   
version = "0.1"
   70     70   
[dev-dependencies.aws-config]
   71     71   
path = "../aws-config"
   72     72   
version = "1.8.10"
   73     73   
   74     74   
[dev-dependencies.aws-credential-types]
   75     75   
path = "../aws-credential-types"
   76     76   
features = ["test-util"]
   77     77   
version = "1.2.9"
   78     78   
   79     79   
[dev-dependencies.aws-runtime]
   80     80   
path = "../aws-runtime"
   81     81   
features = ["test-util"]
   82     82   
version = "1.5.14"
   83     83   
   84     84   
[dev-dependencies.aws-smithy-async]
   85     85   
path = "../aws-smithy-async"
   86     86   
features = ["test-util"]
   87     87   
version = "1.2.6"
   88     88   
   89     89   
[dev-dependencies.aws-smithy-http-client]
   90     90   
path = "../aws-smithy-http-client"
   91     91   
features = ["test-util", "wire-mock"]
   92     92   
version = "1.1.4"
   93     93   
   94     94   
[dev-dependencies.aws-smithy-protocol-test]
   95     95   
path = "../aws-smithy-protocol-test"
   96     96   
version = "0.63.6"
   97     97   
   98     98   
[dev-dependencies.aws-smithy-runtime]
   99     99   
path = "../aws-smithy-runtime"
  100    100   
features = ["test-util"]
  101         -
version = "1.9.4"
         101  +
version = "1.9.5"
  102    102   
  103    103   
[dev-dependencies.aws-smithy-runtime-api]
  104    104   
path = "../aws-smithy-runtime-api"
  105    105   
features = ["test-util"]
  106    106   
version = "1.9.2"
  107    107   
  108    108   
[dev-dependencies.aws-smithy-types]
  109    109   
path = "../aws-smithy-types"
  110    110   
features = ["test-util"]
  111    111   
version = "1.3.4"

tmp-codegen-diff/aws-sdk/sdk/codecatalyst/src/config.rs

@@ -1292,1292 +1351,1353 @@
 1312   1312   
            use crate::config::endpoint::ResolveEndpoint;
 1313   1313   
            crate::config::endpoint::DefaultResolver::new().into_shared_resolver()
 1314   1314   
        }));
 1315   1315   
        runtime_components.push_interceptor(::aws_smithy_runtime::client::http::connection_poisoning::ConnectionPoisoningInterceptor::new());
 1316   1316   
        runtime_components.push_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::HttpStatusCodeClassifier::default());
 1317   1317   
        runtime_components.push_interceptor(crate::sdk_feature_tracker::retry_mode::RetryModeFeatureTrackerInterceptor::new());
 1318   1318   
        runtime_components.push_interceptor(::aws_runtime::service_clock_skew::ServiceClockSkewInterceptor::new());
 1319   1319   
        runtime_components.push_interceptor(::aws_runtime::request_info::RequestInfoInterceptor::new());
 1320   1320   
        runtime_components.push_interceptor(::aws_runtime::user_agent::UserAgentInterceptor::new());
 1321   1321   
        runtime_components.push_interceptor(::aws_runtime::invocation_id::InvocationIdInterceptor::new());
        1322  +
        runtime_components.push_interceptor(::aws_runtime::observability_detection::ObservabilityDetectionInterceptor::new());
        1323  +
        runtime_components.push_interceptor(::aws_runtime::endpoint_discovery::EndpointOverrideInterceptor::new());
 1322   1324   
        runtime_components.push_interceptor(::aws_runtime::recursion_detection::RecursionDetectionInterceptor::new());
 1323   1325   
        Self { config, runtime_components }
 1324   1326   
    }
 1325   1327   
}
 1326   1328   
 1327   1329   
impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for ServiceRuntimePlugin {
 1328   1330   
    fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> {
 1329   1331   
        self.config.clone()
 1330   1332   
    }
 1331   1333   

tmp-codegen-diff/aws-sdk/sdk/codecatalyst/src/config/endpoint/internals.rs

@@ -1,1 +53,56 @@
   13     13   
    partition_resolver: &crate::endpoint_lib::partition::PartitionResolver,
   14     14   
) -> ::aws_smithy_http::endpoint::Result {
   15     15   
    #[allow(unused_variables)]
   16     16   
    let use_fips = &_params.use_fips;
   17     17   
    #[allow(unused_variables)]
   18     18   
    let region = &_params.region;
   19     19   
    #[allow(unused_variables)]
   20     20   
    let endpoint = &_params.endpoint;
   21     21   
    #[allow(unused_variables)]
   22     22   
    if let Some(endpoint) = endpoint {
   23         -
        return Ok(::aws_smithy_types::endpoint::Endpoint::builder().url(endpoint.to_owned()).build());
          23  +
        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
          24  +
            .url(endpoint.to_owned())
          25  +
            .property("is_custom_endpoint", true)
          26  +
            .build());
   24     27   
    }
   25     28   
    if !(region.is_some()) {
   26     29   
        #[allow(unused_variables)]
   27     30   
        if let Some(partition_result) = partition_resolver.resolve_partition("us-west-2", _diagnostic_collector) {
   28     31   
            if (*use_fips) == (true) {
   29     32   
                if (partition_result.supports_fips()) == (false) {
   30     33   
                    return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
   31     34   
                        "Partition does not support FIPS.".to_string(),
   32     35   
                    ));
   33     36   
                }