Skip to content

Commit 1e1918a

Browse files
Merge pull request #2612 from aws/staging/9ff17ed4-ef6b-49f6-a747-55a0b897ee00
Pull request: release <- staging/9ff17ed4-ef6b-49f6-a747-55a0b897ee00
2 parents 74ff0ba + d30527f commit 1e1918a

File tree

515 files changed

+5665
-2022
lines changed

Some content is hidden

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

515 files changed

+5665
-2022
lines changed

.changes/2.20.99.json

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
{
2+
"version": "2.20.99",
3+
"date": "2023-07-05",
4+
"entries": [
5+
{
6+
"type": "feature",
7+
"category": "AWS Comprehend Medical",
8+
"contributor": "",
9+
"description": "Update to Amazon Comprehend Medical documentation."
10+
},
11+
{
12+
"type": "feature",
13+
"category": "AWS Key Management Service",
14+
"contributor": "",
15+
"description": "Added Dry Run Feature to cryptographic and cross-account mutating KMS APIs (14 in all). This feature allows users to test their permissions and parameters before making the actual API call."
16+
},
17+
{
18+
"type": "feature",
19+
"category": "AWS SDK for Java v2",
20+
"contributor": "",
21+
"description": "Cross region bucket access for S3 Client. This feature will allow users to access buckets of different region using a single cross region configured client."
22+
},
23+
{
24+
"type": "feature",
25+
"category": "AWS SecurityHub",
26+
"contributor": "",
27+
"description": "Documentation updates for AWS Security Hub"
28+
},
29+
{
30+
"type": "feature",
31+
"category": "Amazon Connect Service",
32+
"contributor": "",
33+
"description": "GetMetricDataV2 API: Channels filters do not count towards overall limitation of 100 filter values."
34+
},
35+
{
36+
"type": "feature",
37+
"category": "Application Migration Service",
38+
"contributor": "",
39+
"description": "This release introduces the Global view feature and new Replication state APIs."
40+
}
41+
]
42+
}

CHANGELOG.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,28 @@
1+
# __2.20.99__ __2023-07-05__
2+
## __AWS Comprehend Medical__
3+
- ### Features
4+
- Update to Amazon Comprehend Medical documentation.
5+
6+
## __AWS Key Management Service__
7+
- ### Features
8+
- Added Dry Run Feature to cryptographic and cross-account mutating KMS APIs (14 in all). This feature allows users to test their permissions and parameters before making the actual API call.
9+
10+
## __AWS SDK for Java v2__
11+
- ### Features
12+
- Cross region bucket access for S3 Client. This feature will allow users to access buckets of different region using a single cross region configured client.
13+
14+
## __AWS SecurityHub__
15+
- ### Features
16+
- Documentation updates for AWS Security Hub
17+
18+
## __Amazon Connect Service__
19+
- ### Features
20+
- GetMetricDataV2 API: Channels filters do not count towards overall limitation of 100 filter values.
21+
22+
## __Application Migration Service__
23+
- ### Features
24+
- This release introduces the Global view feature and new Replication state APIs.
25+
126
# __2.20.98__ __2023-07-03__
227
## __AWS Batch__
328
- ### 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.20.98</version>
55+
<version>2.20.99</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.98</version>
89+
<version>2.20.99</version>
9090
</dependency>
9191
<dependency>
9292
<groupId>software.amazon.awssdk</groupId>
9393
<artifactId>s3</artifactId>
94-
<version>2.20.98</version>
94+
<version>2.20.99</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.98</version>
106+
<version>2.20.99</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.98</version>
23+
<version>2.20.99</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.98</version>
23+
<version>2.20.99</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.98</version>
23+
<version>2.20.99</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.98</version>
23+
<version>2.20.99</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.98</version>
20+
<version>2.20.99</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.98</version>
23+
<version>2.20.99</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.98</version>
20+
<version>2.20.99</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.98</version>
24+
<version>2.20.99</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.98</version>
25+
<version>2.20.99</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.98</version>
24+
<version>2.20.99</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.98</version>
25+
<version>2.20.99</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.98</version>
24+
<version>2.20.99</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/CommonGeneratorTasks.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,6 @@ class CommonGeneratorTasks extends CompositeGeneratorTask {
2828
new ModelClassGeneratorTasks(params),
2929
new PackageInfoGeneratorTasks(params),
3030
new BaseExceptionClassGeneratorTasks(params),
31-
new ClientOptionsClassGeneratorTasks(params));
31+
new CommonInternalGeneratorTasks(params));
3232
}
3333
}
Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,26 +15,35 @@
1515

