Skip to content

Commit a62911e

Browse files
Merge pull request #3272 from aws/staging/18fe91da-2a72-4cf8-8e85-d4f1b44b06c5
Pull request: release <- staging/18fe91da-2a72-4cf8-8e85-d4f1b44b06c5
2 parents 832c1b9 + 96f5993 commit a62911e

File tree

490 files changed

+1439
-965
lines changed

Some content is hidden

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

490 files changed

+1439
-965
lines changed

.changes/2.28.7.json

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
{
2+
"version": "2.28.7",
3+
"date": "2024-09-23",
4+
"entries": [
5+
{
6+
"type": "feature",
7+
"category": "AWS Glue",
8+
"contributor": "",
9+
"description": "Added AthenaProperties parameter to Glue Connections, allowing Athena to store service specific properties on Glue Connections."
10+
},
11+
{
12+
"type": "feature",
13+
"category": "AWS Resource Explorer",
14+
"contributor": "",
15+
"description": "AWS Resource Explorer released ListResources feature which allows customers to list all indexed AWS resources within a view."
16+
},
17+
{
18+
"type": "feature",
19+
"category": "Agents for Amazon Bedrock",
20+
"contributor": "",
21+
"description": "Amazon Bedrock Prompt Flows and Prompt Management now supports using inference profiles to increase throughput and improve resilience."
22+
},
23+
{
24+
"type": "feature",
25+
"category": "Amazon API Gateway",
26+
"contributor": "",
27+
"description": "Documentation updates for Amazon API Gateway"
28+
},
29+
{
30+
"type": "feature",
31+
"category": "Amazon Athena",
32+
"contributor": "",
33+
"description": "List/Get/Update/Delete/CreateDataCatalog now integrate with AWS Glue connections. Users can create a Glue connection through Athena or use a Glue connection to define their Athena federated parameters."
34+
},
35+
{
36+
"type": "feature",
37+
"category": "Amazon Elastic Compute Cloud",
38+
"contributor": "",
39+
"description": "Amazon EC2 G6e instances powered by NVIDIA L40S Tensor Core GPUs are the most cost-efficient GPU instances for deploying generative AI models and the highest performance GPU instances for spatial computing workloads."
40+
},
41+
{
42+
"type": "feature",
43+
"category": "Amazon Relational Database Service",
44+
"contributor": "",
45+
"description": "Support ComputeRedundancy parameter in ModifyDBShardGroup API. Add DBShardGroupArn in DBShardGroup API response. Remove InvalidMaxAcuFault from CreateDBShardGroup and ModifyDBShardGroup API. Both API will throw InvalidParameterValueException for invalid ACU configuration."
46+
},
47+
{
48+
"type": "feature",
49+
"category": "EMR Serverless",
50+
"contributor": "",
51+
"description": "This release adds support for job concurrency and queuing configuration at Application level."
52+
}
53+
]
54+
}

CHANGELOG.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,37 @@
11
#### 👋 _Looking for changelogs for older versions? You can find them in the [changelogs](./changelogs) directory._
2+
# __2.28.7__ __2024-09-23__
3+
## __AWS Glue__
4+
- ### Features
5+
- Added AthenaProperties parameter to Glue Connections, allowing Athena to store service specific properties on Glue Connections.
6+
7+
## __AWS Resource Explorer__
8+
- ### Features
9+
- AWS Resource Explorer released ListResources feature which allows customers to list all indexed AWS resources within a view.
10+
11+
## __Agents for Amazon Bedrock__
12+
- ### Features
13+
- Amazon Bedrock Prompt Flows and Prompt Management now supports using inference profiles to increase throughput and improve resilience.
14+
15+
## __Amazon API Gateway__
16+
- ### Features
17+
- Documentation updates for Amazon API Gateway
18+
19+
## __Amazon Athena__
20+
- ### Features
21+
- List/Get/Update/Delete/CreateDataCatalog now integrate with AWS Glue connections. Users can create a Glue connection through Athena or use a Glue connection to define their Athena federated parameters.
22+
23+
## __Amazon Elastic Compute Cloud__
24+
- ### Features
25+
- Amazon EC2 G6e instances powered by NVIDIA L40S Tensor Core GPUs are the most cost-efficient GPU instances for deploying generative AI models and the highest performance GPU instances for spatial computing workloads.
26+
27+
## __Amazon Relational Database Service__
28+
- ### Features
29+
- Support ComputeRedundancy parameter in ModifyDBShardGroup API. Add DBShardGroupArn in DBShardGroup API response. Remove InvalidMaxAcuFault from CreateDBShardGroup and ModifyDBShardGroup API. Both API will throw InvalidParameterValueException for invalid ACU configuration.
30+
31+
## __EMR Serverless__
32+
- ### Features
33+
- This release adds support for job concurrency and queuing configuration at Application level.
34+
235
# __2.28.6__ __2024-09-20__
336
## __AWS SDK for Java v2__
437
- ### Features

README.md

