Skip to content

Commit 007e11c

Browse files
Merge pull request #3401 from aws/staging/b8ce982a-2b35-49fd-8eda-9bd280009a15
Pull request: release <- staging/b8ce982a-2b35-49fd-8eda-9bd280009a15
2 parents 220d741 + 465330b commit 007e11c

File tree

516 files changed

+3677
-2332
lines changed

Some content is hidden

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

516 files changed

+3677
-2332
lines changed

Diff for: .changes/2.29.5.json

+60
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
{
2+
"version": "2.29.5",
3+
"date": "2024-10-31",
4+
"entries": [
5+
{
6+
"type": "bugfix",
7+
"category": "AWS SDK for Java v2",
8+
"contributor": "",
9+
"description": "Fix an issue where the SDK does not properly unmarshall an evenstream exception to the expected exception type."
10+
},
11+
{
12+
"type": "feature",
13+
"category": "AWS Batch",
14+
"contributor": "",
15+
"description": "Add `podNamespace` to `EksAttemptDetail` and `containerID` to `EksAttemptContainerDetail`."
16+
},
17+
{
18+
"type": "feature",
19+
"category": "AWS Glue",
20+
"contributor": "",
21+
"description": "Add schedule support for AWS Glue column statistics"
22+
},
23+
{
24+
"type": "feature",
25+
"category": "Amazon Prometheus Service",
26+
"contributor": "",
27+
"description": "Added support for UpdateScraper API, to enable updating collector configuration in-place"
28+
},
29+
{
30+
"type": "feature",
31+
"category": "Amazon SageMaker Service",
32+
"contributor": "",
33+
"description": "SageMaker HyperPod adds scale-down at instance level via BatchDeleteClusterNodes API and group level via UpdateCluster API. SageMaker Training exposes secondary job status in TrainingJobSummary from ListTrainingJobs API. SageMaker now supports G6, G6e, P5e instances for HyperPod and Training."
34+
},
35+
{
36+
"type": "feature",
37+
"category": "Amazon Simple Email Service",
38+
"contributor": "",
39+
"description": "This release enables customers to provide the email template content in the SESv2 SendEmail and SendBulkEmail APIs instead of the name or the ARN of a stored email template."
40+
},
41+
{
42+
"type": "feature",
43+
"category": "Auto Scaling",
44+
"contributor": "",
45+
"description": "Adds bake time for Auto Scaling group Instance Refresh"
46+
},
47+
{
48+
"type": "feature",
49+
"category": "Elastic Load Balancing",
50+
"contributor": "",
51+
"description": "Add UDP support for AWS PrivateLink and dual-stack Network Load Balancers"
52+
},
53+
{
54+
"type": "feature",
55+
"category": "AWS SDK for Java v2",
56+
"contributor": "",
57+
"description": "Updated endpoint and partition metadata."
58+
}
59+
]
60+
}

Diff for: CHANGELOG.md

+36
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,40 @@
11
#### 👋 _Looking for changelogs for older versions? You can find them in the [changelogs](./changelogs) directory._
2+
# __2.29.5__ __2024-10-31__
3+
## __AWS Batch__
4+
- ### Features
5+
- Add `podNamespace` to `EksAttemptDetail` and `containerID` to `EksAttemptContainerDetail`.
6+
7+
## __AWS Glue__
8+
- ### Features
9+
- Add schedule support for AWS Glue column statistics
10+
11+
## __AWS SDK for Java v2__
12+
- ### Features
13+
- Updated endpoint and partition metadata.
14+
15+
- ### Bugfixes
16+
- Fix an issue where the SDK does not properly unmarshall an evenstream exception to the expected exception type.
17+
18+
## __Amazon Prometheus Service__
19+
- ### Features
20+
- Added support for UpdateScraper API, to enable updating collector configuration in-place
21+
22+
## __Amazon SageMaker Service__
23+
- ### Features
24+
- SageMaker HyperPod adds scale-down at instance level via BatchDeleteClusterNodes API and group level via UpdateCluster API. SageMaker Training exposes secondary job status in TrainingJobSummary from ListTrainingJobs API. SageMaker now supports G6, G6e, P5e instances for HyperPod and Training.
25+
26+
## __Amazon Simple Email Service__
27+
- ### Features
28+
- This release enables customers to provide the email template content in the SESv2 SendEmail and SendBulkEmail APIs instead of the name or the ARN of a stored email template.
29+
30+
## __Auto Scaling__
31+
- ### Features
32+
- Adds bake time for Auto Scaling group Instance Refresh
33+
34+
## __Elastic Load Balancing__
35+
- ### Features
36+
- Add UDP support for AWS PrivateLink and dual-stack Network Load Balancers
37+
238
# __2.29.4__ __2024-10-30__
339
## __AWS AppSync__
440
- ### Features