1616
package software.amazon.awssdk.codegen.emitters.tasks;
1717

18-
import java.util.Collections;
18+
import java.util.Arrays;
1919
import java.util.List;
2020
import software.amazon.awssdk.codegen.emitters.GeneratorTask;
2121
import software.amazon.awssdk.codegen.emitters.GeneratorTaskParams;
2222
import software.amazon.awssdk.codegen.emitters.PoetGeneratorTask;
2323
import software.amazon.awssdk.codegen.poet.client.SdkClientOptions;
24+
import software.amazon.awssdk.codegen.poet.common.UserAgentUtilsSpec;
2425

25-
public class ClientOptionsClassGeneratorTasks extends BaseGeneratorTasks {
26+
public class CommonInternalGeneratorTasks extends BaseGeneratorTasks {
2627
private final GeneratorTaskParams params;
2728

28-
public ClientOptionsClassGeneratorTasks(GeneratorTaskParams params) {
29+
public CommonInternalGeneratorTasks(GeneratorTaskParams params) {
2930
super(params);
3031
this.params = params;
3132
}
3233

3334
@Override
3435
protected List<GeneratorTask> createTasks() throws Exception {
35-
return Collections.singletonList(
36-
new PoetGeneratorTask(clientOptionsDir(), params.getModel().getFileHeader(), new SdkClientOptions(params.getModel()))
37-
);
36+
return Arrays.asList(createClientOptionTask(), createUserAgentTask());
37+
}
38+
39+
private PoetGeneratorTask createClientOptionTask() {
40+
return new PoetGeneratorTask(clientOptionsDir(), params.getModel().getFileHeader(),
41+
new SdkClientOptions(params.getModel()));
42+
}
43+
44+
private PoetGeneratorTask createUserAgentTask() {
45+
return new PoetGeneratorTask(clientOptionsDir(), params.getModel().getFileHeader(),
46+
new UserAgentUtilsSpec(params.getModel()));
3847
}
3948

4049
private String clientOptionsDir() {

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

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import java.util.HashMap;
2020
import java.util.List;
2121
import java.util.Map;
22+
import software.amazon.awssdk.codegen.model.service.ClientContextParam;
2223
import software.amazon.awssdk.core.retry.RetryMode;
2324
import software.amazon.awssdk.core.traits.PayloadTrait;
2425
import software.amazon.awssdk.utils.AttributeMap;
@@ -212,6 +213,20 @@ public class CustomizationConfig {
212213
*/
213214
private boolean delegateSyncClientClass;
214215

216+
/**
217+
* Fully qualified name of a class that given the default sync client instance can return the final client instance,
218+
* for instance by decorating the client with specific-purpose implementations of the client interface.
219+
* See S3 customization.config for an example.
220+
*/
221+
private String syncClientDecorator;
222+
223+
/**
224+
* Fully qualified name of a class that given the default async client instance can return the final client instance,
225+
* for instance by decorating the client with specific-purpose implementations of the client interface.
226+
* See S3 customization.config for an example.
227+
*/
228+
private String asyncClientDecorator;
229+
215230
/**
216231
* Whether to skip generating endpoint tests from endpoint-tests.json
217232
*/
@@ -236,6 +251,11 @@ public class CustomizationConfig {
236251
*/
237252
private boolean requiredTraitValidationEnabled = false;
238253

254+
/**
255+
* Customization to attach map of Custom client param configs that can be set on a client builder.
256+
*/
257+
private Map<String, ClientContextParam> customClientContextParams;
258+
239259
private CustomizationConfig() {
240260
}
241261

@@ -566,6 +586,22 @@ public void setDelegateAsyncClientClass(boolean delegateAsyncClientClass) {
566586
this.delegateAsyncClientClass = delegateAsyncClientClass;
567587
}
568588

589+
public String getSyncClientDecorator() {
590+
return syncClientDecorator;
591+
}
592+
593+
public void setSyncClientDecorator(String syncClientDecorator) {
594+
this.syncClientDecorator = syncClientDecorator;
595+
}
596+
597+
public String getAsyncClientDecorator() {
598+
return asyncClientDecorator;
599+
}
600+
601+
public void setAsyncClientDecorator(String asyncClientDecorator) {
602+
this.asyncClientDecorator = asyncClientDecorator;
603+
}
604+
569605
public boolean isDelegateSyncClientClass() {
570606
return delegateSyncClientClass;
571607
}
@@ -621,4 +657,12 @@ public boolean isRequiredTraitValidationEnabled() {
621657
public void setRequiredTraitValidationEnabled(boolean requiredTraitValidationEnabled) {
622658
this.requiredTraitValidationEnabled = requiredTraitValidationEnabled;
623659
}
660+
661+
public Map<String, ClientContextParam> getCustomClientContextParams() {
662+
return customClientContextParams;
663+
}
664+
665+
public void setCustomClientContextParams(Map<String, ClientContextParam> customClientContextParams) {
666+
this.customClientContextParams = customClientContextParams;
667+
}
624668
}

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ public class ServiceConfig {
4747

4848
private boolean hasAccelerateModeEnabledProperty = false;
4949

50+
private boolean hasCrossRegionAccessEnabledProperty = false;
51+
5052
public String getClassName() {
5153
return className;
5254
}
@@ -95,6 +97,14 @@ public void setHasPathStyleAccessEnabledProperty(boolean hasPathStyleAccessEnabl
9597
this.hasPathStyleAccessEnabledProperty = hasPathStyleAccessEnabledProperty;
9698
}
9799

100+
public boolean hasCrossRegionAccessEnabledProperty() {
101+
return hasCrossRegionAccessEnabledProperty;
102+
}
103+
104+
public void setHasCrossRegionAccessEnabledProperty(boolean hasCrossRegionAccessEnabledProperty) {
105+
this.hasCrossRegionAccessEnabledProperty = hasCrossRegionAccessEnabledProperty;
106+
}
107+
98108
public boolean hasAccelerateModeEnabledProperty() {
99109
return hasAccelerateModeEnabledProperty;
100110
}

codegen/src/main/java/software/amazon/awssdk/codegen/model/intermediate/IntermediateModel.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,21 @@ public String getSdkResponseBaseClassName() {
235235
}
236236
}
237237

238+
public Optional<String> syncClientDecoratorClassName() {
239+
if (customizationConfig.getSyncClientDecorator() != null) {
240+
return Optional.of(customizationConfig.getSyncClientDecorator());
241+
}
242+
return Optional.empty();
243+
}
244+
245+
public Optional<String> asyncClientDecoratorClassName() {
246+
String asyncClientDecorator = customizationConfig.getAsyncClientDecorator();
247+
if (customizationConfig.getAsyncClientDecorator() != null) {
248+
return Optional.of(asyncClientDecorator);
249+
}
250+
return Optional.empty();
251+
}
252+
238253
public String getFileHeader() {
239254
return FILE_HEADER;
240255
}

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,10 @@ public ClassName getServiceConfigClass() {
7373
+ model.getMetadata().getServiceName() + "ServiceClientConfiguration");
7474
}
7575

76+
public ClassName getUserAgentClass() {
77+
return ClassName.get(model.getMetadata().getFullClientInternalPackageName(), "UserAgentUtils");
78+
}
79+
7680
/**
7781
* @param operationName Name of the operation
7882
* @return A Poet {@link ClassName} for the response type of a paginated operation in the base service package.

0 commit comments

Comments
 (0)