Skip to content

Commit fa9dbcc

Browse files
authored
Move and rename IdentityProviderConfiguration (#4423)
* Move IdentityProviderConfiguration to identity-spi * Rename IdentityProviderConfiguration to IdentityProviders * Rename identityResolvers to identityProviders * Rename IDENTITY_PROVIDER_CONFIGURATION to IDENTITY_PROVIDERS * Re-organize imports to fix ordering * Fix one place that still used configuration
1 parent 8dd837d commit fa9dbcc

File tree

27 files changed

+156
-165
lines changed

27 files changed

+156
-165
lines changed

codegen/src/main/java/software/amazon/awssdk/codegen/poet/auth/scheme/AuthSchemeInterceptorSpec.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,10 @@
4949
import software.amazon.awssdk.core.metrics.CoreMetric;
5050
import software.amazon.awssdk.http.auth.spi.AuthScheme;
5151
import software.amazon.awssdk.http.auth.spi.AuthSchemeOption;
52-
import software.amazon.awssdk.http.auth.spi.IdentityProviderConfiguration;
5352
import software.amazon.awssdk.identity.spi.AwsCredentialsIdentity;
5453
import software.amazon.awssdk.identity.spi.Identity;
5554
import software.amazon.awssdk.identity.spi.IdentityProvider;
55+
import software.amazon.awssdk.identity.spi.IdentityProviders;
5656
import software.amazon.awssdk.identity.spi.ResolveIdentityRequest;
5757
import software.amazon.awssdk.identity.spi.TokenIdentity;
5858
import software.amazon.awssdk.metrics.MetricCollector;
@@ -199,15 +199,15 @@ private MethodSpec generateSelectAuthScheme() {
199199
.addStatement("$T authSchemes = executionAttributes.getAttribute($T.AUTH_SCHEMES)",
200200
mapOf(String.class, wildcardAuthScheme()),
201201
SdkInternalExecutionAttribute.class)
202-
.addStatement("$T identityResolvers = executionAttributes.getAttribute($T.IDENTITY_PROVIDER_CONFIGURATION)",
203-
IdentityProviderConfiguration.class, SdkInternalExecutionAttribute.class)
202+
.addStatement("$T identityProviders = executionAttributes.getAttribute($T.IDENTITY_PROVIDERS)",
203+
IdentityProviders.class, SdkInternalExecutionAttribute.class)
204204
.addStatement("$T discardedReasons = new $T<>()",
205205
listOfStringSuppliers(), ArrayList.class);
206206

207207
builder.beginControlFlow("for ($T authOption : authOptions)", AuthSchemeOption.class);
208208
{
209209
builder.addStatement("$T authScheme = authSchemes.get(authOption.schemeId())", wildcardAuthScheme())
210-
.addStatement("$T selectedAuthScheme = trySelectAuthScheme(authOption, authScheme, identityResolvers, "
210+
.addStatement("$T selectedAuthScheme = trySelectAuthScheme(authOption, authScheme, identityProviders, "
211211
+ "discardedReasons, metricCollector)",
212212
wildcardSelectedAuthScheme());
213213
builder.beginControlFlow("if (selectedAuthScheme != null)");
@@ -235,7 +235,7 @@ private MethodSpec generateTrySelectAuthScheme() {
235235
.returns(namedSelectedAuthScheme())
236236
.addParameter(AuthSchemeOption.class, "authOption")
237237
.addParameter(namedAuthScheme(), "authScheme")
238-
.addParameter(IdentityProviderConfiguration.class, "identityProviders")
238+
.addParameter(IdentityProviders.class, "identityProviders")
239239
.addParameter(listOfStringSuppliers(), "discardedReasons")
240240
.addParameter(MetricCollector.class, "metricCollector")
241241
.addTypeVariable(TypeVariableName.get("T", Identity.class));

codegen/src/main/java/software/amazon/awssdk/codegen/poet/builder/BaseClientBuilderClass.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@
5858
import software.amazon.awssdk.http.Protocol;
5959
import software.amazon.awssdk.http.SdkHttpConfigurationOption;
6060
import software.amazon.awssdk.http.auth.spi.AuthScheme;
61-
import software.amazon.awssdk.http.auth.spi.IdentityProviderConfiguration;
6261
import software.amazon.awssdk.identity.spi.IdentityProvider;
62+
import software.amazon.awssdk.identity.spi.IdentityProviders;
6363
import software.amazon.awssdk.identity.spi.TokenIdentity;
6464
import software.amazon.awssdk.protocols.query.interceptor.QueryParametersToBodyInterceptor;
6565
import software.amazon.awssdk.utils.AttributeMap;
@@ -335,11 +335,10 @@ private MethodSpec finalizeServiceConfigurationMethod() {
335335
builder.addStatement("$T<? extends $T> identityProvider = config.option($T.TOKEN_IDENTITY_PROVIDER)",
336336
IdentityProvider.class, TokenIdentity.class, AwsClientOption.class);
337337
builder.beginControlFlow("if (identityProvider != null)");
338-
builder.addStatement("$T identityProviderConfig = config.option($T.IDENTITY_PROVIDER_CONFIGURATION)",
339-
IdentityProviderConfiguration.class, SdkClientOption.class);
338+
builder.addStatement("$T identityProviders = config.option($T.IDENTITY_PROVIDERS)",
339+
IdentityProviders.class, SdkClientOption.class);
340340

341-
builder.addStatement("builder.option($T.IDENTITY_PROVIDER_CONFIGURATION, "
342-
+ "identityProviderConfig.toBuilder()"
341+
builder.addStatement("builder.option($T.IDENTITY_PROVIDERS, identityProviders.toBuilder()"
343342
+ ".putIdentityProvider(identityProvider).build())", SdkClientOption.class);
344343

345344
builder.endControlFlow();

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/auth/scheme/query-auth-scheme-interceptor.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@
2222
import software.amazon.awssdk.core.metrics.CoreMetric;
2323
import software.amazon.awssdk.http.auth.spi.AuthScheme;
2424
import software.amazon.awssdk.http.auth.spi.AuthSchemeOption;
25-
import software.amazon.awssdk.http.auth.spi.IdentityProviderConfiguration;
2625
import software.amazon.awssdk.identity.spi.AwsCredentialsIdentity;
2726
import software.amazon.awssdk.identity.spi.Identity;
2827
import software.amazon.awssdk.identity.spi.IdentityProvider;
28+
import software.amazon.awssdk.identity.spi.IdentityProviders;
2929
import software.amazon.awssdk.identity.spi.ResolveIdentityRequest;
3030
import software.amazon.awssdk.identity.spi.TokenIdentity;
3131
import software.amazon.awssdk.metrics.MetricCollector;
@@ -61,13 +61,13 @@ private SelectedAuthScheme<? extends Identity> selectAuthScheme(List<AuthSchemeO
6161
ExecutionAttributes executionAttributes) {
6262
MetricCollector metricCollector = executionAttributes.getAttribute(SdkExecutionAttribute.API_CALL_METRIC_COLLECTOR);
6363
Map<String, AuthScheme<?>> authSchemes = executionAttributes.getAttribute(SdkInternalExecutionAttribute.AUTH_SCHEMES);
64-
IdentityProviderConfiguration identityResolvers = executionAttributes
65-
.getAttribute(SdkInternalExecutionAttribute.IDENTITY_PROVIDER_CONFIGURATION);
64+
IdentityProviders identityProviders = executionAttributes
65+
.getAttribute(SdkInternalExecutionAttribute.IDENTITY_PROVIDERS);
6666
List<Supplier<String>> discardedReasons = new ArrayList<>();
6767
for (AuthSchemeOption authOption : authOptions) {
6868
AuthScheme<?> authScheme = authSchemes.get(authOption.schemeId());
6969
SelectedAuthScheme<? extends Identity> selectedAuthScheme = trySelectAuthScheme(authOption, authScheme,
70-
identityResolvers, discardedReasons, metricCollector);
70+
identityProviders, discardedReasons, metricCollector);
7171
if (selectedAuthScheme != null) {
7272
if (!discardedReasons.isEmpty()) {
7373
LOG.debug(() -> String.format("%s auth will be used, discarded: '%s'", authOption.schemeId(),
@@ -90,7 +90,7 @@ private QueryAuthSchemeParams authSchemeParams(SdkRequest request, ExecutionAttr
9090
}
9191

9292
private <T extends Identity> SelectedAuthScheme<T> trySelectAuthScheme(AuthSchemeOption authOption, AuthScheme<T> authScheme,
93-
IdentityProviderConfiguration identityProviders, List<Supplier<String>> discardedReasons,
93+
IdentityProviders identityProviders, List<Supplier<String>> discardedReasons,
9494
MetricCollector metricCollector) {
9595
if (authScheme == null) {
9696
discardedReasons.add(() -> String.format("'%s' is not enabled for this request.", authOption.schemeId()));

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/auth/scheme/query-endpoint-auth-params-with-allowlist-auth-scheme-interceptor.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@
2121
import software.amazon.awssdk.core.metrics.CoreMetric;
2222
import software.amazon.awssdk.http.auth.spi.AuthScheme;
2323
import software.amazon.awssdk.http.auth.spi.AuthSchemeOption;
24-
import software.amazon.awssdk.http.auth.spi.IdentityProviderConfiguration;
2524
import software.amazon.awssdk.identity.spi.AwsCredentialsIdentity;
2625
import software.amazon.awssdk.identity.spi.Identity;
2726
import software.amazon.awssdk.identity.spi.IdentityProvider;
27+
import software.amazon.awssdk.identity.spi.IdentityProviders;
2828
import software.amazon.awssdk.identity.spi.ResolveIdentityRequest;
2929
import software.amazon.awssdk.identity.spi.TokenIdentity;
3030
import software.amazon.awssdk.metrics.MetricCollector;
@@ -61,13 +61,13 @@ private SelectedAuthScheme<? extends Identity> selectAuthScheme(List<AuthSchemeO
6161
ExecutionAttributes executionAttributes) {
6262
MetricCollector metricCollector = executionAttributes.getAttribute(SdkExecutionAttribute.API_CALL_METRIC_COLLECTOR);
6363
Map<String, AuthScheme<?>> authSchemes = executionAttributes.getAttribute(SdkInternalExecutionAttribute.AUTH_SCHEMES);
64-
IdentityProviderConfiguration identityResolvers = executionAttributes
65-
.getAttribute(SdkInternalExecutionAttribute.IDENTITY_PROVIDER_CONFIGURATION);
64+
IdentityProviders identityProviders = executionAttributes
65+
.getAttribute(SdkInternalExecutionAttribute.IDENTITY_PROVIDERS);
6666
List<Supplier<String>> discardedReasons = new ArrayList<>();
6767
for (AuthSchemeOption authOption : authOptions) {
6868
AuthScheme<?> authScheme = authSchemes.get(authOption.schemeId());
6969
SelectedAuthScheme<? extends Identity> selectedAuthScheme = trySelectAuthScheme(authOption, authScheme,
70-
identityResolvers, discardedReasons, metricCollector);
70+
identityProviders, discardedReasons, metricCollector);
7171
if (selectedAuthScheme != null) {
7272
if (!discardedReasons.isEmpty()) {
7373
LOG.debug(() -> String.format("%s auth will be used, discarded: '%s'", authOption.schemeId(),
@@ -99,7 +99,7 @@ private QueryAuthSchemeParams authSchemeParams(SdkRequest request, ExecutionAttr
9999
}
100100

101101
private <T extends Identity> SelectedAuthScheme<T> trySelectAuthScheme(AuthSchemeOption authOption, AuthScheme<T> authScheme,
102-
IdentityProviderConfiguration identityProviders, List<Supplier<String>> discardedReasons,
102+
IdentityProviders identityProviders, List<Supplier<String>> discardedReasons,
103103
MetricCollector metricCollector) {
104104
if (authScheme == null) {
105105
discardedReasons.add(() -> String.format("'%s' is not enabled for this request.", authOption.schemeId()));

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/auth/scheme/query-endpoint-auth-params-without-allowlist-auth-scheme-interceptor.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@
2121
import software.amazon.awssdk.core.metrics.CoreMetric;
2222
import software.amazon.awssdk.http.auth.spi.AuthScheme;
2323
import software.amazon.awssdk.http.auth.spi.AuthSchemeOption;
24-
import software.amazon.awssdk.http.auth.spi.IdentityProviderConfiguration;
2524
import software.amazon.awssdk.identity.spi.AwsCredentialsIdentity;
2625
import software.amazon.awssdk.identity.spi.Identity;
2726
import software.amazon.awssdk.identity.spi.IdentityProvider;
27+
import software.amazon.awssdk.identity.spi.IdentityProviders;
2828
import software.amazon.awssdk.identity.spi.ResolveIdentityRequest;
2929
import software.amazon.awssdk.identity.spi.TokenIdentity;
3030
import software.amazon.awssdk.metrics.MetricCollector;
@@ -61,13 +61,13 @@ private SelectedAuthScheme<? extends Identity> selectAuthScheme(List<AuthSchemeO
6161
ExecutionAttributes executionAttributes) {
6262
MetricCollector metricCollector = executionAttributes.getAttribute(SdkExecutionAttribute.API_CALL_METRIC_COLLECTOR);
6363
Map<String, AuthScheme<?>> authSchemes = executionAttributes.getAttribute(SdkInternalExecutionAttribute.AUTH_SCHEMES);
64-
IdentityProviderConfiguration identityResolvers = executionAttributes
65-
.getAttribute(SdkInternalExecutionAttribute.IDENTITY_PROVIDER_CONFIGURATION);
64+
IdentityProviders identityProviders = executionAttributes
65+
.getAttribute(SdkInternalExecutionAttribute.IDENTITY_PROVIDERS);
6666
List<Supplier<String>> discardedReasons = new ArrayList<>();
6767
for (AuthSchemeOption authOption : authOptions) {
6868
AuthScheme<?> authScheme = authSchemes.get(authOption.schemeId());
6969
SelectedAuthScheme<? extends Identity> selectedAuthScheme = trySelectAuthScheme(authOption, authScheme,
70-
identityResolvers, discardedReasons, metricCollector);
70+
identityProviders, discardedReasons, metricCollector);
7171
if (selectedAuthScheme != null) {
7272
if (!discardedReasons.isEmpty()) {
7373
LOG.debug(() -> String.format("%s auth will be used, discarded: '%s'", authOption.schemeId(),
@@ -102,7 +102,7 @@ private QueryAuthSchemeParams authSchemeParams(SdkRequest request, ExecutionAttr
102102
}
103103

104104
private <T extends Identity> SelectedAuthScheme<T> trySelectAuthScheme(AuthSchemeOption authOption, AuthScheme<T> authScheme,
105-
IdentityProviderConfiguration identityProviders, List<Supplier<String>> discardedReasons,
105+
IdentityProviders identityProviders, List<Supplier<String>> discardedReasons,
106106
MetricCollector metricCollector) {
107107
if (authScheme == null) {
108108
discardedReasons.add(() -> String.format("'%s' is not enabled for this request.", authOption.schemeId()));

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/builder/test-bearer-auth-client-builder-class.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
import software.amazon.awssdk.http.auth.BearerAuthScheme;
1818
import software.amazon.awssdk.http.auth.NoAuthAuthScheme;
1919
import software.amazon.awssdk.http.auth.spi.AuthScheme;
20-
import software.amazon.awssdk.http.auth.spi.IdentityProviderConfiguration;
2120
import software.amazon.awssdk.identity.spi.IdentityProvider;
21+
import software.amazon.awssdk.identity.spi.IdentityProviders;
2222
import software.amazon.awssdk.identity.spi.TokenIdentity;
2323
import software.amazon.awssdk.services.json.auth.scheme.JsonAuthSchemeProvider;
2424
import software.amazon.awssdk.services.json.auth.scheme.internal.JsonAuthSchemeInterceptor;
@@ -71,9 +71,9 @@ protected final SdkClientConfiguration finalizeServiceConfiguration(SdkClientCon
7171
SdkClientConfiguration.Builder builder = config.toBuilder();
7272
IdentityProvider<? extends TokenIdentity> identityProvider = config.option(AwsClientOption.TOKEN_IDENTITY_PROVIDER);
7373
if (identityProvider != null) {
74-
IdentityProviderConfiguration identityProviderConfig = config.option(SdkClientOption.IDENTITY_PROVIDER_CONFIGURATION);
75-
builder.option(SdkClientOption.IDENTITY_PROVIDER_CONFIGURATION, identityProviderConfig.toBuilder()
76-
.putIdentityProvider(identityProvider).build());
74+
IdentityProviders identityProviders = config.option(SdkClientOption.IDENTITY_PROVIDERS);
75+
builder.option(SdkClientOption.IDENTITY_PROVIDERS, identityProviders.toBuilder()
76+
.putIdentityProvider(identityProvider).build());
7777
}
7878
builder.option(SdkClientOption.EXECUTION_INTERCEPTORS, interceptors);
7979
return builder.build();

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/builder/test-client-builder-class.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
import software.amazon.awssdk.http.auth.NoAuthAuthScheme;
2121
import software.amazon.awssdk.http.auth.aws.AwsV4AuthScheme;
2222
import software.amazon.awssdk.http.auth.spi.AuthScheme;
23-
import software.amazon.awssdk.http.auth.spi.IdentityProviderConfiguration;
2423
import software.amazon.awssdk.identity.spi.IdentityProvider;
24+
import software.amazon.awssdk.identity.spi.IdentityProviders;
2525
import software.amazon.awssdk.identity.spi.TokenIdentity;
2626
import software.amazon.awssdk.services.json.auth.scheme.JsonAuthSchemeProvider;
2727
import software.amazon.awssdk.services.json.auth.scheme.internal.JsonAuthSchemeInterceptor;
@@ -132,9 +132,9 @@ protected final SdkClientConfiguration finalizeServiceConfiguration(SdkClientCon
132132
SdkClientConfiguration.Builder builder = config.toBuilder();
133133
IdentityProvider<? extends TokenIdentity> identityProvider = config.option(AwsClientOption.TOKEN_IDENTITY_PROVIDER);
134134
if (identityProvider != null) {
135-
IdentityProviderConfiguration identityProviderConfig = config.option(SdkClientOption.IDENTITY_PROVIDER_CONFIGURATION);
136-
builder.option(SdkClientOption.IDENTITY_PROVIDER_CONFIGURATION, identityProviderConfig.toBuilder()
137-
.putIdentityProvider(identityProvider).build());
135+
IdentityProviders identityProviders = config.option(SdkClientOption.IDENTITY_PROVIDERS);
136+
builder.option(SdkClientOption.IDENTITY_PROVIDERS, identityProviders.toBuilder()
137+
.putIdentityProvider(identityProvider).build());
138138
}
139139
builder.option(SdkClientOption.EXECUTION_INTERCEPTORS, interceptors)
140140
.option(AwsClientOption.DUALSTACK_ENDPOINT_ENABLED, finalServiceConfig.dualstackEnabled())

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/builder/test-client-builder-endpoints-auth-params.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919
import software.amazon.awssdk.http.auth.aws.AwsV4AuthScheme;
2020
import software.amazon.awssdk.http.auth.aws.AwsV4aAuthScheme;
2121
import software.amazon.awssdk.http.auth.spi.AuthScheme;
22-
import software.amazon.awssdk.http.auth.spi.IdentityProviderConfiguration;
2322
import software.amazon.awssdk.identity.spi.IdentityProvider;
23+
import software.amazon.awssdk.identity.spi.IdentityProviders;
2424
import software.amazon.awssdk.identity.spi.TokenIdentity;
2525
import software.amazon.awssdk.protocols.query.interceptor.QueryParametersToBodyInterceptor;
2626
import software.amazon.awssdk.services.query.auth.scheme.QueryAuthSchemeProvider;
@@ -77,9 +77,9 @@ protected final SdkClientConfiguration finalizeServiceConfiguration(SdkClientCon
7777
SdkClientConfiguration.Builder builder = config.toBuilder();
7878
IdentityProvider<? extends TokenIdentity> identityProvider = config.option(AwsClientOption.TOKEN_IDENTITY_PROVIDER);
7979
if (identityProvider != null) {
80-
IdentityProviderConfiguration identityProviderConfig = config.option(SdkClientOption.IDENTITY_PROVIDER_CONFIGURATION);
81-
builder.option(SdkClientOption.IDENTITY_PROVIDER_CONFIGURATION, identityProviderConfig.toBuilder()
82-
.putIdentityProvider(identityProvider).build());
80+
IdentityProviders identityProviders = config.option(SdkClientOption.IDENTITY_PROVIDERS);
81+
builder.option(SdkClientOption.IDENTITY_PROVIDERS, identityProviders.toBuilder()
82+
.putIdentityProvider(identityProvider).build());
8383
}
8484
builder.option(SdkClientOption.EXECUTION_INTERCEPTORS, interceptors).option(SdkClientOption.CLIENT_CONTEXT_PARAMS,
8585
clientContextParams.build());

0 commit comments

Comments
 (0)