Skip to content

Commit 28c534d

Browse files
authored
Merge pull request #2453 from aws/staging/56f3828c-d139-464d-b157-83f93728dfd8
Pull request: release <- staging/56f3828c-d139-464d-b157-83f93728dfd8
2 parents a255c82 + 88d4de4 commit 28c534d

File tree

12 files changed

+284
-19
lines changed

12 files changed

+284
-19
lines changed

.changes/2.20.44.json

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
{
2+
"version": "2.20.44",
3+
"date": "2023-04-11",
4+
"entries": [
5+
{
6+
"type": "feature",
7+
"category": "AWS IoT",
8+
"contributor": "",
9+
"description": "Re-release to remove unexpected API changes"
10+
},
11+
{
12+
"type": "feature",
13+
"category": "AWS IoT Data Plane",
14+
"contributor": "",
15+
"description": "This release adds support for MQTT5 user properties when calling the AWS IoT GetRetainedMessage API"
16+
},
17+
{
18+
"type": "feature",
19+
"category": "AWS SDK for Java v2",
20+
"contributor": "",
21+
"description": "Exposes endpointOverride in SdkClient through ServiceClientConfiguration"
22+
},
23+
{
24+
"type": "feature",
25+
"category": "AWS WAFV2",
26+
"contributor": "",
27+
"description": "For web ACLs that protect CloudFront protections, the default request body inspection size is now 16 KB, and you can use the new association configuration to increase the inspection size further, up to 64 KB. Sizes over 16 KB can incur additional costs."
28+
},
29+
{
30+
"type": "feature",
31+
"category": "Amazon Elastic Container Registry Public",
32+
"contributor": "",
33+
"description": "This release will allow using registry alias as registryId in BatchDeleteImage request."
34+
},
35+
{
36+
"type": "feature",
37+
"category": "Amazon EventBridge",
38+
"contributor": "",
39+
"description": "EventBridge PutTarget support for multiple SQL arguments on RedshiftDataParameters"
40+
},
41+
{
42+
"type": "feature",
43+
"category": "EMR Serverless",
44+
"contributor": "",
45+
"description": "This release extends GetJobRun API to return job run timeout (executionTimeoutMinutes) specified during StartJobRun call (or default timeout of 720 minutes if none was specified)."
46+
},
47+
{
48+
"type": "feature",
49+
"category": "AWS SDK for Java v2",
50+
"contributor": "",
51+
"description": "Updated endpoint and partition metadata."
52+
}
53+
]
54+
}

CHANGELOG.md

+30
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,33 @@
1+
# __2.20.44__ __2023-04-11__
2+
## __AWS IoT__
3+
- ### Features
4+
- Re-release to remove unexpected API changes
5+
6+
## __AWS IoT Data Plane__
7+
- ### Features
8+
- This release adds support for MQTT5 user properties when calling the AWS IoT GetRetainedMessage API
9+
10+
## __AWS SDK for Java v2__
11+
- ### Features
12+
- Exposes endpointOverride in SdkClient through ServiceClientConfiguration
13+
- Updated endpoint and partition metadata.
14+
15+
## __AWS WAFV2__
16+
- ### Features
17+
- For web ACLs that protect CloudFront protections, the default request body inspection size is now 16 KB, and you can use the new association configuration to increase the inspection size further, up to 64 KB. Sizes over 16 KB can incur additional costs.
18+
19+
## __Amazon Elastic Container Registry Public__
20+
- ### Features
21+
- This release will allow using registry alias as registryId in BatchDeleteImage request.
22+
23+
## __Amazon EventBridge__
24+
- ### Features
25+
- EventBridge PutTarget support for multiple SQL arguments on RedshiftDataParameters
26+
27+
## __EMR Serverless__
28+
- ### Features
29+
- This release extends GetJobRun API to return job run timeout (executionTimeoutMinutes) specified during StartJobRun call (or default timeout of 720 minutes if none was specified).
30+
131
# __2.20.43__ __2023-04-10__
232
## __AWS Elemental MediaConvert__
333
- ### Features

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