Lines changed: 4 additions & 4 deletions
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.28.6</version>
54+
<version>2.28.7</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.28.6</version>
88+
<version>2.28.7</version>
8989
</dependency>
9090
<dependency>
9191
<groupId>software.amazon.awssdk</groupId>
9292
<artifactId>s3</artifactId>
93-
<version>2.28.6</version>
93+
<version>2.28.7</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.28.6</version>
105+
<version>2.28.7</version>
106106
</dependency>
107107
```
108108

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.28.6</version>
23+
<version>2.28.7</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.28.6</version>
23+
<version>2.28.7</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.28.6</version>
23+
<version>2.28.7</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.28.6</version>
23+
<version>2.28.7</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.28.6</version>
20+
<version>2.28.7</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.28.6</version>
23+
<version>2.28.7</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.28.6</version>
20+
<version>2.28.7</version>
2121
<relativePath>../pom.xml</relativePath>
2222
</parent>
2323
<artifactId>bom</artifactId>

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

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

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

codegen/src/main/java/software/amazon/awssdk/codegen/customization/processors/ShapeSubstitutionsProcessor.java

Lines changed: 33 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
import software.amazon.awssdk.codegen.model.service.Operation;
3232
import software.amazon.awssdk.codegen.model.service.ServiceModel;
3333
import software.amazon.awssdk.codegen.model.service.Shape;
34+
import software.amazon.awssdk.utils.CollectionUtils;
35+
import software.amazon.awssdk.utils.Validate;
3436

3537
/**
3638
* This processor internally keeps track of all the structure members whose
@@ -53,6 +55,8 @@ final class ShapeSubstitutionsProcessor implements CodegenCustomizationProcessor
5355
*/
5456
private final Map<String, Map<String, String>> substitutedListMemberReferences = new HashMap<>();
5557

58+
private final Map<String, Shape> newShapesToAdd = new HashMap<>();
59+
5660
ShapeSubstitutionsProcessor(
5761
Map<String, ShapeSubstitution> shapeSubstitutions) {
5862
this.shapeSubstitutions = shapeSubstitutions;
@@ -66,12 +70,15 @@ public void preprocess(ServiceModel serviceModel) {
6670
}
6771

6872
// Make sure the substituted shapes exist in the service model
69-
for (String substitutedShape : shapeSubstitutions.keySet()) {
70-
if (!serviceModel.getShapes().containsKey(substitutedShape)) {
73+
for (Entry<String, ShapeSubstitution> substitutedShapeEntry : shapeSubstitutions.entrySet()) {
74+
if (!serviceModel.getShapes().containsKey(substitutedShapeEntry.getKey())) {
7175
throw new IllegalStateException(
72-
"shapeSubstitution customization found for shape "
73-
+ substitutedShape + ", which does not exist in the service model.");
76+
"shapeSubstitution customization found for shape "
77+
+ substitutedShapeEntry + ", which does not exist in the service model.");
7478
}
79+
ShapeSubstitution shapeSubstitution = substitutedShapeEntry.getValue();
80+
Validate.mutuallyExclusive("emitAsShape and emitAsType are mutually exclusive",
81+
shapeSubstitution.getEmitAsShape(), shapeSubstitution.getEmitAsType());
7582
}
7683

7784
// Make sure the substituted shapes are not referenced by any operation
@@ -84,9 +91,12 @@ public void preprocess(ServiceModel serviceModel) {
8491
for (Entry<String, Shape> entry : serviceModel.getShapes().entrySet()) {
8592
String shapeName = entry.getKey();
8693
Shape shape = entry.getValue();
87-
8894
preprocessSubstituteShapeReferencesInShape(shapeName, shape, serviceModel);
8995
}
96+
97+
if (!CollectionUtils.isNullOrEmpty(newShapesToAdd)) {
98+
serviceModel.getShapes().putAll(newShapesToAdd);
99+
}
90100
}
91101

92102
@Override
@@ -209,8 +219,24 @@ private void preprocessSubstituteShapeReferencesInShape(
209219
private ShapeSubstitution substituteMemberShape(Member member) {
210220
ShapeSubstitution substitute = shapeSubstitutions.get(member.getShape());
211221

212-
if (substitute != null) {
213-
member.setShape(substitute.getEmitAsShape());
222+
if (substitute == null) {
223+
return null;
224+
}
225+
226+
String emitAsShape = substitute.getEmitAsShape();
227+
if (emitAsShape != null) {
228+
member.setShape(emitAsShape);
229+
return substitute;
230+
}
231+
232+
String emitAsType = substitute.getEmitAsType();
233+
234+
if (emitAsType != null) {
235+
Shape newShapeForType = new Shape();
236+
newShapeForType.setType(emitAsType);
237+
String shapeName = "SdkCustomization_" + emitAsType;
238+
member.setShape(shapeName);
239+
newShapesToAdd.put(shapeName, newShapeForType);
214240
return substitute;
215241
}
216242

codegen/src/main/java/software/amazon/awssdk/codegen/internal/Utils.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,11 @@ public static boolean isStructure(Shape shape) {
5757
}
5858

5959
public static boolean isListShape(Shape shape) {
60-
return shape.getType().equals("list");
60+
return shape != null && shape.getType() != null && shape.getType().equals("list");
6161
}
6262

6363
public static boolean isMapShape(Shape shape) {
64-
return shape.getType().equals("map");
64+
return shape.getType() != null && shape.getType().equals("map");
6565
}
6666

6767
public static boolean isEnumShape(Shape shape) {

codegen/src/main/java/software/amazon/awssdk/codegen/model/config/customization/ShapeSubstitution.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
public class ShapeSubstitution {
2929

3030
private String emitAsShape;
31+
private String emitAsType;
3132
private String emitFromMember;
3233

3334
/**
@@ -54,6 +55,14 @@ public String getEmitFromMember() {
5455
return emitFromMember;
5556
}
5657

58+
public String getEmitAsType() {
59+
return emitAsType;
60+
}
61+
62+
public void setEmitAsType(String emitAsType) {
63+
this.emitAsType = emitAsType;
64+
}
65+
5766
public void setEmitFromMember(String emitFromMember) {
5867
this.emitFromMember = emitFromMember;
5968
}

0 commit comments

Comments
 (0)