Skip to content

Commit a6e7d1d

Browse files
Merge pull request #3033 from aws/staging/6a0e079b-f6a4-43c6-bfd8-2ff6657017b9
Pull request: release <- staging/6a0e079b-f6a4-43c6-bfd8-2ff6657017b9
2 parents 64f2c10 + b6b7ab4 commit a6e7d1d

File tree

528 files changed

+3527
-1166
lines changed

Some content is hidden

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

528 files changed

+3527
-1166
lines changed

.changes/2.25.51.json

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{
2+
"version": "2.25.51",
3+
"date": "2024-05-13",
4+
"entries": [
5+
{
6+
"type": "feature",
7+
"category": "AWS SDK for Java v2",
8+
"contributor": "",
9+
"description": "Adds capability to resolve endpoint and auth scheme parameters of type list of string as well as new functions to JmesPath runtime (keys and wildcard)"
10+
},
11+
{
12+
"type": "feature",
13+
"category": "Amazon EventBridge",
14+
"contributor": "",
15+
"description": "Amazon EventBridge introduces KMS customer-managed key (CMK) encryption support for custom and partner events published on EventBridge Event Bus (including default bus) and UpdateEventBus API."
16+
},
17+
{
18+
"type": "feature",
19+
"category": "Amazon VPC Lattice",
20+
"contributor": "",
21+
"description": "This release adds TLS Passthrough support. It also increases max number of target group per rule to 10."
22+
},
23+
{
24+
"type": "feature",
25+
"category": "AWS SDK for Java v2",
26+
"contributor": "",
27+
"description": "Updated endpoint and partition metadata."
28+
}
29+
]
30+
}

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,18 @@
11
#### 👋 _Looking for changelogs for older versions? You can find them in the [changelogs](./changelogs) directory._
2+
# __2.25.51__ __2024-05-13__
3+
## __AWS SDK for Java v2__
4+
- ### Features
5+
- Adds capability to resolve endpoint and auth scheme parameters of type list of string as well as new functions to JmesPath runtime (keys and wildcard)
6+
- Updated endpoint and partition metadata.
7+
8+
## __Amazon EventBridge__
9+
- ### Features
10+
- Amazon EventBridge introduces KMS customer-managed key (CMK) encryption support for custom and partner events published on EventBridge Event Bus (including default bus) and UpdateEventBus API.
11+
12+
## __Amazon VPC Lattice__
13+
- ### Features
14+
- This release adds TLS Passthrough support. It also increases max number of target group per rule to 10.
15+
216
# __2.25.50__ __2024-05-10__
317
## __AWS Application Discovery Service__
418
- ### Features

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.25.50</version>
55+
<version>2.25.51</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.25.50</version>
89+
<version>2.25.51</version>
9090
</dependency>
9191
<dependency>
9292
<groupId>software.amazon.awssdk</groupId>
9393
<artifactId>s3</artifactId>
94-
<version>2.25.50</version>
94+
<version>2.25.51</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.25.50</version>
106+
<version>2.25.51</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.25.50</version>
23+
<version>2.25.51</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.25.50</version>
23+
<version>2.25.51</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.25.50</version>
23+
<version>2.25.51</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.25.50</version>
23+
<version>2.25.51</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.25.50</version>
20+
<version>2.25.51</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.25.50</version>
23+
<version>2.25.51</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.25.50</version>
20+
<version>2.25.51</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.25.50</version>
24+
<version>2.25.51</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.25.50</version>
24+
<version>2.25.51</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.25.50</version>
24+
<version>2.25.51</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.25.50</version>
25+
<version>2.25.51</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.25.50</version>
24+
<version>2.25.51</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.25.50</version>
25+
<version>2.25.51</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.25.50</version>
24+
<version>2.25.51</version>
2525
</parent>
2626
<artifactId>codegen</artifactId>
2727
<name>AWS Java SDK :: Code Generator</name>

codegen/src/main/java/software/amazon/awssdk/codegen/AddMetadata.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,8 @@ private static void configurePackageName(Metadata metadata,
104104
.withPaginatorsPackageName(namingStrategy.getPaginatorsPackageName(service))
105105
.withWaitersPackageName(namingStrategy.getWaitersPackageName(service))
106106
.withEndpointRulesPackageName(namingStrategy.getEndpointRulesPackageName(service))
107-
.withAuthSchemePackageName(namingStrategy.getAuthSchemePackageName(service));
107+
.withAuthSchemePackageName(namingStrategy.getAuthSchemePackageName(service))
108+
.withJmesPathPackageName(namingStrategy.getJmesPathPackageName(service));
108109
}
109110

