diff --git a/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/RegionDecorator.kt b/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/RegionDecorator.kt index 7f5ce13de88bfe58f1a4b23167d3856796fbc8f8..366d310c57157f568ce853c44b8a7f34713df8bf 100644 --- a/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/RegionDecorator.kt +++ b/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/RegionDecorator.kt @@ -104,15 +104,8 @@ class RegionDecorator : ClientCodegenDecorator { adhocCustomization { section -> rust( """ - ${section.serviceConfigBuilder}.set_region( - ${section.sdkConfig} - .service_config() - .and_then(|conf| { - conf.load_config(service_config_key($envKey, $profileKey)) - .map(Region::new) - }) - .or_else(|| ${section.sdkConfig}.region().cloned()), - ); + ${section.serviceConfigBuilder} = + ${section.serviceConfigBuilder}.region(${section.sdkConfig}.region().cloned()); """, ) } diff --git a/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/SdkConfigDecorator.kt b/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/SdkConfigDecorator.kt index 2b1872c569b08ce9f461c9260d3a2de6e886d719..f071835fc4ef5618ad26dcc8fd8e229c6581c911 100644 --- a/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/SdkConfigDecorator.kt +++ b/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/SdkConfigDecorator.kt @@ -20,8 +20,6 @@ import software.amazon.smithy.rust.codegen.core.smithy.customize.AdHocCustomizat import software.amazon.smithy.rust.codegen.core.smithy.customize.AdHocSection import software.amazon.smithy.rust.codegen.core.smithy.customize.adhocCustomization import software.amazon.smithy.rust.codegen.core.smithy.customize.writeCustomizations -import software.amazon.smithy.rust.codegen.core.util.dq -import software.amazon.smithy.rust.codegen.core.util.toSnakeCase sealed class SdkConfigSection(name: String) : AdHocSection(name) { /** @@ -56,18 +54,8 @@ object SdkConfigCustomization { map: Writable?, ) = adhocCustomization { section -> val mapBlock = map?.let { writable { rust(".map(#W)", it) } } ?: writable { } - val envKey = "AWS_${fieldName.toSnakeCase().uppercase()}".dq() - val profileKey = fieldName.toSnakeCase().dq() - rustTemplate( - """ - ${section.serviceConfigBuilder}.set_$fieldName( - ${section.sdkConfig} - .service_config() - .and_then(|conf| conf.load_config(service_config_key($envKey, $profileKey)).map(|it| it.parse().unwrap())) - .or_else(|| ${section.sdkConfig}.$fieldName()#{map}) - ); - """, + "${section.serviceConfigBuilder}.set_$fieldName(${section.sdkConfig}.$fieldName()#{map});", "map" to mapBlock, ) } diff --git a/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/customize/s3/S3Decorator.kt b/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/customize/s3/S3Decorator.kt index 498a155a287901da8e50ebb9deec022900a67634..8af54cfe6e86ad0a61c0638bca9b54be010cac61 100644 --- a/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/customize/s3/S3Decorator.kt +++ b/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/customize/s3/S3Decorator.kt @@ -28,21 +28,17 @@ import software.amazon.smithy.rust.codegen.client.smithy.generators.OperationGen import software.amazon.smithy.rust.codegen.client.smithy.generators.OperationSection import software.amazon.smithy.rust.codegen.client.smithy.protocols.ClientRestXmlFactory import software.amazon.smithy.rust.codegen.core.rustlang.Writable -import software.amazon.smithy.rust.codegen.core.rustlang.rust import software.amazon.smithy.rust.codegen.core.rustlang.rustBlockTemplate import software.amazon.smithy.rust.codegen.core.rustlang.rustTemplate import software.amazon.smithy.rust.codegen.core.rustlang.writable import software.amazon.smithy.rust.codegen.core.smithy.CodegenContext import software.amazon.smithy.rust.codegen.core.smithy.RuntimeType -import software.amazon.smithy.rust.codegen.core.smithy.customize.AdHocCustomization -import software.amazon.smithy.rust.codegen.core.smithy.customize.adhocCustomization import software.amazon.smithy.rust.codegen.core.smithy.protocols.ProtocolFunctions import software.amazon.smithy.rust.codegen.core.smithy.protocols.ProtocolMap import software.amazon.smithy.rust.codegen.core.smithy.protocols.RestXml import software.amazon.smithy.rust.codegen.core.smithy.traits.AllowInvalidXmlRoot import software.amazon.smithy.rust.codegen.core.util.hasTrait import software.amazon.smithy.rust.codegen.core.util.letIf -import software.amazon.smithy.rustsdk.SdkConfigSection import software.amazon.smithy.rustsdk.getBuiltIn import software.amazon.smithy.rustsdk.toWritable import java.util.logging.Logger @@ -158,33 +154,6 @@ class S3Decorator : ClientCodegenDecorator { } } - override fun extraSections(codegenContext: ClientCodegenContext): List { - return listOf( - adhocCustomization { section -> - rust( - """ - ${section.serviceConfigBuilder}.set_disable_multi_region_access_points( - ${section.sdkConfig} - .service_config() - .and_then(|conf| { - let str_config = conf.load_config(service_config_key("AWS_S3_DISABLE_MULTIREGION_ACCESS_POINTS", "s3_disable_multi_region_access_points")); - str_config.and_then(|it| it.parse::().ok()) - }), - ); - ${section.serviceConfigBuilder}.set_use_arn_region( - ${section.sdkConfig} - .service_config() - .and_then(|conf| { - let str_config = conf.load_config(service_config_key("AWS_S3_USE_ARN_REGION", "s3_use_arn_region")); - str_config.and_then(|it| it.parse::().ok()) - }), - ); - """, - ) - }, - ) - } - private fun isInInvalidXmlRootAllowList(shape: Shape): Boolean { return shape.isStructureShape && invalidXmlRootAllowList.contains(shape.id) } diff --git a/aws/sdk/integration-tests/dynamodb/Cargo.toml b/aws/sdk/integration-tests/dynamodb/Cargo.toml index 135d5f8a431e4064f168742cff197c510ee0796e..fabca6704ca3fe7c3a263f9e3b0277cced928fc2 100644 --- a/aws/sdk/integration-tests/dynamodb/Cargo.toml +++ b/aws/sdk/integration-tests/dynamodb/Cargo.toml @@ -13,7 +13,6 @@ publish = false [dependencies] approx = "0.5.1" aws-config = { path = "../../build/aws-sdk/sdk/aws-config" } -aws-runtime = { path = "../../build/aws-sdk/sdk/aws-runtime" } aws-credential-types = { path = "../../build/aws-sdk/sdk/aws-credential-types", features = ["test-util"] } aws-sdk-dynamodb = { path = "../../build/aws-sdk/sdk/dynamodb", features = ["behavior-version-latest"] } aws-smithy-async = { path = "../../build/aws-sdk/sdk/aws-smithy-async", features = ["test-util"] } diff --git a/aws/sdk/integration-tests/dynamodb/tests/shared-config.rs b/aws/sdk/integration-tests/dynamodb/tests/shared-config.rs index 8ff2a3653c0e014567c5420c5c588496e813b6b0..02786fe0afba44cdafc528e590737f958c07753b 100644 --- a/aws/sdk/integration-tests/dynamodb/tests/shared-config.rs +++ b/aws/sdk/integration-tests/dynamodb/tests/shared-config.rs @@ -3,13 +3,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -use aws_runtime::env_config::file::{EnvConfigFileKind, EnvConfigFiles}; -use aws_sdk_dynamodb::config::{ - BehaviorVersion, Credentials, Region, StalledStreamProtectionConfig, -}; +use aws_sdk_dynamodb::config::{Credentials, Region, StalledStreamProtectionConfig}; use aws_smithy_runtime::client::http::test_util::capture_request; use http::Uri; -use std::env; /// Iterative test of loading clients from shared configuration #[tokio::test] @@ -31,43 +27,3 @@ async fn shared_config_testbed() { &Uri::from_static("http://localhost:8000") ); } - -#[tokio::test] -async fn service_config_from_profile() { - let _ = tracing_subscriber::fmt::try_init(); - - // Remove env vars that could interfere with the test - env::remove_var("AWS_DEFAULT_REGION"); - env::remove_var("AWS_REGION"); - - let config = r#" -[profile custom] -aws_access_key_id = test-access-key-id -aws_secret_access_key = test-secret-access-key -aws_session_token = test-session-token -region = us-east-1 -services = custom - -[services custom] -dynamodb = - region = us-west-1 -"# - .trim(); - - let shared_config = aws_config::ConfigLoader::default() - .behavior_version(BehaviorVersion::latest()) - .profile_name("custom") - .profile_files( - EnvConfigFiles::builder() - .with_contents(EnvConfigFileKind::Config, config) - .build(), - ) - .load() - .await; - let service_config = aws_sdk_dynamodb::Config::from(&shared_config); - - assert_eq!( - service_config.region().unwrap(), - &Region::from_static("us-west-1") - ); -}