+10-1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import com.squareup.javapoet.MethodSpec;
2020
import com.squareup.javapoet.ParameterizedTypeName;
2121
import com.squareup.javapoet.TypeSpec;
22+
import java.net.URI;
2223
import javax.lang.model.element.Modifier;
2324
import software.amazon.awssdk.annotations.SdkInternalApi;
2425
import software.amazon.awssdk.auth.token.credentials.SdkTokenProvider;
@@ -124,9 +125,17 @@ private MethodSpec buildClientMethod() {
124125
.returns(clientInterfaceName)
125126
.addStatement("$T clientConfiguration = super.asyncClientConfiguration()", SdkClientConfiguration.class)
126127
.addStatement("this.validateClientOptions(clientConfiguration)")
128+
.addStatement("$T endpointOverride = null", URI.class)
129+
.addCode("if (clientConfiguration.option($T.ENDPOINT_OVERRIDDEN) != null"
130+
+ "&& $T.TRUE.equals(clientConfiguration.option($T.ENDPOINT_OVERRIDDEN))) {"
131+
+ "endpointOverride = clientConfiguration.option($T.ENDPOINT);"
132+
+ "}",
133+
SdkClientOption.class, Boolean.class, SdkClientOption.class, SdkClientOption.class)
127134
.addStatement("$T serviceClientConfiguration = $T.builder()"
128135
+ ".overrideConfiguration(overrideConfiguration())"
129-
+ ".region(clientConfiguration.option($T.AWS_REGION)).build()",
136+
+ ".region(clientConfiguration.option($T.AWS_REGION))"
137+
+ ".endpointOverride(endpointOverride)"
138+
+ ".build()",
130139
serviceConfigClassName, serviceConfigClassName, AwsClientOption.class)
131140
.addStatement("return new $T(serviceClientConfiguration, clientConfiguration)", clientClassName)
132141
.build();

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

+10-1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import com.squareup.javapoet.MethodSpec;
2020
import com.squareup.javapoet.ParameterizedTypeName;
2121
import com.squareup.javapoet.TypeSpec;
22+
import java.net.URI;
2223
import javax.lang.model.element.Modifier;
2324
import software.amazon.awssdk.annotations.SdkInternalApi;
2425
import software.amazon.awssdk.auth.token.credentials.SdkTokenProvider;
@@ -124,9 +125,17 @@ private MethodSpec buildClientMethod() {
124125
.returns(clientInterfaceName)
125126
.addStatement("$T clientConfiguration = super.syncClientConfiguration()", SdkClientConfiguration.class)
126127
.addStatement("this.validateClientOptions(clientConfiguration)")
128+
.addStatement("$T endpointOverride = null", URI.class)
129+
.addCode("if (clientConfiguration.option($T.ENDPOINT_OVERRIDDEN) != null"
130+
+ "&& $T.TRUE.equals(clientConfiguration.option($T.ENDPOINT_OVERRIDDEN))) {"
131+
+ "endpointOverride = clientConfiguration.option($T.ENDPOINT);"
132+
+ "}",
133+
SdkClientOption.class, Boolean.class, SdkClientOption.class, SdkClientOption.class)
127134
.addStatement("$T serviceClientConfiguration = $T.builder()"
128135
+ ".overrideConfiguration(overrideConfiguration())"
129-
+ ".region(clientConfiguration.option($T.AWS_REGION)).build()",
136+
+ ".region(clientConfiguration.option($T.AWS_REGION))"
137+
+ ".endpointOverride(endpointOverride)"
138+
+ ".build()",
130139
serviceConfigClassName, serviceConfigClassName, AwsClientOption.class)
131140
.addStatement("return new $T(serviceClientConfiguration, clientConfiguration)", clientClassName)
132141
.build();

codegen/src/main/java/software/amazon/awssdk/codegen/poet/model/ServiceClientConfigurationClass.java

+18
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import com.squareup.javapoet.ClassName;
2525
import com.squareup.javapoet.MethodSpec;
2626
import com.squareup.javapoet.TypeSpec;
27+
import java.net.URI;
2728
import software.amazon.awssdk.annotations.SdkPublicApi;
2829
import software.amazon.awssdk.awscore.AwsServiceClientConfiguration;
2930
import software.amazon.awssdk.codegen.model.intermediate.IntermediateModel;
@@ -89,12 +90,21 @@ private TypeSpec builderInterfaceSpec() {
8990
.returns(className())
9091
.build())
9192
.addMethod(MethodSpec.methodBuilder("region")
93+
.addAnnotation(Override.class)
9294
.addModifiers(PUBLIC, ABSTRACT)
9395
.addParameter(Region.class, "region")
9496
.returns(className().nestedClass("Builder"))
9597
.addJavadoc("Configure the region")
9698
.build())
99+
.addMethod(MethodSpec.methodBuilder("endpointOverride")
100+
.addAnnotation(Override.class)
101+
.addModifiers(PUBLIC, ABSTRACT)
102+
.addParameter(URI.class, "endpointOverride")
103+
.returns(className().nestedClass("Builder"))
104+
.addJavadoc("Configure the endpointOverride")
105+
.build())
97106
.addMethod(MethodSpec.methodBuilder("overrideConfiguration")
107+
.addAnnotation(Override.class)
98108
.addModifiers(PUBLIC, ABSTRACT)
99109
.addParameter(ClientOverrideConfiguration.class, "clientOverrideConfiguration")
100110
.returns(className().nestedClass("Builder"))
@@ -132,6 +142,14 @@ private TypeSpec builderImplSpec() {
132142
.addStatement("this.overrideConfiguration = clientOverrideConfiguration")
133143
.addStatement("return this")
134144
.build())
145+
.addMethod(MethodSpec.methodBuilder("endpointOverride")
146+
.addAnnotation(Override.class)
147+
.addModifiers(PUBLIC)
148+
.addParameter(URI.class, "endpointOverride")
149+
.returns(className().nestedClass("Builder"))
150+
.addStatement("this.endpointOverride = endpointOverride")
151+
.addStatement("return this")
152+
.build())
135153
.addMethod(MethodSpec.methodBuilder("build")
136154
.addAnnotation(Override.class)
137155
.addModifiers(PUBLIC)

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

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package software.amazon.awssdk.services.json;
22

3+
import java.net.URI;
34
import software.amazon.awssdk.annotations.Generated;
45
import software.amazon.awssdk.annotations.SdkInternalApi;
56
import software.amazon.awssdk.auth.token.credentials.SdkTokenProvider;
@@ -31,9 +32,14 @@ public DefaultJsonAsyncClientBuilder tokenProvider(SdkTokenProvider tokenProvide
3132
protected final JsonAsyncClient buildClient() {
3233
SdkClientConfiguration clientConfiguration = super.asyncClientConfiguration();
3334
this.validateClientOptions(clientConfiguration);
35+
URI endpointOverride = null;
36+
if (clientConfiguration.option(SdkClientOption.ENDPOINT_OVERRIDDEN) != null
37+
&& Boolean.TRUE.equals(clientConfiguration.option(SdkClientOption.ENDPOINT_OVERRIDDEN))) {
38+
endpointOverride = clientConfiguration.option(SdkClientOption.ENDPOINT);
39+
}
3440
JsonServiceClientConfiguration serviceClientConfiguration = JsonServiceClientConfiguration.builder()
3541
.overrideConfiguration(overrideConfiguration()).region(clientConfiguration.option(AwsClientOption.AWS_REGION))
36-
.build();
42+
.endpointOverride(endpointOverride).build();
3743
return new DefaultJsonAsyncClient(serviceClientConfiguration, clientConfiguration);
3844
}
3945
}

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

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package software.amazon.awssdk.services.json;
22

3+
import java.net.URI;
34
import software.amazon.awssdk.annotations.Generated;
45
import software.amazon.awssdk.annotations.SdkInternalApi;
56
import software.amazon.awssdk.auth.token.credentials.SdkTokenProvider;
@@ -31,9 +32,14 @@ public DefaultJsonClientBuilder tokenProvider(SdkTokenProvider tokenProvider) {
3132
protected final JsonClient buildClient() {
3233
SdkClientConfiguration clientConfiguration = super.syncClientConfiguration();
3334
this.validateClientOptions(clientConfiguration);
35+
URI endpointOverride = null;
36+
if (clientConfiguration.option(SdkClientOption.ENDPOINT_OVERRIDDEN) != null
37+
&& Boolean.TRUE.equals(clientConfiguration.option(SdkClientOption.ENDPOINT_OVERRIDDEN))) {
38+
endpointOverride = clientConfiguration.option(SdkClientOption.ENDPOINT);
39+
}
3440
JsonServiceClientConfiguration serviceClientConfiguration = JsonServiceClientConfiguration.builder()
3541
.overrideConfiguration(overrideConfiguration()).region(clientConfiguration.option(AwsClientOption.AWS_REGION))
36-
.build();
42+
.endpointOverride(endpointOverride).build();
3743
return new DefaultJsonClient(serviceClientConfiguration, clientConfiguration);
3844
}
3945
}

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/model/serviceclientconfiguration.java

+15
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package software.amazon.awssdk.services.jsonprotocoltests;
22

3+
import java.net.URI;
34
import software.amazon.awssdk.annotations.Generated;
45
import software.amazon.awssdk.annotations.SdkPublicApi;
56
import software.amazon.awssdk.awscore.AwsServiceClientConfiguration;
@@ -30,11 +31,19 @@ public interface Builder extends AwsServiceClientConfiguration.Builder {
3031
/**
3132
* Configure the region
3233
*/
34+
@Override
3335
Builder region(Region region);
3436

37+
/**
38+
* Configure the endpointOverride
39+
*/
40+
@Override
41+
Builder endpointOverride(URI endpointOverride);
42+
3543
/**
3644
* Configure the client override configuration
3745
*/
46+
@Override
3847
Builder overrideConfiguration(ClientOverrideConfiguration clientOverrideConfiguration);
3948
}
4049

@@ -58,6 +67,12 @@ public Builder overrideConfiguration(ClientOverrideConfiguration clientOverrideC
5867
return this;
5968
}
6069

70+
@Override
71+
public Builder endpointOverride(URI endpointOverride) {
72+
this.endpointOverride = endpointOverride;
73+
return this;
74+
}
75+
6176
@Override
6277
public JsonProtocolTestsServiceClientConfiguration build() {
6378
return new JsonProtocolTestsServiceClientConfiguration(this);

core/aws-core/src/main/java/software/amazon/awssdk/awscore/AwsServiceClientConfiguration.java

+14-13
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
package software.amazon.awssdk.awscore;
1717

18+
import java.net.URI;
1819
import java.util.Objects;
1920
import software.amazon.awssdk.annotations.SdkPublicApi;
2021
import software.amazon.awssdk.core.SdkServiceClientConfiguration;
@@ -74,33 +75,28 @@ public interface Builder extends SdkServiceClientConfiguration.Builder {
7475
*/
7576
Builder region(Region region);
7677

78+
@Override
79+
Builder overrideConfiguration(ClientOverrideConfiguration clientOverrideConfiguration);
80+
81+
@Override
82+
Builder endpointOverride(URI endpointOverride);
83+
7784
@Override
7885
AwsServiceClientConfiguration build();
7986
}
8087

8188
protected abstract static class BuilderImpl implements Builder {
8289
protected ClientOverrideConfiguration overrideConfiguration;
8390
protected Region region;
91+
protected URI endpointOverride;
8492

8593
protected BuilderImpl() {
8694
}
8795

8896
protected BuilderImpl(AwsServiceClientConfiguration awsServiceClientConfiguration) {
8997
this.overrideConfiguration = awsServiceClientConfiguration.overrideConfiguration();
9098
this.region = awsServiceClientConfiguration.region();
91-
}
92-
93-
94-
@Override
95-
public Builder overrideConfiguration(ClientOverrideConfiguration clientOverrideConfiguration) {
96-
this.overrideConfiguration = clientOverrideConfiguration;
97-
return this;
98-
}
99-
100-
@Override
101-
public Builder region(Region region) {
102-
this.region = region;
103-
return this;
99+
this.endpointOverride = awsServiceClientConfiguration.endpointOverride().orElse(null);
104100
}
105101

106102
@Override
@@ -112,6 +108,11 @@ public final ClientOverrideConfiguration overrideConfiguration() {
112108
public final Region region() {
113109
return region;
114110
}
111+
112+
@Override
113+
public final URI endpointOverride() {
114+
return endpointOverride;
115+
}
115116
}
116117

117118
}

0 commit comments

Comments
 (0)