Skip to content

Commit 4ebc3da

Browse files
authored
Migrate STS from Arn to RuleArn, remove S3EndpointAuthSchemeStrategyFactory, and delete old rule engine tests (#7270)
* Migrate STS from Arn to RuleArn, remove S3EndpointAuthSchemeStrategyFactory, and delete old rule engine tests * Remove unused supplier naming suppression
1 parent d0bb118 commit 4ebc3da

18 files changed

Lines changed: 14 additions & 1306 deletions

File tree

services/s3/src/main/java/software/amazon/awssdk/services/s3/endpoints/internal/KnownS3ExpressEndpointProperty.java

Lines changed: 0 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,7 @@
1515

1616
package software.amazon.awssdk.services.s3.endpoints.internal;
1717

18-
import java.util.Arrays;
19-
import java.util.Collections;
20-
import java.util.List;
2118
import software.amazon.awssdk.annotations.SdkInternalApi;
22-
import software.amazon.awssdk.awscore.endpoints.AwsEndpointAttribute;
23-
import software.amazon.awssdk.awscore.endpoints.authscheme.EndpointAuthScheme;
2419
import software.amazon.awssdk.endpoints.EndpointAttributeKey;
2520

2621
@SdkInternalApi
@@ -32,49 +27,6 @@ public final class KnownS3ExpressEndpointProperty {
3227
public static final EndpointAttributeKey<String> BACKEND =
3328
new EndpointAttributeKey<>("Backend", String.class);
3429

35-
public static final List<EndpointAttributeProvider<?>> KNOWN_S3_ENDPOINT_PROPERTIES = Collections.unmodifiableList(
36-
Arrays.asList(
37-
new AuthSchemesProperty(),
38-
new BackendProperty()
39-
)
40-
);
41-
4230
private KnownS3ExpressEndpointProperty() {
4331
}
44-
45-
private static class AuthSchemesProperty implements EndpointAttributeProvider<List<EndpointAuthScheme>> {
46-
@Override
47-
public String propertyName() {
48-
return "authSchemes";
49-
}
50-
51-
@Override
52-
public EndpointAttributeKey<List<EndpointAuthScheme>> attributeKey() {
53-
return AwsEndpointAttribute.AUTH_SCHEMES;
54-
}
55-
56-
@Override
57-
public List<EndpointAuthScheme> attributeValue(Value value) {
58-
EndpointAuthSchemeStrategyFactory endpointAuthSchemeStrategyFactory = new S3EndpointAuthSchemeStrategyFactory();
59-
EndpointAuthSchemeStrategy strategy = endpointAuthSchemeStrategyFactory.endpointAuthSchemeStrategy();
60-
return strategy.createAuthSchemes(value);
61-
}
62-
}
63-
64-
private static class BackendProperty implements EndpointAttributeProvider<String> {
65-
@Override
66-
public String propertyName() {
67-
return "backend";
68-
}
69-
70-
@Override
71-
public EndpointAttributeKey<String> attributeKey() {
72-
return BACKEND;
73-
}
74-
75-
@Override
76-
public String attributeValue(Value value) {
77-
return value.expectString();
78-
}
79-
}
8032
}

services/s3/src/main/java/software/amazon/awssdk/services/s3/endpoints/internal/S3EndpointAuthSchemeStrategyFactory.java

Lines changed: 0 additions & 113 deletions
This file was deleted.

services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crossregion/S3CrossRegionSyncClientTest.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@
4343
import org.junit.jupiter.params.provider.ValueSource;
4444
import org.mockito.ArgumentCaptor;
4545
import org.mockito.ArgumentMatchers;
46-
import org.mockito.Mock;
4746
import org.mockito.Mockito;
4847
import software.amazon.awssdk.core.interceptor.Context;
4948
import software.amazon.awssdk.core.interceptor.ExecutionAttributes;

services/sts/src/main/java/software/amazon/awssdk/services/sts/auth/StsGetFederationTokenCredentialsProvider.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import software.amazon.awssdk.auth.credentials.AwsSessionCredentials;
2626
import software.amazon.awssdk.core.useragent.BusinessMetricFeatureId;
2727
import software.amazon.awssdk.services.sts.StsClient;
28-
import software.amazon.awssdk.services.sts.endpoints.internal.Arn;
28+
import software.amazon.awssdk.services.sts.endpoints.internal.RuleArn;
2929
import software.amazon.awssdk.services.sts.model.FederatedUser;
3030
import software.amazon.awssdk.services.sts.model.GetFederationTokenRequest;
3131
import software.amazon.awssdk.services.sts.model.GetFederationTokenResponse;
@@ -89,9 +89,11 @@ private String accountIdFromArn(FederatedUser federatedUser) {
8989
if (federatedUser == null) {
9090
return null;
9191
}
92-
return Arn.parse(federatedUser.arn())
93-
.map(Arn::accountId)
94-
.orElse(null);
92+
RuleArn arn = RuleArn.parse(federatedUser.arn());
93+
if (arn == null) {
94+
return null;
95+
}
96+
return arn.accountId();
9597
}
9698

9799
@Override

services/sts/src/main/java/software/amazon/awssdk/services/sts/internal/StsAuthUtils.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
import software.amazon.awssdk.annotations.SdkInternalApi;
1919
import software.amazon.awssdk.auth.credentials.AwsSessionCredentials;
20-
import software.amazon.awssdk.services.sts.endpoints.internal.Arn;
20+
import software.amazon.awssdk.services.sts.endpoints.internal.RuleArn;
2121
import software.amazon.awssdk.services.sts.model.AssumedRoleUser;
2222
import software.amazon.awssdk.services.sts.model.Credentials;
2323

@@ -31,9 +31,11 @@ public static String accountIdFromArn(AssumedRoleUser assumedRoleUser) {
3131
if (assumedRoleUser == null) {
3232
return null;
3333
}
34-
return Arn.parse(assumedRoleUser.arn())
35-
.map(Arn::accountId)
36-
.orElse(null);
34+
RuleArn arn = RuleArn.parse(assumedRoleUser.arn());
35+
if (arn == null) {
36+
return null;
37+
}
38+
return arn.accountId();
3739
}
3840

3941
public static AwsSessionCredentials fromStsCredentials(Credentials credentials, String provider) {

services/sts/src/test/java/software/amazon/awssdk/services/sts/auth/StsCredentialsProviderTestBase.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
import org.mockito.junit.jupiter.MockitoExtension;
3030
import software.amazon.awssdk.auth.credentials.AwsSessionCredentials;
3131
import software.amazon.awssdk.services.sts.StsClient;
32-
import software.amazon.awssdk.services.sts.endpoints.internal.Arn;
3332
import software.amazon.awssdk.services.sts.model.Credentials;
3433

3534
/**

test/architecture-tests/src/test/java/software/amazon/awssdk/archtests/NamingConventionWithSuppressionTest.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,11 @@
2323
import com.tngtech.archunit.junit.ArchTest;
2424
import com.tngtech.archunit.lang.ArchRule;
2525
import java.util.Arrays;
26-
import java.util.HashSet;
26+
import java.util.Collections;
2727
import java.util.Set;
2828
import java.util.function.Supplier;
2929
import java.util.regex.Pattern;
3030
import org.junit.jupiter.api.Test;
31-
import software.amazon.awssdk.services.s3.endpoints.internal.S3EndpointAuthSchemeStrategyFactory;
3231

3332
/**
3433
* This test class diffs from {@link NamingConventionTest}; it doesn't use archunit annotations such as {@link ArchTest}
@@ -44,9 +43,7 @@ public class NamingConventionWithSuppressionTest {
4443
* <p>
4544
* DO NOT ADD NEW EXCEPTIONS
4645
*/
47-
private static final Set<Pattern> ALLOWED_SUPPLIER_SUPPRESSION = new HashSet<>(
48-
Arrays.asList(Pattern.compile(".*/DefaultEndpointAuthSchemeStrategyFactory.class"),
49-
ArchUtils.classNameToPattern(S3EndpointAuthSchemeStrategyFactory.class)));
46+
private static final Set<Pattern> ALLOWED_SUPPLIER_SUPPRESSION = Collections.emptySet();
5047

5148
@Test
5249
void supplierImpl_shouldHaveSupplierSuffix() {

0 commit comments

Comments
 (0)