From 938ba74094017dd44000a82199c5246364368e3a Mon Sep 17 00:00:00 2001
From: Zoe Wang <33073555+zoewangg@users.noreply.github.com>
Date: Tue, 2 Nov 2021 15:01:39 -0700
Subject: [PATCH 1/2] Move default configuration related classes to aws-core
---
.../plugin/DefaultsModeGenerationMojo.java | 6 +-
.../defaultsmode/DefaultsModeGenerator.java | 2 +-
.../lite/defaultsmode/defaults-mode.java | 2 +-
core/aws-core/pom.xml | 13 ++++
.../client/builder/AwsClientBuilder.java | 21 ++++++
.../builder/AwsDefaultClientBuilder.java | 71 ++++++++++++-------
.../client/config/AwsClientOption.java | 6 ++
.../AutoDefaultsModeDiscovery.java | 2 +-
.../defaultsmode/DefaultsModeResolver.java | 4 +-
.../defaults/sdk-default-configuration.json | 0
.../builder/DefaultAwsClientBuilderTest.java | 2 +-
.../client/builder/DefaultsModeTest.java | 16 ++---
.../AutoDefaultsModeDiscoveryTest.java | 5 +-
.../DefaultsModeConfigurationTest.java | 5 +-
.../DefaultsModeResolverTest.java} | 6 +-
.../internal/defaultsmode/PropertyMixedCase | 0
.../internal/defaultsmode/PropertyNotSet | 0
.../internal/defaultsmode/PropertySetToAuto | 0
.../internal/defaultsmode/PropertySetToLegacy | 0
.../defaultsmode/PropertySetToStandard | 0
.../PropertySetToUnsupportedValue | 0
core/sdk-core/pom.xml | 13 ----
.../amazon/awssdk/core/SdkSystemSetting.java | 4 +-
.../builder/SdkDefaultClientBuilder.java | 5 --
.../config/ClientOverrideConfiguration.java | 38 ----------
.../core/client/config/SdkClientOption.java | 6 --
26 files changed, 110 insertions(+), 117 deletions(-)
rename core/{sdk-core/src/main/java/software/amazon/awssdk/core => aws-core/src/main/java/software/amazon/awssdk/awscore}/internal/defaultsmode/DefaultsModeResolver.java (96%)
rename core/{sdk-core/src/main/resources/software/amazon/awssdk => aws-core/src/main/resources/software/amazon/awssdk/awscore}/internal/defaults/sdk-default-configuration.json (100%)
rename core/aws-core/src/test/java/software/amazon/awssdk/awscore/internal/{ => defaultsmode}/AutoDefaultsModeDiscoveryTest.java (98%)
rename core/{sdk-core/src/test/java/software/amazon/awssdk/core => aws-core/src/test/java/software/amazon/awssdk/awscore}/internal/defaultsmode/DefaultsModeConfigurationTest.java (88%)
rename core/{sdk-core/src/test/java/software/amazon/awssdk/core/internal/defaultsmode/DefaultsModeTest.java => aws-core/src/test/java/software/amazon/awssdk/awscore/internal/defaultsmode/DefaultsModeResolverTest.java} (97%)
rename core/{sdk-core/src/test/resources/software/amazon/awssdk/core => aws-core/src/test/resources/software/amazon/awssdk/awscore}/internal/defaultsmode/PropertyMixedCase (100%)
rename core/{sdk-core/src/test/resources/software/amazon/awssdk/core => aws-core/src/test/resources/software/amazon/awssdk/awscore}/internal/defaultsmode/PropertyNotSet (100%)
rename core/{sdk-core/src/test/resources/software/amazon/awssdk/core => aws-core/src/test/resources/software/amazon/awssdk/awscore}/internal/defaultsmode/PropertySetToAuto (100%)
rename core/{sdk-core/src/test/resources/software/amazon/awssdk/core => aws-core/src/test/resources/software/amazon/awssdk/awscore}/internal/defaultsmode/PropertySetToLegacy (100%)
rename core/{sdk-core/src/test/resources/software/amazon/awssdk/core => aws-core/src/test/resources/software/amazon/awssdk/awscore}/internal/defaultsmode/PropertySetToStandard (100%)
rename core/{sdk-core/src/test/resources/software/amazon/awssdk/core => aws-core/src/test/resources/software/amazon/awssdk/awscore}/internal/defaultsmode/PropertySetToUnsupportedValue (100%)
diff --git a/codegen-lite-maven-plugin/src/main/java/software/amazon/awssdk/codegen/lite/maven/plugin/DefaultsModeGenerationMojo.java b/codegen-lite-maven-plugin/src/main/java/software/amazon/awssdk/codegen/lite/maven/plugin/DefaultsModeGenerationMojo.java
index 369595e1a246..f75936f95794 100644
--- a/codegen-lite-maven-plugin/src/main/java/software/amazon/awssdk/codegen/lite/maven/plugin/DefaultsModeGenerationMojo.java
+++ b/codegen-lite-maven-plugin/src/main/java/software/amazon/awssdk/codegen/lite/maven/plugin/DefaultsModeGenerationMojo.java
@@ -34,8 +34,8 @@
@Mojo(name = "generate-defaults-mode")
public class DefaultsModeGenerationMojo extends AbstractMojo {
- private static final String DEFAULTS_MODE_BASE = "software.amazon.awssdk.defaultsmode";
- private static final String DEFAULTS_MODE_CONFIGURATION_BASE = "software.amazon.awssdk.internal.defaultsmode";
+ private static final String DEFAULTS_MODE_BASE = "software.amazon.awssdk.awscore.defaultsmode";
+ private static final String DEFAULTS_MODE_CONFIGURATION_BASE = "software.amazon.awssdk.awscore.internal.defaultsmode";
@Parameter(property = "outputDirectory", defaultValue = "${project.build.directory}")
private String outputDirectory;
@@ -44,7 +44,7 @@ public class DefaultsModeGenerationMojo extends AbstractMojo {
private MavenProject project;
@Parameter(property = "defaultConfigurationFile", defaultValue =
- "${basedir}/src/main/resources/software/amazon/awssdk/internal/defaults/sdk-default-configuration.json")
+ "${basedir}/src/main/resources/software/amazon/awssdk/awscore/internal/defaults/sdk-default-configuration.json")
private File defaultConfigurationFile;
public void execute() {
diff --git a/codegen-lite/src/main/java/software/amazon/awssdk/codegen/lite/defaultsmode/DefaultsModeGenerator.java b/codegen-lite/src/main/java/software/amazon/awssdk/codegen/lite/defaultsmode/DefaultsModeGenerator.java
index 0a318e1f69c9..3ce48e8d4a72 100644
--- a/codegen-lite/src/main/java/software/amazon/awssdk/codegen/lite/defaultsmode/DefaultsModeGenerator.java
+++ b/codegen-lite/src/main/java/software/amazon/awssdk/codegen/lite/defaultsmode/DefaultsModeGenerator.java
@@ -140,7 +140,7 @@ private CodeBlock documentation() {
.add("
The defaults mode can be configured:")
.add(System.lineSeparator())
.add("
")
- .add("- Directly on a client via {@code ClientOverrideConfiguration.Builder#defaultsMode"
+ .add("
- Directly on a client via {@code AwsClientBuilder.Builder#defaultsMode"
+ "(DefaultsMode)}.
")
.add(System.lineSeparator())
.add("- On a configuration profile via the \"defaults_mode\" profile file property.
")
diff --git a/codegen-lite/src/test/resources/software/amazon/awssdk/codegen/lite/defaultsmode/defaults-mode.java b/codegen-lite/src/test/resources/software/amazon/awssdk/codegen/lite/defaultsmode/defaults-mode.java
index 7b75cebc3134..01c77d2f12d4 100644
--- a/codegen-lite/src/test/resources/software/amazon/awssdk/codegen/lite/defaultsmode/defaults-mode.java
+++ b/codegen-lite/src/test/resources/software/amazon/awssdk/codegen/lite/defaultsmode/defaults-mode.java
@@ -27,7 +27,7 @@
*
* The defaults mode can be configured:
*
- * - Directly on a client via {@code ClientOverrideConfiguration.Builder#defaultsMode(DefaultsMode)}.
+ * - Directly on a client via {@code AwsClientBuilder.Builder#defaultsMode(DefaultsMode)}.
* - On a configuration profile via the "defaults_mode" profile file property.
* - Globally via the "aws.defaultsMode" system property.
* - Globally via the "AWS_DEFAULTS_MODE" environment variable.
diff --git a/core/aws-core/pom.xml b/core/aws-core/pom.xml
index b19b018d5811..3c05d0edbe5c 100644
--- a/core/aws-core/pom.xml
+++ b/core/aws-core/pom.xml
@@ -164,6 +164,19 @@
+
+ software.amazon.awssdk
+ codegen-lite-maven-plugin
+ ${awsjavasdk.version}
+
+
+ generate-sources
+
+ generate-defaults-mode
+
+
+
+
diff --git a/core/aws-core/src/main/java/software/amazon/awssdk/awscore/client/builder/AwsClientBuilder.java b/core/aws-core/src/main/java/software/amazon/awssdk/awscore/client/builder/AwsClientBuilder.java
index e8b22a8b28d7..4341f82ea44e 100644
--- a/core/aws-core/src/main/java/software/amazon/awssdk/awscore/client/builder/AwsClientBuilder.java
+++ b/core/aws-core/src/main/java/software/amazon/awssdk/awscore/client/builder/AwsClientBuilder.java
@@ -17,6 +17,7 @@
import software.amazon.awssdk.annotations.SdkPublicApi;
import software.amazon.awssdk.auth.credentials.AwsCredentialsProvider;
+import software.amazon.awssdk.awscore.defaultsmode.DefaultsMode;
import software.amazon.awssdk.core.client.builder.SdkClientBuilder;
import software.amazon.awssdk.regions.Region;
@@ -64,4 +65,24 @@ public interface AwsClientBuilder
*/
BuilderT region(Region region);
+
+ /**
+ * Sets the {@link DefaultsMode} that will be used to determine how certain default configuration options are resolved in
+ * the SDK.
+ *
+ *
+ * If this is not specified, the SDK will attempt to identify the defaults mode automatically using the following logic:
+ *
+ * - Check the "defaults_mode" profile file property.
+ * - Check "aws.defaultsMode" system property.
+ * - Check the "AWS_DEFAULTS_MODE" environment variable.
+ *
+ *
+ * @param defaultsMode the defaultsMode to use
+ * @return This object for method chaining.
+ * @see DefaultsMode
+ */
+ default BuilderT defaultsMode(DefaultsMode defaultsMode) {
+ throw new UnsupportedOperationException();
+ }
}
diff --git a/core/aws-core/src/main/java/software/amazon/awssdk/awscore/client/builder/AwsDefaultClientBuilder.java b/core/aws-core/src/main/java/software/amazon/awssdk/awscore/client/builder/AwsDefaultClientBuilder.java
index c512ed49e1cd..98597fd5bd2a 100644
--- a/core/aws-core/src/main/java/software/amazon/awssdk/awscore/client/builder/AwsDefaultClientBuilder.java
+++ b/core/aws-core/src/main/java/software/amazon/awssdk/awscore/client/builder/AwsDefaultClientBuilder.java
@@ -15,7 +15,7 @@
package software.amazon.awssdk.awscore.client.builder;
-import static software.amazon.awssdk.core.client.config.SdkClientOption.DEFAULTS_MODE;
+import static software.amazon.awssdk.awscore.client.config.AwsClientOption.DEFAULTS_MODE;
import java.net.URI;
import java.util.Arrays;
@@ -27,23 +27,23 @@
import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider;
import software.amazon.awssdk.awscore.client.config.AwsAdvancedClientOption;
import software.amazon.awssdk.awscore.client.config.AwsClientOption;
+import software.amazon.awssdk.awscore.defaultsmode.DefaultsMode;
import software.amazon.awssdk.awscore.endpoint.DefaultServiceEndpointBuilder;
import software.amazon.awssdk.awscore.eventstream.EventStreamInitialRequestInterceptor;
import software.amazon.awssdk.awscore.interceptor.HelpfulUnknownHostExceptionInterceptor;
import software.amazon.awssdk.awscore.internal.defaultsmode.AutoDefaultsModeDiscovery;
+import software.amazon.awssdk.awscore.internal.defaultsmode.DefaultsModeConfiguration;
+import software.amazon.awssdk.awscore.internal.defaultsmode.DefaultsModeResolver;
import software.amazon.awssdk.awscore.retry.AwsRetryPolicy;
import software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder;
import software.amazon.awssdk.core.client.config.SdkAdvancedClientOption;
import software.amazon.awssdk.core.client.config.SdkClientConfiguration;
import software.amazon.awssdk.core.client.config.SdkClientOption;
import software.amazon.awssdk.core.interceptor.ExecutionInterceptor;
-import software.amazon.awssdk.core.internal.defaultsmode.DefaultsModeResolver;
import software.amazon.awssdk.core.retry.RetryMode;
import software.amazon.awssdk.core.retry.RetryPolicy;
-import software.amazon.awssdk.defaultsmode.DefaultsMode;
import software.amazon.awssdk.http.SdkHttpClient;
import software.amazon.awssdk.http.async.SdkAsyncHttpClient;
-import software.amazon.awssdk.internal.defaultsmode.DefaultsModeConfiguration;
import software.amazon.awssdk.profiles.ProfileFile;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.regions.ServiceMetadata;
@@ -125,7 +125,7 @@ protected final AttributeMap childHttpConfig() {
@Override
protected final AttributeMap childHttpConfig(SdkClientConfiguration configuration) {
AttributeMap attributeMap = serviceHttpConfig();
- return attributeMap.merge(httpConfigFromDefaultsMode(configuration));
+ return mergeSmartHttpDefaults(configuration, attributeMap);
}
/**
@@ -160,6 +160,13 @@ protected SdkClientConfiguration mergeInternalDefaults(SdkClientConfiguration co
return configuration;
}
+ /**
+ * Return a client configuration object, populated with the following chain of priorities.
+ *
+ * - Defaults vended from {@link DefaultsMode}
+ * - AWS Global Defaults
+ *
+ */
@Override
protected final SdkClientConfiguration finalizeChildConfiguration(SdkClientConfiguration configuration) {
configuration = finalizeServiceConfiguration(configuration);
@@ -168,9 +175,7 @@ protected final SdkClientConfiguration finalizeChildConfiguration(SdkClientConfi
.option(AwsClientOption.AWS_REGION, resolveRegion(configuration))
.build();
- configuration = configuration.toBuilder()
- .option(SdkClientOption.DEFAULTS_MODE, resolveDefaultsMode(configuration))
- .build();
+ configuration = mergeSmartDefaults(configuration);
return configuration.toBuilder()
.option(AwsClientOption.CREDENTIALS_PROVIDER, resolveCredentials(configuration))
@@ -181,6 +186,16 @@ protected final SdkClientConfiguration finalizeChildConfiguration(SdkClientConfi
.build();
}
+ private SdkClientConfiguration mergeSmartDefaults(SdkClientConfiguration configuration) {
+ DefaultsMode defaultsMode = resolveDefaultsMode(configuration);
+ RetryMode retryMode = DefaultsModeConfiguration.defaultConfig(defaultsMode).get(SdkClientOption.DEFAULT_RETRY_MODE);
+
+ return configuration.toBuilder()
+ .option(DEFAULTS_MODE, defaultsMode)
+ .build()
+ .merge(c -> c.option(SdkClientOption.DEFAULT_RETRY_MODE, retryMode));
+ }
+
/**
* Optionally overridden by child classes to derive service-specific configuration from the default-applied configuration.
*/
@@ -189,11 +204,11 @@ protected SdkClientConfiguration finalizeServiceConfiguration(SdkClientConfigura
}
/**
- * Return the defaults specified for each {@link DefaultsMode}
+ * Merged the HTTP defaults specified for each {@link DefaultsMode}
*/
- private AttributeMap httpConfigFromDefaultsMode(SdkClientConfiguration sdkClientConfiguration) {
- DefaultsMode defaultsMode = sdkClientConfiguration.option(DEFAULTS_MODE);
- return DefaultsModeConfiguration.defaultHttpConfig(defaultsMode);
+ private AttributeMap mergeSmartHttpDefaults(SdkClientConfiguration configuration, AttributeMap attributeMap) {
+ DefaultsMode defaultsMode = configuration.option(DEFAULTS_MODE);
+ return attributeMap.merge(DefaultsModeConfiguration.defaultHttpConfig(defaultsMode));
}
/**
@@ -248,12 +263,13 @@ private Region regionFromDefaultProvider(SdkClientConfiguration config) {
}
private DefaultsMode resolveDefaultsMode(SdkClientConfiguration config) {
- DefaultsMode defaultsMode = config.option(DEFAULTS_MODE) != null ?
- config.option(DEFAULTS_MODE) :
- DefaultsModeResolver.create()
- .profileFile(() -> config.option(SdkClientOption.PROFILE_FILE))
- .profileName(config.option(SdkClientOption.PROFILE_NAME))
- .resolve();
+ DefaultsMode defaultsMode =
+ config.option(AwsClientOption.DEFAULTS_MODE) != null ?
+ config.option(AwsClientOption.DEFAULTS_MODE) :
+ DefaultsModeResolver.create()
+ .profileFile(() -> config.option(SdkClientOption.PROFILE_FILE))
+ .profileName(config.option(SdkClientOption.PROFILE_NAME))
+ .resolve();
if (defaultsMode == DefaultsMode.AUTO) {
defaultsMode = autoDefaultsModeDiscovery.discover(config.option(AwsClientOption.AWS_REGION));
@@ -291,18 +307,11 @@ private RetryPolicy resolveAwsRetryPolicy(SdkClientConfiguration config) {
RetryMode retryMode = RetryMode.resolver()
.profileFile(() -> config.option(SdkClientOption.PROFILE_FILE))
.profileName(config.option(SdkClientOption.PROFILE_NAME))
- .defaultRetryMode(resolveDefaultRetryMode(config))
+ .defaultRetryMode(config.option(SdkClientOption.DEFAULT_RETRY_MODE))
.resolve();
return AwsRetryPolicy.forRetryMode(retryMode);
}
- private RetryMode resolveDefaultRetryMode(SdkClientConfiguration config) {
- DefaultsMode defaultsMode = config.option(DEFAULTS_MODE);
- RetryMode retryMode = config.option(SdkClientOption.DEFAULT_RETRY_MODE);
- return retryMode != null ? retryMode :
- DefaultsModeConfiguration.defaultConfig(defaultsMode).get(SdkClientOption.DEFAULT_RETRY_MODE);
- }
-
@Override
public final BuilderT region(Region region) {
clientConfiguration.option(AwsClientOption.AWS_REGION, region);
@@ -333,4 +342,14 @@ private List awsInterceptors() {
return Arrays.asList(new HelpfulUnknownHostExceptionInterceptor(),
new EventStreamInitialRequestInterceptor());
}
+
+ @Override
+ public final BuilderT defaultsMode(DefaultsMode defaultsMode) {
+ clientConfiguration.option(DEFAULTS_MODE, defaultsMode);
+ return thisBuilder();
+ }
+
+ public final void setDefaultsMode(DefaultsMode defaultsMode) {
+ defaultsMode(defaultsMode);
+ }
}
diff --git a/core/aws-core/src/main/java/software/amazon/awssdk/awscore/client/config/AwsClientOption.java b/core/aws-core/src/main/java/software/amazon/awssdk/awscore/client/config/AwsClientOption.java
index 44e6f69851c8..47965708145a 100644
--- a/core/aws-core/src/main/java/software/amazon/awssdk/awscore/client/config/AwsClientOption.java
+++ b/core/aws-core/src/main/java/software/amazon/awssdk/awscore/client/config/AwsClientOption.java
@@ -18,6 +18,7 @@
import software.amazon.awssdk.annotations.SdkProtectedApi;
import software.amazon.awssdk.auth.credentials.AwsCredentialsProvider;
import software.amazon.awssdk.awscore.client.builder.AwsClientBuilder;
+import software.amazon.awssdk.awscore.defaultsmode.DefaultsMode;
import software.amazon.awssdk.core.client.config.ClientOption;
import software.amazon.awssdk.regions.Region;
@@ -53,6 +54,11 @@ public final class AwsClientOption extends ClientOption {
*/
public static final AwsClientOption ENDPOINT_PREFIX = new AwsClientOption<>(String.class);
+ /**
+ * Option to specify the {@link DefaultsMode}
+ */
+ public static final AwsClientOption DEFAULTS_MODE = new AwsClientOption<>(DefaultsMode.class);
+
private AwsClientOption(Class valueClass) {
super(valueClass);
}
diff --git a/core/aws-core/src/main/java/software/amazon/awssdk/awscore/internal/defaultsmode/AutoDefaultsModeDiscovery.java b/core/aws-core/src/main/java/software/amazon/awssdk/awscore/internal/defaultsmode/AutoDefaultsModeDiscovery.java
index 7ace28d39667..5adc6ab7a092 100644
--- a/core/aws-core/src/main/java/software/amazon/awssdk/awscore/internal/defaultsmode/AutoDefaultsModeDiscovery.java
+++ b/core/aws-core/src/main/java/software/amazon/awssdk/awscore/internal/defaultsmode/AutoDefaultsModeDiscovery.java
@@ -17,8 +17,8 @@
import java.util.Optional;
import software.amazon.awssdk.annotations.SdkInternalApi;
+import software.amazon.awssdk.awscore.defaultsmode.DefaultsMode;
import software.amazon.awssdk.core.SdkSystemSetting;
-import software.amazon.awssdk.defaultsmode.DefaultsMode;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.regions.internal.util.EC2MetadataUtils;
import software.amazon.awssdk.utils.JavaSystemSetting;
diff --git a/core/sdk-core/src/main/java/software/amazon/awssdk/core/internal/defaultsmode/DefaultsModeResolver.java b/core/aws-core/src/main/java/software/amazon/awssdk/awscore/internal/defaultsmode/DefaultsModeResolver.java
similarity index 96%
rename from core/sdk-core/src/main/java/software/amazon/awssdk/core/internal/defaultsmode/DefaultsModeResolver.java
rename to core/aws-core/src/main/java/software/amazon/awssdk/awscore/internal/defaultsmode/DefaultsModeResolver.java
index f0a71f5df37d..c20ceebd04f9 100644
--- a/core/sdk-core/src/main/java/software/amazon/awssdk/core/internal/defaultsmode/DefaultsModeResolver.java
+++ b/core/aws-core/src/main/java/software/amazon/awssdk/awscore/internal/defaultsmode/DefaultsModeResolver.java
@@ -13,15 +13,15 @@
* permissions and limitations under the License.
*/
-package software.amazon.awssdk.core.internal.defaultsmode;
+package software.amazon.awssdk.awscore.internal.defaultsmode;
import java.util.Locale;
import java.util.Optional;
import java.util.function.Supplier;
import software.amazon.awssdk.annotations.SdkInternalApi;
+import software.amazon.awssdk.awscore.defaultsmode.DefaultsMode;
import software.amazon.awssdk.core.SdkSystemSetting;
import software.amazon.awssdk.core.retry.RetryMode;
-import software.amazon.awssdk.defaultsmode.DefaultsMode;
import software.amazon.awssdk.profiles.ProfileFile;
import software.amazon.awssdk.profiles.ProfileFileSystemSetting;
import software.amazon.awssdk.profiles.ProfileProperty;
diff --git a/core/sdk-core/src/main/resources/software/amazon/awssdk/internal/defaults/sdk-default-configuration.json b/core/aws-core/src/main/resources/software/amazon/awssdk/awscore/internal/defaults/sdk-default-configuration.json
similarity index 100%
rename from core/sdk-core/src/main/resources/software/amazon/awssdk/internal/defaults/sdk-default-configuration.json
rename to core/aws-core/src/main/resources/software/amazon/awssdk/awscore/internal/defaults/sdk-default-configuration.json
diff --git a/core/aws-core/src/test/java/software/amazon/awssdk/awscore/client/builder/DefaultAwsClientBuilderTest.java b/core/aws-core/src/test/java/software/amazon/awssdk/awscore/client/builder/DefaultAwsClientBuilderTest.java
index 6d973f2467d9..227e406ceac4 100644
--- a/core/aws-core/src/test/java/software/amazon/awssdk/awscore/client/builder/DefaultAwsClientBuilderTest.java
+++ b/core/aws-core/src/test/java/software/amazon/awssdk/awscore/client/builder/DefaultAwsClientBuilderTest.java
@@ -42,12 +42,12 @@
import org.mockito.runners.MockitoJUnitRunner;
import software.amazon.awssdk.auth.credentials.AnonymousCredentialsProvider;
import software.amazon.awssdk.auth.signer.Aws4Signer;
+import software.amazon.awssdk.awscore.defaultsmode.DefaultsMode;
import software.amazon.awssdk.awscore.internal.defaultsmode.AutoDefaultsModeDiscovery;
import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration;
import software.amazon.awssdk.core.client.config.SdkClientConfiguration;
import software.amazon.awssdk.core.client.config.SdkClientOption;
import software.amazon.awssdk.core.signer.Signer;
-import software.amazon.awssdk.defaultsmode.DefaultsMode;
import software.amazon.awssdk.http.SdkHttpClient;
import software.amazon.awssdk.http.SdkHttpConfigurationOption;
import software.amazon.awssdk.http.async.SdkAsyncHttpClient;
diff --git a/core/aws-core/src/test/java/software/amazon/awssdk/awscore/client/builder/DefaultsModeTest.java b/core/aws-core/src/test/java/software/amazon/awssdk/awscore/client/builder/DefaultsModeTest.java
index f069f6bf35ba..258ff046e9cc 100644
--- a/core/aws-core/src/test/java/software/amazon/awssdk/awscore/client/builder/DefaultsModeTest.java
+++ b/core/aws-core/src/test/java/software/amazon/awssdk/awscore/client/builder/DefaultsModeTest.java
@@ -20,7 +20,7 @@
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import static software.amazon.awssdk.awscore.client.config.AwsAdvancedClientOption.ENABLE_DEFAULT_REGION_DETECTION;
-import static software.amazon.awssdk.core.client.config.SdkClientOption.DEFAULTS_MODE;
+import static software.amazon.awssdk.awscore.client.config.AwsClientOption.DEFAULTS_MODE;
import static software.amazon.awssdk.core.client.config.SdkClientOption.DEFAULT_RETRY_MODE;
import static software.amazon.awssdk.core.client.config.SdkClientOption.RETRY_POLICY;
@@ -30,15 +30,15 @@
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
import software.amazon.awssdk.auth.credentials.AnonymousCredentialsProvider;
+import software.amazon.awssdk.awscore.defaultsmode.DefaultsMode;
import software.amazon.awssdk.awscore.internal.defaultsmode.AutoDefaultsModeDiscovery;
+import software.amazon.awssdk.awscore.internal.defaultsmode.DefaultsModeConfiguration;
import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration;
import software.amazon.awssdk.core.client.config.SdkClientConfiguration;
import software.amazon.awssdk.core.retry.RetryMode;
-import software.amazon.awssdk.defaultsmode.DefaultsMode;
import software.amazon.awssdk.http.SdkHttpClient;
import software.amazon.awssdk.http.SdkHttpConfigurationOption;
import software.amazon.awssdk.http.async.SdkAsyncHttpClient;
-import software.amazon.awssdk.internal.defaultsmode.DefaultsModeConfiguration;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.utils.AttributeMap;
@@ -83,7 +83,7 @@ public void nonLegacyDefaultsMode_shouldApplySdkDefaultsAndHttpDefaults() {
TestClient client =
testClientBuilder().region(Region.US_WEST_1)
- .overrideConfiguration(o -> o.defaultsMode(targetMode))
+ .defaultsMode(targetMode)
.httpClientBuilder((SdkHttpClient.Builder) serviceDefaults -> {
AttributeMap defaultHttpConfig = DefaultsModeConfiguration.defaultHttpConfig(targetMode);
AttributeMap mergedDefaults = SERVICE_DEFAULTS.merge(defaultHttpConfig);
@@ -104,7 +104,7 @@ public void nonLegacyDefaultsModeAsyncClient_shouldApplySdkDefaultsAndHttpDefaul
TestAsyncClient client =
testAsyncClientBuilder().region(Region.US_WEST_1)
- .overrideConfiguration(o -> o.defaultsMode(targetMode))
+ .defaultsMode(targetMode)
.httpClientBuilder((SdkHttpClient.Builder) serviceDefaults -> {
AttributeMap defaultHttpConfig = DefaultsModeConfiguration.defaultHttpConfig(targetMode);
AttributeMap mergedDefaults = SERVICE_DEFAULTS.merge(defaultHttpConfig);
@@ -123,8 +123,8 @@ public void nonLegacyDefaultsModeAsyncClient_shouldApplySdkDefaultsAndHttpDefaul
public void clientOverrideRetryMode_shouldTakePrecedence() {
TestClient client =
testClientBuilder().region(Region.US_WEST_1)
- .overrideConfiguration(o -> o.defaultsMode(DefaultsMode.IN_REGION)
- .retryPolicy(RetryMode.LEGACY))
+ .defaultsMode(DefaultsMode.IN_REGION)
+ .overrideConfiguration(o -> o.retryPolicy(RetryMode.LEGACY))
.build();
assertThat(client.clientConfiguration.option(DEFAULTS_MODE)).isEqualTo(DefaultsMode.IN_REGION);
assertThat(client.clientConfiguration.option(RETRY_POLICY).retryMode()).isEqualTo(RetryMode.LEGACY);
@@ -136,7 +136,7 @@ public void autoMode_shouldResolveDefaultsMode() {
when(autoModeDiscovery.discover(any(Region.class))).thenReturn(expectedMode);
TestClient client =
testClientBuilder().region(Region.US_WEST_1)
- .overrideConfiguration(o -> o.defaultsMode(DefaultsMode.AUTO))
+ .defaultsMode(DefaultsMode.AUTO)
.build();
assertThat(client.clientConfiguration.option(DEFAULTS_MODE)).isEqualTo(expectedMode);
diff --git a/core/aws-core/src/test/java/software/amazon/awssdk/awscore/internal/AutoDefaultsModeDiscoveryTest.java b/core/aws-core/src/test/java/software/amazon/awssdk/awscore/internal/defaultsmode/AutoDefaultsModeDiscoveryTest.java
similarity index 98%
rename from core/aws-core/src/test/java/software/amazon/awssdk/awscore/internal/AutoDefaultsModeDiscoveryTest.java
rename to core/aws-core/src/test/java/software/amazon/awssdk/awscore/internal/defaultsmode/AutoDefaultsModeDiscoveryTest.java
index ae3cd7bc7e12..0170dfc39da4 100644
--- a/core/aws-core/src/test/java/software/amazon/awssdk/awscore/internal/AutoDefaultsModeDiscoveryTest.java
+++ b/core/aws-core/src/test/java/software/amazon/awssdk/awscore/internal/defaultsmode/AutoDefaultsModeDiscoveryTest.java
@@ -13,7 +13,7 @@
* permissions and limitations under the License.
*/
-package software.amazon.awssdk.awscore.internal;
+package software.amazon.awssdk.awscore.internal.defaultsmode;
import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
import static com.github.tomakehurst.wiremock.client.WireMock.get;
@@ -31,9 +31,8 @@
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
-import software.amazon.awssdk.awscore.internal.defaultsmode.AutoDefaultsModeDiscovery;
+import software.amazon.awssdk.awscore.defaultsmode.DefaultsMode;
import software.amazon.awssdk.core.SdkSystemSetting;
-import software.amazon.awssdk.defaultsmode.DefaultsMode;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.regions.internal.util.EC2MetadataUtils;
import software.amazon.awssdk.testutils.EnvironmentVariableHelper;
diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/defaultsmode/DefaultsModeConfigurationTest.java b/core/aws-core/src/test/java/software/amazon/awssdk/awscore/internal/defaultsmode/DefaultsModeConfigurationTest.java
similarity index 88%
rename from core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/defaultsmode/DefaultsModeConfigurationTest.java
rename to core/aws-core/src/test/java/software/amazon/awssdk/awscore/internal/defaultsmode/DefaultsModeConfigurationTest.java
index 6a1e3e12faae..e7a2ba9f7b9b 100644
--- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/defaultsmode/DefaultsModeConfigurationTest.java
+++ b/core/aws-core/src/test/java/software/amazon/awssdk/awscore/internal/defaultsmode/DefaultsModeConfigurationTest.java
@@ -13,14 +13,13 @@
* permissions and limitations under the License.
*/
-package software.amazon.awssdk.core.internal.defaultsmode;
+package software.amazon.awssdk.awscore.internal.defaultsmode;
import static org.assertj.core.api.Assertions.assertThat;
import java.util.Arrays;
import org.junit.Test;
-import software.amazon.awssdk.defaultsmode.DefaultsMode;
-import software.amazon.awssdk.internal.defaultsmode.DefaultsModeConfiguration;
+import software.amazon.awssdk.awscore.defaultsmode.DefaultsMode;
import software.amazon.awssdk.utils.AttributeMap;
public class DefaultsModeConfigurationTest {
diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/defaultsmode/DefaultsModeTest.java b/core/aws-core/src/test/java/software/amazon/awssdk/awscore/internal/defaultsmode/DefaultsModeResolverTest.java
similarity index 97%
rename from core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/defaultsmode/DefaultsModeTest.java
rename to core/aws-core/src/test/java/software/amazon/awssdk/awscore/internal/defaultsmode/DefaultsModeResolverTest.java
index 60e1538c83f9..a0df1ee0c562 100644
--- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/defaultsmode/DefaultsModeTest.java
+++ b/core/aws-core/src/test/java/software/amazon/awssdk/awscore/internal/defaultsmode/DefaultsModeResolverTest.java
@@ -13,7 +13,7 @@
* permissions and limitations under the License.
*/
-package software.amazon.awssdk.core.internal.defaultsmode;
+package software.amazon.awssdk.awscore.internal.defaultsmode;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
@@ -28,14 +28,14 @@
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
+import software.amazon.awssdk.awscore.defaultsmode.DefaultsMode;
import software.amazon.awssdk.core.SdkSystemSetting;
-import software.amazon.awssdk.defaultsmode.DefaultsMode;
import software.amazon.awssdk.profiles.ProfileFileSystemSetting;
import software.amazon.awssdk.testutils.EnvironmentVariableHelper;
import software.amazon.awssdk.utils.Validate;
@RunWith(Parameterized.class)
-public class DefaultsModeTest {
+public class DefaultsModeResolverTest {
private static final EnvironmentVariableHelper ENVIRONMENT_VARIABLE_HELPER = new EnvironmentVariableHelper();
@Parameterized.Parameter
diff --git a/core/sdk-core/src/test/resources/software/amazon/awssdk/core/internal/defaultsmode/PropertyMixedCase b/core/aws-core/src/test/resources/software/amazon/awssdk/awscore/internal/defaultsmode/PropertyMixedCase
similarity index 100%
rename from core/sdk-core/src/test/resources/software/amazon/awssdk/core/internal/defaultsmode/PropertyMixedCase
rename to core/aws-core/src/test/resources/software/amazon/awssdk/awscore/internal/defaultsmode/PropertyMixedCase
diff --git a/core/sdk-core/src/test/resources/software/amazon/awssdk/core/internal/defaultsmode/PropertyNotSet b/core/aws-core/src/test/resources/software/amazon/awssdk/awscore/internal/defaultsmode/PropertyNotSet
similarity index 100%
rename from core/sdk-core/src/test/resources/software/amazon/awssdk/core/internal/defaultsmode/PropertyNotSet
rename to core/aws-core/src/test/resources/software/amazon/awssdk/awscore/internal/defaultsmode/PropertyNotSet
diff --git a/core/sdk-core/src/test/resources/software/amazon/awssdk/core/internal/defaultsmode/PropertySetToAuto b/core/aws-core/src/test/resources/software/amazon/awssdk/awscore/internal/defaultsmode/PropertySetToAuto
similarity index 100%
rename from core/sdk-core/src/test/resources/software/amazon/awssdk/core/internal/defaultsmode/PropertySetToAuto
rename to core/aws-core/src/test/resources/software/amazon/awssdk/awscore/internal/defaultsmode/PropertySetToAuto
diff --git a/core/sdk-core/src/test/resources/software/amazon/awssdk/core/internal/defaultsmode/PropertySetToLegacy b/core/aws-core/src/test/resources/software/amazon/awssdk/awscore/internal/defaultsmode/PropertySetToLegacy
similarity index 100%
rename from core/sdk-core/src/test/resources/software/amazon/awssdk/core/internal/defaultsmode/PropertySetToLegacy
rename to core/aws-core/src/test/resources/software/amazon/awssdk/awscore/internal/defaultsmode/PropertySetToLegacy
diff --git a/core/sdk-core/src/test/resources/software/amazon/awssdk/core/internal/defaultsmode/PropertySetToStandard b/core/aws-core/src/test/resources/software/amazon/awssdk/awscore/internal/defaultsmode/PropertySetToStandard
similarity index 100%
rename from core/sdk-core/src/test/resources/software/amazon/awssdk/core/internal/defaultsmode/PropertySetToStandard
rename to core/aws-core/src/test/resources/software/amazon/awssdk/awscore/internal/defaultsmode/PropertySetToStandard
diff --git a/core/sdk-core/src/test/resources/software/amazon/awssdk/core/internal/defaultsmode/PropertySetToUnsupportedValue b/core/aws-core/src/test/resources/software/amazon/awssdk/awscore/internal/defaultsmode/PropertySetToUnsupportedValue
similarity index 100%
rename from core/sdk-core/src/test/resources/software/amazon/awssdk/core/internal/defaultsmode/PropertySetToUnsupportedValue
rename to core/aws-core/src/test/resources/software/amazon/awssdk/awscore/internal/defaultsmode/PropertySetToUnsupportedValue
diff --git a/core/sdk-core/pom.xml b/core/sdk-core/pom.xml
index a9461be0655d..1f7a1604caad 100644
--- a/core/sdk-core/pom.xml
+++ b/core/sdk-core/pom.xml
@@ -238,19 +238,6 @@
-
- software.amazon.awssdk
- codegen-lite-maven-plugin
- ${awsjavasdk.version}
-
-
- generate-sources
-
- generate-defaults-mode
-
-
-
-
diff --git a/core/sdk-core/src/main/java/software/amazon/awssdk/core/SdkSystemSetting.java b/core/sdk-core/src/main/java/software/amazon/awssdk/core/SdkSystemSetting.java
index be9ba3629161..896f72277495 100644
--- a/core/sdk-core/src/main/java/software/amazon/awssdk/core/SdkSystemSetting.java
+++ b/core/sdk-core/src/main/java/software/amazon/awssdk/core/SdkSystemSetting.java
@@ -19,7 +19,6 @@
import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration;
import software.amazon.awssdk.core.retry.RetryMode;
import software.amazon.awssdk.core.retry.RetryPolicy;
-import software.amazon.awssdk.defaultsmode.DefaultsMode;
import software.amazon.awssdk.utils.SystemSetting;
/**
@@ -170,8 +169,7 @@ public enum SdkSystemSetting implements SystemSetting {
AWS_MAX_ATTEMPTS("aws.maxAttempts", null),
/**
- * Which {@link DefaultsMode} to use, case insensitive
- * @see DefaultsMode
+ * Which {@code DefaultsMode} to use, case insensitive
*/
AWS_DEFAULTS_MODE("aws.defaultsMode", null),
diff --git a/core/sdk-core/src/main/java/software/amazon/awssdk/core/client/builder/SdkDefaultClientBuilder.java b/core/sdk-core/src/main/java/software/amazon/awssdk/core/client/builder/SdkDefaultClientBuilder.java
index 64d588b95cae..0f4e7f075890 100644
--- a/core/sdk-core/src/main/java/software/amazon/awssdk/core/client/builder/SdkDefaultClientBuilder.java
+++ b/core/sdk-core/src/main/java/software/amazon/awssdk/core/client/builder/SdkDefaultClientBuilder.java
@@ -27,7 +27,6 @@
import static software.amazon.awssdk.core.client.config.SdkClientOption.API_CALL_TIMEOUT;
import static software.amazon.awssdk.core.client.config.SdkClientOption.ASYNC_HTTP_CLIENT;
import static software.amazon.awssdk.core.client.config.SdkClientOption.CRC32_FROM_COMPRESSED_DATA_ENABLED;
-import static software.amazon.awssdk.core.client.config.SdkClientOption.DEFAULTS_MODE;
import static software.amazon.awssdk.core.client.config.SdkClientOption.ENDPOINT_OVERRIDDEN;
import static software.amazon.awssdk.core.client.config.SdkClientOption.EXECUTION_ATTRIBUTES;
import static software.amazon.awssdk.core.client.config.SdkClientOption.EXECUTION_INTERCEPTORS;
@@ -69,7 +68,6 @@
import software.amazon.awssdk.core.retry.RetryMode;
import software.amazon.awssdk.core.retry.RetryPolicy;
import software.amazon.awssdk.core.util.SdkUserAgent;
-import software.amazon.awssdk.defaultsmode.DefaultsMode;
import software.amazon.awssdk.http.ExecutableHttpRequest;
import software.amazon.awssdk.http.HttpExecuteRequest;
import software.amazon.awssdk.http.SdkHttpClient;
@@ -149,7 +147,6 @@ public final C build() {
*
* - Customer Configuration
* - Service-Specific Defaults
- * - Defaults vended by {@link DefaultsMode}
* - Global Defaults
*
*/
@@ -173,7 +170,6 @@ protected final SdkClientConfiguration syncClientConfiguration() {
*
* - Customer Configuration
* - Implementation/Service-Specific Configuration
- * - Defaults vended by {@link DefaultsMode}
* - Global Default Configuration
*
*/
@@ -405,7 +401,6 @@ public final B overrideConfiguration(ClientOverrideConfiguration overrideConfig)
overrideConfig.advancedOption(ENDPOINT_OVERRIDDEN_OVERRIDE).ifPresent(value -> {
clientConfiguration.option(ENDPOINT_OVERRIDDEN, value);
});
- clientConfiguration.option(DEFAULTS_MODE, overrideConfig.defaultsMode().orElse(null));
overrideConfig.advancedOption(SIGNER).ifPresent(s -> clientConfiguration.option(SIGNER_OVERRIDDEN, true));
return thisBuilder();
}
diff --git a/core/sdk-core/src/main/java/software/amazon/awssdk/core/client/config/ClientOverrideConfiguration.java b/core/sdk-core/src/main/java/software/amazon/awssdk/core/client/config/ClientOverrideConfiguration.java
index a2602105612f..81b99d999667 100644
--- a/core/sdk-core/src/main/java/software/amazon/awssdk/core/client/config/ClientOverrideConfiguration.java
+++ b/core/sdk-core/src/main/java/software/amazon/awssdk/core/client/config/ClientOverrideConfiguration.java
@@ -31,7 +31,6 @@
import software.amazon.awssdk.core.retry.RetryMode;
import software.amazon.awssdk.core.retry.RetryPolicy;
import software.amazon.awssdk.core.sync.ResponseTransformer;
-import software.amazon.awssdk.defaultsmode.DefaultsMode;
import software.amazon.awssdk.metrics.MetricPublisher;
import software.amazon.awssdk.profiles.ProfileFile;
import software.amazon.awssdk.profiles.ProfileFileSystemSetting;
@@ -61,7 +60,6 @@ public final class ClientOverrideConfiguration
private final String defaultProfileName;
private final List metricPublishers;
private final ExecutionAttributes executionAttributes;
- private final DefaultsMode defaultsMode;
/**
* Initialize this configuration. Private to require use of {@link #builder()}.
@@ -77,7 +75,6 @@ private ClientOverrideConfiguration(Builder builder) {
this.defaultProfileName = builder.defaultProfileName();
this.metricPublishers = Collections.unmodifiableList(new ArrayList<>(builder.metricPublishers()));
this.executionAttributes = ExecutionAttributes.unmodifiableExecutionAttributes(builder.executionAttributes());
- this.defaultsMode = builder.defaultsMode();
}
@Override
@@ -204,15 +201,6 @@ public List metricPublishers() {
return metricPublishers;
}
- /**
- * The optional defaults mode that should be used to determine the default configuration
- * @return the optional defaults mode
- * @see Builder#defaultsMode(DefaultsMode)
- */
- public Optional defaultsMode() {
- return Optional.ofNullable(defaultsMode);
- }
-
/**
* Returns the additional execution attributes to be added for this client.
*
@@ -481,16 +469,6 @@ default Builder retryPolicy(RetryMode retryMode) {
Builder putExecutionAttribute(ExecutionAttribute attribute, T value);
ExecutionAttributes executionAttributes();
-
- /**
- * Sets the defaults mode that will be used to determine the default configuration
- * @param defaultsMode the defaultsMode to use
- * @return This object for method chaining.
- * @see DefaultsMode
- */
- Builder defaultsMode(DefaultsMode defaultsMode);
-
- DefaultsMode defaultsMode();
}
/**
@@ -507,7 +485,6 @@ private static final class DefaultClientOverrideConfigurationBuilder implements
private String defaultProfileName;
private List metricPublishers = new ArrayList<>();
private ExecutionAttributes.Builder executionAttributesBuilder = ExecutionAttributes.builder();
- private DefaultsMode defaultsMode;
@Override
public Builder headers(Map> headers) {
@@ -690,21 +667,6 @@ public ExecutionAttributes executionAttributes() {
return executionAttributesBuilder.build();
}
- @Override
- public Builder defaultsMode(DefaultsMode mode) {
- this.defaultsMode = mode;
- return this;
- }
-
- @Override
- public DefaultsMode defaultsMode() {
- return defaultsMode;
- }
-
- public void setDefaultsMode(DefaultsMode mode) {
- defaultsMode(mode);
- }
-
@Override
public ClientOverrideConfiguration build() {
return new ClientOverrideConfiguration(this);
diff --git a/core/sdk-core/src/main/java/software/amazon/awssdk/core/client/config/SdkClientOption.java b/core/sdk-core/src/main/java/software/amazon/awssdk/core/client/config/SdkClientOption.java
index 9930299d90ea..01a45c683b8a 100644
--- a/core/sdk-core/src/main/java/software/amazon/awssdk/core/client/config/SdkClientOption.java
+++ b/core/sdk-core/src/main/java/software/amazon/awssdk/core/client/config/SdkClientOption.java
@@ -27,7 +27,6 @@
import software.amazon.awssdk.core.interceptor.ExecutionInterceptor;
import software.amazon.awssdk.core.retry.RetryMode;
import software.amazon.awssdk.core.retry.RetryPolicy;
-import software.amazon.awssdk.defaultsmode.DefaultsMode;
import software.amazon.awssdk.http.SdkHttpClient;
import software.amazon.awssdk.http.async.SdkAsyncHttpClient;
import software.amazon.awssdk.metrics.MetricPublisher;
@@ -158,11 +157,6 @@ public final class SdkClientOption extends ClientOption {
*/
public static final SdkClientOption DEFAULT_RETRY_MODE = new SdkClientOption<>(RetryMode.class);
- /**
- * Option to specify the {@link DefaultsMode}
- */
- public static final SdkClientOption DEFAULTS_MODE = new SdkClientOption<>(DefaultsMode.class);
-
private SdkClientOption(Class valueClass) {
super(valueClass);
}
From 347ec0969c851630f69bf1a7968b7a0ca51aac31 Mon Sep 17 00:00:00 2001
From: Zoe Wang <33073555+zoewangg@users.noreply.github.com>
Date: Thu, 4 Nov 2021 10:50:00 -0700
Subject: [PATCH 2/2] Remove extra space and fix build
---
.../awssdk/awscore/client/builder/AwsClientBuilder.java | 2 +-
.../awscore/client/builder/AwsDefaultClientBuilder.java | 2 +-
.../services/defaultsmode/ClientDefaultsModeTestSuite.java | 6 +++---
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/core/aws-core/src/main/java/software/amazon/awssdk/awscore/client/builder/AwsClientBuilder.java b/core/aws-core/src/main/java/software/amazon/awssdk/awscore/client/builder/AwsClientBuilder.java
index 4341f82ea44e..5d972544c1aa 100644
--- a/core/aws-core/src/main/java/software/amazon/awssdk/awscore/client/builder/AwsClientBuilder.java
+++ b/core/aws-core/src/main/java/software/amazon/awssdk/awscore/client/builder/AwsClientBuilder.java
@@ -82,7 +82,7 @@ public interface AwsClientBuilder awsInterceptors() {
}
@Override
- public final BuilderT defaultsMode(DefaultsMode defaultsMode) {
+ public final BuilderT defaultsMode(DefaultsMode defaultsMode) {
clientConfiguration.option(DEFAULTS_MODE, defaultsMode);
return thisBuilder();
}
diff --git a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/defaultsmode/ClientDefaultsModeTestSuite.java b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/defaultsmode/ClientDefaultsModeTestSuite.java
index 9d99daee4ad9..a407de097528 100644
--- a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/defaultsmode/ClientDefaultsModeTestSuite.java
+++ b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/defaultsmode/ClientDefaultsModeTestSuite.java
@@ -32,8 +32,8 @@
import software.amazon.awssdk.auth.credentials.AwsBasicCredentials;
import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider;
import software.amazon.awssdk.awscore.client.builder.AwsClientBuilder;
+import software.amazon.awssdk.awscore.defaultsmode.DefaultsMode;
import software.amazon.awssdk.core.retry.RetryMode;
-import software.amazon.awssdk.defaultsmode.DefaultsMode;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.protocolrestjson.model.AllTypesResponse;
@@ -58,7 +58,7 @@ public void legacyDefaultsMode_shouldUseLegacySetting() {
@Test
public void standardDefaultsMode_shouldApplyStandardDefaults() {
stubResponse();
- ClientT client = clientBuilder().overrideConfiguration(o -> o.defaultsMode(DefaultsMode.STANDARD)).build();
+ ClientT client = clientBuilder().defaultsMode(DefaultsMode.STANDARD).build();
callAllTypes(client);
WireMock.verify(postRequestedFor(anyUrl()).withHeader("User-Agent", containing("cfg/retry-mode/standard")));
@@ -68,7 +68,7 @@ public void standardDefaultsMode_shouldApplyStandardDefaults() {
public void retryModeOverridden_shouldTakePrecedence() {
stubResponse();
ClientT client =
- clientBuilder().overrideConfiguration(o -> o.defaultsMode(DefaultsMode.STANDARD).retryPolicy(RetryMode.LEGACY)).build();
+ clientBuilder().defaultsMode(DefaultsMode.STANDARD).overrideConfiguration(o -> o.retryPolicy(RetryMode.LEGACY)).build();
callAllTypes(client);
WireMock.verify(postRequestedFor(anyUrl()).withHeader("User-Agent", containing("cfg/retry-mode/legacy")));