Diff for: README.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ To automatically manage module versions (currently all modules have the same ver
5151
<dependency>
5252
<groupId>software.amazon.awssdk</groupId>
5353
<artifactId>bom</artifactId>
54-
<version>2.29.4</version>
54+
<version>2.29.5</version>
5555
<type>pom</type>
5656
<scope>import</scope>
5757
</dependency>
@@ -85,12 +85,12 @@ Alternatively you can add dependencies for the specific services you use only:
8585
<dependency>
8686
<groupId>software.amazon.awssdk</groupId>
8787
<artifactId>ec2</artifactId>
88-
<version>2.29.4</version>
88+
<version>2.29.5</version>
8989
</dependency>
9090
<dependency>
9191
<groupId>software.amazon.awssdk</groupId>
9292
<artifactId>s3</artifactId>
93-
<version>2.29.4</version>
93+
<version>2.29.5</version>
9494
</dependency>
9595
```
9696

@@ -102,7 +102,7 @@ You can import the whole SDK into your project (includes *ALL* services). Please
102102
<dependency>
103103
<groupId>software.amazon.awssdk</groupId>
104104
<artifactId>aws-sdk-java</artifactId>
105-
<version>2.29.4</version>
105+
<version>2.29.5</version>
106106
</dependency>
107107
```
108108

Diff for: archetypes/archetype-app-quickstart/pom.xml

+1-1
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.29.4</version>
23+
<version>2.29.5</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626

Diff for: archetypes/archetype-lambda/pom.xml

+1-1
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.29.4</version>
23+
<version>2.29.5</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626
<artifactId>archetype-lambda</artifactId>

Diff for: archetypes/archetype-tools/pom.xml

+1-1
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.29.4</version>
23+
<version>2.29.5</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626

Diff for: archetypes/pom.xml

+1-1
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.29.4</version>
23+
<version>2.29.5</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626
<artifactId>archetypes</artifactId>

Diff for: aws-sdk-java/pom.xml

+1-1
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.29.4</version>
20+
<version>2.29.5</version>
2121
<relativePath>../pom.xml</relativePath>
2222
</parent>
2323
<artifactId>aws-sdk-java</artifactId>

Diff for: bom-internal/pom.xml

+1-1
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.29.4</version>
23+
<version>2.29.5</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626

Diff for: bom/pom.xml

+1-1
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.29.4</version>
20+
<version>2.29.5</version>
2121
<relativePath>../pom.xml</relativePath>
2222
</parent>
2323
<artifactId>bom</artifactId>

Diff for: bundle-logging-bridge/pom.xml

+1-1
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.29.4</version>
24+
<version>2.29.5</version>
2525
</parent>
2626
<artifactId>bundle-logging-bridge</artifactId>
2727
<packaging>jar</packaging>

Diff for: bundle-sdk/pom.xml

+1-1
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.29.4</version>
24+
<version>2.29.5</version>
2525
</parent>
2626
<artifactId>bundle-sdk</artifactId>
2727
<packaging>jar</packaging>

Diff for: bundle/pom.xml

+1-1
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.29.4</version>
24+
<version>2.29.5</version>
2525
</parent>
2626
<artifactId>bundle</artifactId>
2727
<packaging>jar</packaging>

Diff for: codegen-lite-maven-plugin/pom.xml

+1-1
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.29.4</version>
25+
<version>2.29.5</version>
2626
<relativePath>../pom.xml</relativePath>
2727
</parent>
2828
<artifactId>codegen-lite-maven-plugin</artifactId>

Diff for: codegen-lite/pom.xml

+1-1
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.29.4</version>
24+
<version>2.29.5</version>
2525
</parent>
2626
<artifactId>codegen-lite</artifactId>
2727
<name>AWS Java SDK :: Code Generator Lite</name>

Diff for: codegen-maven-plugin/pom.xml

+1-1
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.29.4</version>
25+
<version>2.29.5</version>
2626
<relativePath>../pom.xml</relativePath>
2727
</parent>
2828
<artifactId>codegen-maven-plugin</artifactId>

Diff for: codegen/pom.xml

+1-1
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.29.4</version>
24+
<version>2.29.5</version>
2525
</parent>
2626
<artifactId>codegen</artifactId>
2727
<name>AWS Java SDK :: Code Generator</name>

Diff for: codegen/src/main/java/software/amazon/awssdk/codegen/model/service/OperationContextParam.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@
1818
import com.fasterxml.jackson.core.TreeNode;
1919

2020
public class OperationContextParam {
21-
private TreeNode value;
21+
private TreeNode path;
2222

23-
public TreeNode getValue() {
24-
return value;
23+
public TreeNode getPath() {
24+
return path;
2525
}
2626

27-
public void setValue(TreeNode value) {
28-
this.value = value;
27+
public void setPath(TreeNode path) {
28+
this.path = path;
2929
}
3030
}

Diff for: codegen/src/main/java/software/amazon/awssdk/codegen/poet/client/AsyncClientClass.java

+1
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,7 @@ protected void addAdditionalMethods(TypeSpec.Builder type) {
182182
type.addMethod(ClientClassUtils.updateRetryStrategyClientConfigurationMethod());
183183
type.addMethod(updateSdkClientConfigurationMethod(configurationUtils.serviceClientConfigurationBuilderClassName()));
184184
protocolSpec.createErrorResponseHandler().ifPresent(type::addMethod);
185+
protocolSpec.createEventstreamErrorResponseHandler().ifPresent(type::addMethod);
185186
}
186187

187188
@Override

Diff for: codegen/src/main/java/software/amazon/awssdk/codegen/poet/client/specs/JsonProtocolSpec.java

+53-1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import com.squareup.javapoet.WildcardTypeName;
2828
import java.util.Optional;
2929
import java.util.concurrent.CompletableFuture;
30+
import java.util.function.Function;
3031
import javax.lang.model.element.Modifier;
3132
import software.amazon.awssdk.awscore.eventstream.EventStreamAsyncResponseTransformer;
3233
import software.amazon.awssdk.awscore.eventstream.EventStreamTaggedUnionPojoSupplier;
@@ -55,6 +56,7 @@
5556
import software.amazon.awssdk.core.http.HttpResponseHandler;
5657
import software.amazon.awssdk.core.protocol.VoidSdkResponse;
5758
import software.amazon.awssdk.protocols.cbor.AwsCborProtocolFactory;
59+
import software.amazon.awssdk.protocols.core.ExceptionMetadata;
5860
import software.amazon.awssdk.protocols.json.AwsJsonProtocol;
5961
import software.amazon.awssdk.protocols.json.AwsJsonProtocolFactory;
6062
import software.amazon.awssdk.protocols.json.BaseAwsJsonProtocolFactory;
@@ -238,7 +240,7 @@ public CodeBlock asyncExecutionHandler(IntermediateModel intermediateModel, Oper
238240
.add(".eventStreamResponseHandler(asyncResponseHandler)\n")
239241
.add(".eventResponseHandler(eventResponseHandler)\n")
240242
.add(".initialResponseHandler(responseHandler)\n")
241-
.add(".exceptionResponseHandler(errorResponseHandler)\n")
243+
.add(".exceptionResponseHandler(errorEventResponseHandler)\n")
242244
.add(".future(future)\n")
243245
.add(".executor(executor)\n")
244246
.add(".serviceName(serviceName())\n")
@@ -419,6 +421,25 @@ public Optional<MethodSpec> createErrorResponseHandler() {
419421
.build());
420422
}
421423

424+
@Override
425+
public Optional<MethodSpec> createEventstreamErrorResponseHandler() {
426+
ClassName httpResponseHandler = ClassName.get(HttpResponseHandler.class);
427+
ClassName sdkBaseException = ClassName.get(AwsServiceException.class);
428+
TypeName responseHandlerOfException = ParameterizedTypeName.get(httpResponseHandler, sdkBaseException);
429+
ParameterizedTypeName mapperType = ParameterizedTypeName.get(ClassName.get(Function.class),
430+
ClassName.get(String.class), ParameterizedTypeName.get(Optional.class, ExceptionMetadata.class));
431+
432+
return Optional.of(MethodSpec.methodBuilder("createErrorResponseHandler")
433+
.addParameter(BaseAwsJsonProtocolFactory.class, "protocolFactory")
434+
.addParameter(JsonOperationMetadata.class, "operationMetadata")
435+
.addParameter(mapperType, "exceptionMetadataMapper")
436+
.returns(responseHandlerOfException)
437+
.addModifiers(Modifier.PRIVATE)
438+
.addStatement("return protocolFactory.createErrorResponseHandler(operationMetadata, "
439+
+ "exceptionMetadataMapper)")
440+
.build());
441+
}
442+
422443
private String protocolEnumName(software.amazon.awssdk.codegen.model.intermediate.Protocol protocol) {
423444
switch (protocol) {
424445
case CBOR:
@@ -480,6 +501,37 @@ private void responseHandlersForEventStreaming(OperationModel opModel, TypeName
480501
});
481502
builder.add(".defaultSdkPojoSupplier(() -> new $T($T.UNKNOWN))\n"
482503
+ ".build());\n", SdkPojoBuilder.class, eventStreamBaseClass);
504+
505+
ParameterizedTypeName metadataMapperType = ParameterizedTypeName.get(
506+
ClassName.get(Function.class),
507+
ClassName.get(String.class),
508+
ParameterizedTypeName.get(Optional.class, ExceptionMetadata.class));
509+
510+
builder.add("\n");
511+
builder.add("$T eventstreamExceptionMetadataMapper = errorCode -> {\n", metadataMapperType);
512+
builder.add("switch (errorCode) {\n");
513+
EventStreamUtils.getErrorMembers(eventStream).forEach(m -> {
514+
String errorCode = m.getC2jName();
515+
builder.add("case $S:\n", errorCode);
516+
builder.add("return $T.of($T.builder()", Optional.class, ExceptionMetadata.class);
517+
builder.add(".errorCode($S)", m.getShape().getErrorCode());
518+
builder.add(populateHttpStatusCode(m.getShape(), model));
519+
builder.add(".exceptionBuilderSupplier($T::builder).build());\n",
520+
poetExtensions.getModelClassFromShape(m.getShape()));
521+
});
522+
builder.add("default: return $T.empty();", Optional.class);
523+
builder.add("}\n");
524+
builder.add("};\n");
525+
526+
ParameterizedTypeName errorResponseHandlerType = ParameterizedTypeName.get(HttpResponseHandler.class,
527+
AwsServiceException.class);
528+
529+
builder.add("\n");
530+
builder.addStatement("$T errorEventResponseHandler = createErrorResponseHandler($N, operationMetadata, "
531+
+ "eventstreamExceptionMetadataMapper)",
532+
errorResponseHandlerType,
533+
protocolFactoryLiteral(model, opModel));
534+
483535
}
484536

485537
private String protocolFactoryLiteral(IntermediateModel model, OperationModel opModel) {

Diff for: codegen/src/main/java/software/amazon/awssdk/codegen/poet/client/specs/ProtocolSpec.java

+4
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,10 @@ default Class<? extends SyncClientHandler> getClientHandlerClass() {
6666

6767
Optional<MethodSpec> createErrorResponseHandler();
6868

69+
default Optional<MethodSpec> createEventstreamErrorResponseHandler() {
70+
return Optional.empty();
71+
}
72+
6973
default List<MethodSpec> additionalMethods() {
7074
return new ArrayList<>();
7175
}

0 commit comments

Comments
 (0)