Skip to content

Commit e89bc3c

Browse files
Merge pull request #2429 from aws/staging/0bf6ae0a-abcb-4ba2-b9c6-296efe6e6419
Pull request: release <- staging/0bf6ae0a-abcb-4ba2-b9c6-296efe6e6419
2 parents cfba835 + eb5619e commit e89bc3c

File tree

488 files changed

+9490
-2266
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

488 files changed

+9490
-2266
lines changed

.changes/2.20.31.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,12 @@
7474
"contributor": "",
7575
"description": "Repository CreationTime is added to the CreateRepository and ListRepositories API responses."
7676
},
77+
{
78+
"type": "feature",
79+
"category": "AWS SDK for Java v2",
80+
"contributor": "",
81+
"description": "Introducing Enhanced Document API: A Higher-Level API for Working with Amazon DynamoDB Items"
82+
},
7783
{
7884
"type": "feature",
7985
"category": "AWS SDK for Java v2",

.changes/2.20.32.json

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
{
2+
"version": "2.20.32",
3+
"date": "2023-03-24",
4+
"entries": [
5+
{
6+
"type": "bugfix",
7+
"category": "Netty NIO HTTP Client",
8+
"contributor": "",
9+
"description": "Fix a bug where, if validation of of the amount of expected data to be received (HTTP `Content-Length`) fails, the connection would be left dangling, consuming a connection from the pool until the client is shut down."
10+
},
11+
{
12+
"type": "feature",
13+
"category": "AWS SDK for Java v2",
14+
"contributor": "",
15+
"description": "Adds ServiceClientConfiguration to SdkClient which exposes client settings to the user"
16+
},
17+
{
18+
"type": "feature",
19+
"category": "Amazon CloudWatch",
20+
"contributor": "",
21+
"description": "Doc-only update to correct alarm actions list"
22+
},
23+
{
24+
"type": "feature",
25+
"category": "Amazon Comprehend",
26+
"contributor": "",
27+
"description": "This release adds a new field (FlywheelArn) to the EntitiesDetectionJobProperties object. The FlywheelArn field is returned in the DescribeEntitiesDetectionJob and ListEntitiesDetectionJobs responses when the EntitiesDetection job is started with a FlywheelArn instead of an EntityRecognizerArn ."
28+
},
29+
{
30+
"type": "feature",
31+
"category": "Amazon Relational Database Service",
32+
"contributor": "",
33+
"description": "Added error code CreateCustomDBEngineVersionFault for when the create custom engine version for Custom engines fails."
34+
},
35+
{
36+
"type": "feature",
37+
"category": "AWS SDK for Java v2",
38+
"contributor": "",
39+
"description": "Updated endpoint and partition metadata."
40+
}
41+
]
42+
}

CHANGELOG.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,25 @@
1+
# __2.20.32__ __2023-03-24__
2+
## __AWS SDK for Java v2__
3+
- ### Features
4+
- Adds ServiceClientConfiguration to SdkClient which exposes client settings to the user
5+
- Updated endpoint and partition metadata.
6+
7+
## __Amazon CloudWatch__
8+
- ### Features
9+
- Doc-only update to correct alarm actions list
10+
11+
## __Amazon Comprehend__
12+
- ### Features
13+
- This release adds a new field (FlywheelArn) to the EntitiesDetectionJobProperties object. The FlywheelArn field is returned in the DescribeEntitiesDetectionJob and ListEntitiesDetectionJobs responses when the EntitiesDetection job is started with a FlywheelArn instead of an EntityRecognizerArn .
14+
15+
## __Amazon Relational Database Service__
16+
- ### Features
17+
- Added error code CreateCustomDBEngineVersionFault for when the create custom engine version for Custom engines fails.
18+
19+
## __Netty NIO HTTP Client__
20+
- ### Bugfixes
21+
- Fix a bug where, if validation of of the amount of expected data to be received (HTTP `Content-Length`) fails, the connection would be left dangling, consuming a connection from the pool until the client is shut down.
22+
123
# __2.20.31__ __2023-03-23__
224
## __AWS Batch__
325
- ### Features
@@ -13,6 +35,7 @@
1335

1436
## __AWS SDK for Java v2__
1537
- ### Features
38+
- Introducing Enhanced Document API: A Higher-Level API for Working with Amazon DynamoDB Items
1639
- Updated endpoint and partition metadata.
1740

1841
## __Amazon Chime SDK Identity__

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ To automatically manage module versions (currently all modules have the same ver
5252
<dependency>
5353
<groupId>software.amazon.awssdk</groupId>
5454
<artifactId>bom</artifactId>
55-
<version>2.20.31</version>
55+
<version>2.20.32</version>
5656
<type>pom</type>
5757
<scope>import</scope>
5858
</dependency>
@@ -86,12 +86,12 @@ Alternatively you can add dependencies for the specific services you use only:
8686
<dependency>
8787
<groupId>software.amazon.awssdk</groupId>
8888
<artifactId>ec2</artifactId>
89-
<version>2.20.31</version>
89+
<version>2.20.32</version>
9090
</dependency>
9191
<dependency>
9292
<groupId>software.amazon.awssdk</groupId>
9393
<artifactId>s3</artifactId>
94-
<version>2.20.31</version>
94+
<version>2.20.32</version>
9595
</dependency>
9696
```
9797

@@ -103,7 +103,7 @@ You can import the whole SDK into your project (includes *ALL* services). Please
103103
<dependency>
104104
<groupId>software.amazon.awssdk</groupId>
105105
<artifactId>aws-sdk-java</artifactId>
106-
<version>2.20.31</version>
106+
<version>2.20.32</version>
107107
</dependency>
108108
```
109109

archetypes/archetype-app-quickstart/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<parent>
2121
<artifactId>archetypes</artifactId>
2222
<groupId>software.amazon.awssdk</groupId>
23-
<version>2.20.31</version>
23+
<version>2.20.32</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626

archetypes/archetype-lambda/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<parent>
2121
<artifactId>archetypes</artifactId>
2222
<groupId>software.amazon.awssdk</groupId>
23-
<version>2.20.31</version>
23+
<version>2.20.32</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626
<artifactId>archetype-lambda</artifactId>

archetypes/archetype-tools/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<parent>
2121
<artifactId>archetypes</artifactId>
2222
<groupId>software.amazon.awssdk</groupId>
23-
<version>2.20.31</version>
23+
<version>2.20.32</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626

archetypes/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<parent>
2121
<artifactId>aws-sdk-java-pom</artifactId>
2222
<groupId>software.amazon.awssdk</groupId>
23-
<version>2.20.31</version>
23+
<version>2.20.32</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626
<artifactId>archetypes</artifactId>

aws-sdk-java/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<parent>
1818
<groupId>software.amazon.awssdk</groupId>
1919
<artifactId>aws-sdk-java-pom</artifactId>
20-
<version>2.20.31</version>
20+
<version>2.20.32</version>
2121
<relativePath>../pom.xml</relativePath>
2222
</parent>
2323
<artifactId>aws-sdk-java</artifactId>

bom-internal/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<parent>
2121
<artifactId>aws-sdk-java-pom</artifactId>
2222
<groupId>software.amazon.awssdk</groupId>
23-
<version>2.20.31</version>
23+
<version>2.20.32</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626

bom/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<parent>
1818
<groupId>software.amazon.awssdk</groupId>
1919
<artifactId>aws-sdk-java-pom</artifactId>
20-
<version>2.20.31</version>
20+
<version>2.20.32</version>
2121
<relativePath>../pom.xml</relativePath>
2222
</parent>
2323
<artifactId>bom</artifactId>

bundle/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<parent>
2222
<groupId>software.amazon.awssdk</groupId>
2323
<artifactId>aws-sdk-java-pom</artifactId>
24-
<version>2.20.31</version>
24+
<version>2.20.32</version>
2525
</parent>
2626
<artifactId>bundle</artifactId>
2727
<packaging>jar</packaging>

codegen-lite-maven-plugin/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<parent>
2323
<groupId>software.amazon.awssdk</groupId>
2424
<artifactId>aws-sdk-java-pom</artifactId>
25-
<version>2.20.31</version>
25+
<version>2.20.32</version>
2626
<relativePath>../pom.xml</relativePath>
2727
</parent>
2828
<artifactId>codegen-lite-maven-plugin</artifactId>

codegen-lite/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<parent>
2222
<groupId>software.amazon.awssdk</groupId>
2323
<artifactId>aws-sdk-java-pom</artifactId>
24-
<version>2.20.31</version>
24+
<version>2.20.32</version>
2525
</parent>
2626
<artifactId>codegen-lite</artifactId>
2727
<name>AWS Java SDK :: Code Generator Lite</name>

codegen-maven-plugin/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<parent>
2323
<groupId>software.amazon.awssdk</groupId>
2424
<artifactId>aws-sdk-java-pom</artifactId>
25-
<version>2.20.31</version>
25+
<version>2.20.32</version>
2626
<relativePath>../pom.xml</relativePath>
2727
</parent>
2828
<artifactId>codegen-maven-plugin</artifactId>

codegen/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<parent>
2222
<groupId>software.amazon.awssdk</groupId>
2323
<artifactId>aws-sdk-java-pom</artifactId>
24-
<version>2.20.31</version>
24+
<version>2.20.32</version>
2525
</parent>
2626
<artifactId>codegen</artifactId>
2727
<name>AWS Java SDK :: Code Generator</name>

codegen/src/main/java/software/amazon/awssdk/codegen/emitters/tasks/CommonClientGeneratorTasks.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import software.amazon.awssdk.codegen.emitters.GeneratorTaskParams;
2323
import software.amazon.awssdk.codegen.poet.builder.BaseClientBuilderClass;
2424
import software.amazon.awssdk.codegen.poet.builder.BaseClientBuilderInterface;
25+
import software.amazon.awssdk.codegen.poet.model.ServiceClientConfigurationClass;
2526

2627
/**
2728
* Task for classes shared by {@link AsyncClientGeneratorTasks} and {@link SyncClientGeneratorTasks}.
@@ -34,7 +35,8 @@ public CommonClientGeneratorTasks(GeneratorTaskParams dependencies) {
3435
@Override
3536
protected List<GeneratorTask> createTasks() throws Exception {
3637
return Arrays.asList(createBaseBuilderTask(),
37-
createBaseBuilderInterfaceTask());
38+
createBaseBuilderInterfaceTask(),
39+
createServiceClientConfigurationTask());
3840
}
3941

4042
private GeneratorTask createBaseBuilderTask() throws IOException {
@@ -44,4 +46,8 @@ private GeneratorTask createBaseBuilderTask() throws IOException {
4446
private GeneratorTask createBaseBuilderInterfaceTask() throws IOException {
4547
return createPoetGeneratorTask(new BaseClientBuilderInterface(model));
4648
}
49+
50+
private GeneratorTask createServiceClientConfigurationTask() throws IOException {
51+
return createPoetGeneratorTask(new ServiceClientConfigurationClass(model));
52+
}
4753
}

codegen/src/main/java/software/amazon/awssdk/codegen/poet/PoetExtension.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,14 @@ public ClassName getClientClass(String className) {
6565
return ClassName.get(model.getMetadata().getFullClientPackageName(), className);
6666
}
6767

68+
/**
69+
* @return A Poet {@link ClassName} for the generated service client configuration.
70+
*/
71+
public ClassName getServiceConfigClass() {
72+
return PoetUtils.classNameFromFqcn(model.getMetadata().getFullClientPackageName() + "."
73+
+ model.getMetadata().getServiceName() + "ServiceClientConfiguration");
74+
}
75+
6876
/**
6977
* @param operationName Name of the operation
7078
* @return A Poet {@link ClassName} for the response type of a paginated operation in the base service package.

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

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import software.amazon.awssdk.awscore.client.config.AwsClientOption;
2626
import software.amazon.awssdk.codegen.model.intermediate.IntermediateModel;
2727
import software.amazon.awssdk.codegen.poet.ClassSpec;
28+
import software.amazon.awssdk.codegen.poet.PoetExtension;
2829
import software.amazon.awssdk.codegen.poet.PoetUtils;
2930
import software.amazon.awssdk.codegen.poet.rules.EndpointRulesSpecUtils;
3031
import software.amazon.awssdk.codegen.utils.AuthUtils;
@@ -38,6 +39,7 @@ public class AsyncClientBuilderClass implements ClassSpec {
3839
private final ClassName builderInterfaceName;
3940
private final ClassName builderClassName;
4041
private final ClassName builderBaseClassName;
42+
private final ClassName serviceConfigClassName;
4143
private final EndpointRulesSpecUtils endpointRulesSpecUtils;
4244

4345
public AsyncClientBuilderClass(IntermediateModel model) {
@@ -49,6 +51,7 @@ public AsyncClientBuilderClass(IntermediateModel model) {
4951
this.builderClassName = ClassName.get(basePackage, model.getMetadata().getAsyncBuilder());
5052
this.builderBaseClassName = ClassName.get(basePackage, model.getMetadata().getBaseBuilder());
5153
this.endpointRulesSpecUtils = new EndpointRulesSpecUtils(model);
54+
this.serviceConfigClassName = new PoetExtension(model).getServiceConfigClass();
5255
}
5356

5457
@Override
@@ -121,7 +124,11 @@ private MethodSpec buildClientMethod() {
121124
.returns(clientInterfaceName)
122125
.addStatement("$T clientConfiguration = super.asyncClientConfiguration()", SdkClientConfiguration.class)
123126
.addStatement("this.validateClientOptions(clientConfiguration)")
124-
.addCode("return new $T(clientConfiguration);", clientClassName)
127+
.addStatement("$T serviceClientConfiguration = $T.builder()"
128+
+ ".overrideConfiguration(overrideConfiguration())"
129+
+ ".region(clientConfiguration.option($T.AWS_REGION)).build()",
130+
serviceConfigClassName, serviceConfigClassName, AwsClientOption.class)
131+
.addStatement("return new $T(serviceClientConfiguration, clientConfiguration)", clientClassName)
125132
.build();
126133
}
127134

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

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import software.amazon.awssdk.awscore.client.config.AwsClientOption;
2626
import software.amazon.awssdk.codegen.model.intermediate.IntermediateModel;
2727
import software.amazon.awssdk.codegen.poet.ClassSpec;
28+
import software.amazon.awssdk.codegen.poet.PoetExtension;
2829
import software.amazon.awssdk.codegen.poet.PoetUtils;
2930
import software.amazon.awssdk.codegen.poet.rules.EndpointRulesSpecUtils;
3031
import software.amazon.awssdk.codegen.utils.AuthUtils;
@@ -38,6 +39,7 @@ public class SyncClientBuilderClass implements ClassSpec {
3839
private final ClassName builderInterfaceName;
3940
private final ClassName builderClassName;
4041
private final ClassName builderBaseClassName;
42+
private final ClassName serviceConfigClassName;
4143
private final EndpointRulesSpecUtils endpointRulesSpecUtils;
4244

4345
public SyncClientBuilderClass(IntermediateModel model) {
@@ -49,6 +51,7 @@ public SyncClientBuilderClass(IntermediateModel model) {
4951
this.builderClassName = ClassName.get(basePackage, model.getMetadata().getSyncBuilder());
5052
this.builderBaseClassName = ClassName.get(basePackage, model.getMetadata().getBaseBuilder());
5153
this.endpointRulesSpecUtils = new EndpointRulesSpecUtils(model);
54+
this.serviceConfigClassName = new PoetExtension(model).getServiceConfigClass();
5255
}
5356

5457
@Override
@@ -116,14 +119,17 @@ private MethodSpec endpointProviderMethod() {
116119

117120
private MethodSpec buildClientMethod() {
118121
return MethodSpec.methodBuilder("buildClient")
119-
.addAnnotation(Override.class)
120-
.addModifiers(Modifier.PROTECTED, Modifier.FINAL)
121-
.returns(clientInterfaceName)
122-
.addStatement("$T clientConfiguration = super.syncClientConfiguration()",
123-
SdkClientConfiguration.class)
124-
.addStatement("this.validateClientOptions(clientConfiguration)")
125-
.addCode("return new $T(clientConfiguration);", clientClassName)
126-
.build();
122+
.addAnnotation(Override.class)
123+
.addModifiers(Modifier.PROTECTED, Modifier.FINAL)
124+
.returns(clientInterfaceName)
125+
.addStatement("$T clientConfiguration = super.syncClientConfiguration()", SdkClientConfiguration.class)
126+
.addStatement("this.validateClientOptions(clientConfiguration)")
127+
.addStatement("$T serviceClientConfiguration = $T.builder()"
128+
+ ".overrideConfiguration(overrideConfiguration())"
129+
+ ".region(clientConfiguration.option($T.AWS_REGION)).build()",
130+
serviceConfigClassName, serviceConfigClassName, AwsClientOption.class)
131+
.addStatement("return new $T(serviceClientConfiguration, clientConfiguration)", clientClassName)
132+
.build();
127133
}
128134

129135
private MethodSpec tokenProviderMethodImpl() {

0 commit comments

Comments
 (0)