Skip to content

Commit 772d170

Browse files
committed
Adds accountId support to process credentials provider (#4332)
* Adds accountId support to process credentials provider * Updates codegen tests from upstream branch to take account ID into account
1 parent 3b4fb85 commit 772d170

File tree

9 files changed

+230
-55
lines changed

9 files changed

+230
-55
lines changed

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

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ public final class DefaultQueryAuthSchemeParams implements QueryAuthSchemeParams
3333

3434
private final Boolean useFIPSEndpoint;
3535

36+
37+
private final String awsAccountId;
38+
3639
private final String endpointId;
3740

3841
private final Boolean defaultTrueParam;
@@ -54,6 +57,7 @@ private DefaultQueryAuthSchemeParams(Builder builder) {
5457
this.region = builder.region;
5558
this.useDualStackEndpoint = builder.useDualStackEndpoint;
5659
this.useFIPSEndpoint = builder.useFIPSEndpoint;
60+
this.awsAccountId = builder.awsAccountId;
5761
this.endpointId = builder.endpointId;
5862
this.defaultTrueParam = Validate.paramNotNull(builder.defaultTrueParam, "defaultTrueParam");
5963
this.defaultStringParam = Validate.paramNotNull(builder.defaultStringParam, "defaultStringParam");
@@ -88,6 +92,11 @@ public Boolean useFipsEndpoint() {
8892
return useFIPSEndpoint;
8993
}
9094

95+
@Override
96+
public String awsAccountId() {
97+
return awsAccountId;
98+
}
99+
91100
@Override
92101
public String endpointId() {
93102
return endpointId;
@@ -143,6 +152,8 @@ private static final class Builder implements QueryAuthSchemeParams.Builder, Que
143152

144153
private Boolean useFIPSEndpoint;
145154

155+
private String awsAccountId;
156+
146157
private String endpointId;
147158

148159
private Boolean defaultTrueParam = true;
@@ -167,6 +178,7 @@ private static final class Builder implements QueryAuthSchemeParams.Builder, Que
167178
this.region = params.region;
168179
this.useDualStackEndpoint = params.useDualStackEndpoint;
169180
this.useFIPSEndpoint = params.useFIPSEndpoint;
181+
this.awsAccountId = params.awsAccountId;
170182
this.endpointId = params.endpointId;
171183
this.defaultTrueParam = params.defaultTrueParam;
172184
this.defaultStringParam = params.defaultStringParam;
@@ -201,6 +213,12 @@ public Builder useFipsEndpoint(Boolean useFIPSEndpoint) {
201213
return this;
202214
}
203215

216+
@Override
217+
public Builder awsAccountId(String awsAccountId) {
218+
this.awsAccountId = awsAccountId;
219+
return this;
220+
}
221+
204222
@Override
205223
public Builder endpointId(String endpointId) {
206224
this.endpointId = endpointId;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public static QueryAuthSchemeProvider create() {
4343
public List<AuthSchemeOption> resolveAuthScheme(QueryAuthSchemeParams params) {
4444
QueryEndpointParams endpointParameters = QueryEndpointParams.builder().region(params.region())
4545
.useDualStackEndpoint(params.useDualStackEndpoint()).useFipsEndpoint(params.useFipsEndpoint())
46-
.endpointId(params.endpointId()).defaultTrueParam(params.defaultTrueParam())
46+
.awsAccountId(params.awsAccountId()).endpointId(params.endpointId()).defaultTrueParam(params.defaultTrueParam())
4747
.defaultStringParam(params.defaultStringParam()).deprecatedParam(params.deprecatedParam())
4848
.booleanContextParam(params.booleanContextParam()).stringContextParam(params.stringContextParam())
4949
.operationContextParam(params.operationContextParam()).build();

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ static Builder builder() {
4949

5050
Boolean useFipsEndpoint();
5151

52+
String awsAccountId();
53+
5254
String endpointId();
5355

5456
/**
@@ -90,6 +92,8 @@ interface Builder extends CopyableBuilder<Builder, QueryAuthSchemeParams> {
9092

9193
Builder useFipsEndpoint(Boolean useFIPSEndpoint);
9294

95+
Builder awsAccountId(String awsAccountId);
96+
9397
Builder endpointId(String endpointId);
9498

9599
/**

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ private QueryAuthSchemeParams authSchemeParams(SdkRequest request, ExecutionAttr
9090
builder.region(endpointParams.region());
9191
builder.useDualStackEndpoint(endpointParams.useDualStackEndpoint());
9292
builder.useFipsEndpoint(endpointParams.useFipsEndpoint());
93+
builder.awsAccountId(endpointParams.awsAccountId());
9394
builder.endpointId(endpointParams.endpointId());
9495
builder.defaultTrueParam(endpointParams.defaultTrueParam());
9596
builder.defaultStringParam(endpointParams.defaultStringParam());

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/rules/endpoint-parameters.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,7 @@ private BuilderImpl(QueryEndpointParams builder) {
158158
this.region = builder.region;
159159
this.useDualStackEndpoint = builder.useDualStackEndpoint;
160160
this.useFIPSEndpoint = builder.useFIPSEndpoint;
161+
this.awsAccountId = builder.awsAccountId;
161162
this.endpointId = builder.endpointId;
162163
this.defaultTrueParam = builder.defaultTrueParam;
163164
this.defaultStringParam = builder.defaultStringParam;

core/auth/src/main/java/software/amazon/awssdk/auth/credentials/ProcessCredentialsProvider.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,7 @@ private AwsCredentials credentials(JsonNode credentialsJson) {
176176
String accessKeyId = getText(credentialsJson, "AccessKeyId");
177177
String secretAccessKey = getText(credentialsJson, "SecretAccessKey");
178178
String sessionToken = getText(credentialsJson, "SessionToken");
179+
String accountId = getText(credentialsJson, "AccountId");
179180

180181
Validate.notEmpty(accessKeyId, "AccessKeyId cannot be empty.");
181182
Validate.notEmpty(secretAccessKey, "SecretAccessKey cannot be empty.");
@@ -185,11 +186,14 @@ private AwsCredentials credentials(JsonNode credentialsJson) {
185186
.accessKeyId(accessKeyId)
186187
.secretAccessKey(secretAccessKey)
187188
.sessionToken(sessionToken)
189+
.expirationTime(credentialExpirationTime(credentialsJson))
190+
.accountId(accountId)
188191
.providerName(PROVIDER_NAME)
189192
.build() :
190193
AwsBasicCredentials.builder()
191194
.accessKeyId(accessKeyId)
192195
.secretAccessKey(secretAccessKey)
196+
.accountId(accountId)
193197
.providerName(PROVIDER_NAME)
194198
.build();
195199
}

0 commit comments

Comments
 (0)