110111
/**

codegen/src/main/java/software/amazon/awssdk/codegen/AddOperations.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,7 @@ public Map<String, OperationModel> constructOperations() {
180180
operationModel.setHttpChecksum(op.getHttpChecksum());
181181
operationModel.setRequestcompression(op.getRequestcompression());
182182
operationModel.setStaticContextParams(op.getStaticContextParams());
183+
operationModel.setOperationContextParams(op.getOperationContextParams());
183184
operationModel.setAuth(getAuthFromOperation(op));
184185

185186
Input input = op.getInput();

codegen/src/main/java/software/amazon/awssdk/codegen/IntermediateModelBuilder.java

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import software.amazon.awssdk.codegen.model.intermediate.ShapeModel;
3939
import software.amazon.awssdk.codegen.model.rules.endpoints.EndpointTestSuiteModel;
4040
import software.amazon.awssdk.codegen.model.service.AuthType;
41+
import software.amazon.awssdk.codegen.model.service.CustomOperationContextParam;
4142
import software.amazon.awssdk.codegen.model.service.EndpointRuleSetModel;
4243
import software.amazon.awssdk.codegen.model.service.Operation;
4344
import software.amazon.awssdk.codegen.model.service.Paginators;
@@ -167,10 +168,43 @@ public IntermediateModel build() {
167168
setSimpleMethods(trimmedModel);
168169

169170
namingStrategy.validateCustomerVisibleNaming(trimmedModel);
170-
171+
customizeEndpointParameters(fullModel, endpointRuleSet);
172+
customizeOperationContextParams(trimmedModel, fullModel.getCustomizationConfig().getCustomOperationContextParams());
171173
return trimmedModel;
172174
}
173175

176+
private static void customizeOperationContextParams(IntermediateModel trimmedModel,
177+
List<CustomOperationContextParam> customOperationContextParams) {
178+
179+
if (CollectionUtils.isNullOrEmpty(customOperationContextParams)) {
180+
return;
181+
}
182+
customOperationContextParams.forEach(customOperationContextParam -> {
183+
String operationName = customOperationContextParam.getOperationName();
184+
OperationModel operation = trimmedModel.getOperation(operationName);
185+
if (operation == null) {
186+
throw new IllegalStateException(
187+
"Could not find operation " + operationName + " to customize Operation Context Params.");
188+
}
189+
if (operation.getOperationContextParams() != null) {
190+
throw new IllegalStateException(
191+
"Cannot customize operation " + operationName + " which already has OperationContextParams.");
192+
}
193+
operation.setOperationContextParams(customOperationContextParam.getOperationContextParamsMap());
194+
});
195+
}
196+
197+
private void customizeEndpointParameters(IntermediateModel fullModel, EndpointRuleSetModel endpointRuleSet) {
198+
if (fullModel.getCustomizationConfig().getEndpointParameters() != null) {
199+
fullModel.getCustomizationConfig().getEndpointParameters().keySet().forEach(key -> {
200+
if (endpointRuleSet.getParameters().containsKey(key)) {
201+
throw new IllegalStateException("Duplicate parameters found in customizationConfig");
202+
}
203+
});
204+
fullModel.getCustomizationConfig().getEndpointParameters().forEach(endpointRuleSet.getParameters()::put);
205+
}
206+
}
207+
174208
/**
175209
* Link the member to it's corresponding shape (if it exists).
176210
*

codegen/src/main/java/software/amazon/awssdk/codegen/emitters/GeneratorPathProvider.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,4 +104,7 @@ public String getAuthSchemeInternalDirectory() {
104104
return sourceDirectory + "/" + Utils.packageToDirectory(model.getMetadata().getFullInternalAuthSchemePackageName());
105105
}
106106

107+
public String getJmesPathInternalDirectory() {
108+
return sourceDirectory + "/" + Utils.packageToDirectory(model.getMetadata().getFullInternalJmesPathPackageName());
109+
}
107110
}

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

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,13 @@
1919
import java.util.Arrays;
2020
import java.util.Collection;
2121
import java.util.List;
22+
import java.util.Locale;
2223
import java.util.Map;
2324
import software.amazon.awssdk.codegen.emitters.GeneratorTask;
2425
import software.amazon.awssdk.codegen.emitters.GeneratorTaskParams;
2526
import software.amazon.awssdk.codegen.emitters.PoetGeneratorTask;
2627
import software.amazon.awssdk.codegen.model.config.customization.CustomizationConfig;
28+
import software.amazon.awssdk.codegen.model.rules.endpoints.ParameterModel;
2729
import software.amazon.awssdk.codegen.model.service.ClientContextParam;
2830
import software.amazon.awssdk.codegen.poet.rules.ClientContextParamsClassSpec;
2931
import software.amazon.awssdk.codegen.poet.rules.DefaultPartitionDataProviderSpec;
@@ -57,6 +59,9 @@ protected List<GeneratorTask> createTasks() throws Exception {
5759
tasks.add(generateDefaultProvider());
5860
tasks.add(new RulesEngineRuntimeGeneratorTask(generatorTaskParams));
5961
}
62+
if (shouldGenerateJmesPathRuntime()) {
63+
tasks.add(new JmesPathRuntimeGeneratorTask(generatorTaskParams));
64+
}
6065
tasks.addAll(generateInterceptors());
6166
if (shouldGenerateEndpointTests()) {
6267
tasks.add(generateProviderTests());
@@ -149,4 +154,27 @@ private boolean hasClientContextParams() {
149154
(customClientContextParams != null && !customClientContextParams.isEmpty());
150155
}
151156

157+
private boolean shouldGenerateJmesPathRuntime() {
158+
boolean isAlreadyGenerated = model.hasWaiters();
159+
if (isAlreadyGenerated) {
160+
return true;
161+
}
162+
163+
Map<String, ParameterModel> endpointParameters = model.getCustomizationConfig().getEndpointParameters();
164+
if (endpointParameters == null) {
165+
return false;
166+
}
167+
168+
return endpointParameters.values().stream().anyMatch(this::paramRequiresPathParserRuntime);
169+
}
170+
171+
private boolean paramRequiresPathParserRuntime(ParameterModel parameterModel) {
172+
return paramIsOperationalContextParam(parameterModel) &&
173+
"stringarray".equals(parameterModel.getType().toLowerCase(Locale.US));
174+
}
175+
176+
//TODO (string-array-params): resolve this logical test before finalizing coding
177+
private boolean paramIsOperationalContextParam(ParameterModel parameterModel) {
178+
return true;
179+
}
152180
}

0 commit comments

Comments
 (0)