Skip to content

Commit d00942b

Browse files
Merge pull request #2958 from aws/staging/6908b666-368a-466a-b97b-28a68fa6d016
Pull request: release <- staging/6908b666-368a-466a-b97b-28a68fa6d016
2 parents 3d7e736 + 0d6bf77 commit d00942b

File tree

471 files changed

+730
-503
lines changed

Some content is hidden

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

471 files changed

+730
-503
lines changed

.changes/2.25.28.json

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
{
2+
"version": "2.25.28",
3+
"date": "2024-04-09",
4+
"entries": [
5+
{
6+
"type": "feature",
7+
"category": "AWS CodeBuild",
8+
"contributor": "",
9+
"description": "Add new webhook filter types for GitHub webhooks"
10+
},
11+
{
12+
"type": "feature",
13+
"category": "AWS Elemental MediaConvert",
14+
"contributor": "",
15+
"description": "This release includes support for bringing your own fonts to use for burn-in or DVB-Sub captioning workflows."
16+
},
17+
{
18+
"type": "feature",
19+
"category": "Amazon Pinpoint",
20+
"contributor": "",
21+
"description": "The OrchestrationSendingRoleArn has been added to the email channel and is used to send emails from campaigns or journeys."
22+
},
23+
{
24+
"type": "feature",
25+
"category": "Amazon Relational Database Service",
26+
"contributor": "",
27+
"description": "This release adds support for specifying the CA certificate to use for the new db instance when restoring from db snapshot, restoring from s3, restoring to point in time, and creating a db instance read replica."
28+
},
29+
{
30+
"type": "feature",
31+
"category": "AWS SDK for Java v2",
32+
"contributor": "",
33+
"description": "Updated endpoint and partition metadata."
34+
}
35+
]
36+
}

CHANGELOG.md

+21
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,25 @@
11
#### 👋 _Looking for changelogs for older versions? You can find them in the [changelogs](./changelogs) directory._
2+
# __2.25.28__ __2024-04-09__
3+
## __AWS CodeBuild__
4+
- ### Features
5+
- Add new webhook filter types for GitHub webhooks
6+
7+
## __AWS Elemental MediaConvert__
8+
- ### Features
9+
- This release includes support for bringing your own fonts to use for burn-in or DVB-Sub captioning workflows.
10+
11+
## __AWS SDK for Java v2__
12+
- ### Features
13+
- Updated endpoint and partition metadata.
14+
15+
## __Amazon Pinpoint__
16+
- ### Features
17+
- The OrchestrationSendingRoleArn has been added to the email channel and is used to send emails from campaigns or journeys.
18+
19+
## __Amazon Relational Database Service__
20+
- ### Features
21+
- This release adds support for specifying the CA certificate to use for the new db instance when restoring from db snapshot, restoring from s3, restoring to point in time, and creating a db instance read replica.
22+
223
# __2.25.27__ __2024-04-08__
324
## __AWS Control Catalog__
425
- ### Features

README.md

+4-4
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.27</version>
55+
<version>2.25.28</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.27</version>
89+
<version>2.25.28</version>
9090
</dependency>
9191
<dependency>
9292
<groupId>software.amazon.awssdk</groupId>
9393
<artifactId>s3</artifactId>
94-
<version>2.25.27</version>
94+
<version>2.25.28</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.27</version>
106+
<version>2.25.28</version>
107107
</dependency>
108108
```
109109

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.25.27</version>
23+
<version>2.25.28</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626

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

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.25.27</version>
23+
<version>2.25.28</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626

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

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

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.25.27</version>
23+
<version>2.25.28</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626

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

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

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

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

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

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

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

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

core/annotations/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<parent>
2121
<artifactId>core</artifactId>
2222
<groupId>software.amazon.awssdk</groupId>
23-
<version>2.25.27</version>
23+
<version>2.25.28</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626

core/arns/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<parent>
2121
<artifactId>core</artifactId>
2222
<groupId>software.amazon.awssdk</groupId>
23-
<version>2.25.27</version>
23+
<version>2.25.28</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626

core/auth-crt/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>core</artifactId>
25-
<version>2.25.27</version>
25+
<version>2.25.28</version>
2626
</parent>
2727

2828
<artifactId>auth-crt</artifactId>

core/auth/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>core</artifactId>
25-
<version>2.25.27</version>
25+
<version>2.25.28</version>
2626
</parent>
2727

2828
<artifactId>auth</artifactId>

core/auth/src/main/java/software/amazon/awssdk/auth/credentials/ProcessCredentialsProvider.java

+41-15
Original file line numberDiff line numberDiff line change
@@ -77,30 +77,19 @@ public final class ProcessCredentialsProvider
7777

7878
private final String commandFromBuilder;
7979

80+
private final List<String> commandAsListOfStringsFromBuilder;
81+
8082
private final Boolean asyncCredentialUpdateEnabled;
8183

8284
/**
8385
* @see #builder()
8486
*/
8587
private ProcessCredentialsProvider(Builder builder) {
86-
List<String> cmd = new ArrayList<>();
87-
88-
if (Platform.isWindows()) {
89-
cmd.add("cmd.exe");
90-
cmd.add("/C");
91-
} else {
92-
cmd.add("sh");
93-
cmd.add("-c");
94-
}
95-
96-
String builderCommand = Validate.paramNotNull(builder.command, "command");
97-
98-
cmd.add(builderCommand);
99-
100-
this.executableCommand = Collections.unmodifiableList(cmd);
88+
this.executableCommand = executableCommand(builder);
10189
this.processOutputLimit = Validate.isPositive(builder.processOutputLimit, "processOutputLimit");
10290
this.credentialRefreshThreshold = Validate.isPositive(builder.credentialRefreshThreshold, "expirationBuffer");
10391
this.commandFromBuilder = builder.command;
92+
this.commandAsListOfStringsFromBuilder = builder.commandAsListOfStrings;
10493
this.asyncCredentialUpdateEnabled = builder.asyncCredentialUpdateEnabled;
10594

10695
CachedSupplier.Builder<AwsCredentials> cacheBuilder = CachedSupplier.builder(this::refreshCredentials)
@@ -112,6 +101,26 @@ private ProcessCredentialsProvider(Builder builder) {
112101
this.processCredentialCache = cacheBuilder.build();
113102
}
114103

104+
private List<String> executableCommand(Builder builder) {
105+
if (builder.commandAsListOfStrings != null) {
106+
return Collections.unmodifiableList(builder.commandAsListOfStrings);
107+
} else {
108+
List<String> cmd = new ArrayList<>();
109+
110+
if (Platform.isWindows()) {
111+
cmd.add("cmd.exe");
112+
cmd.add("/C");
113+
} else {
114+
cmd.add("sh");
115+
cmd.add("-c");
116+
}
117+
118+
String builderCommand = Validate.paramNotNull(builder.command, "command");
119+
cmd.add(builderCommand);
120+
return Collections.unmodifiableList(cmd);
121+
}
122+
}
123+
115124
/**
116125
* Retrieve a new builder that can be used to create and configure a {@link ProcessCredentialsProvider}.
117126
*/
@@ -249,6 +258,7 @@ public Builder toBuilder() {
249258
public static class Builder implements CopyableBuilder<Builder, ProcessCredentialsProvider> {
250259
private Boolean asyncCredentialUpdateEnabled = false;
251260
private String command;
261+
private List<String> commandAsListOfStrings;
252262
private Duration credentialRefreshThreshold = Duration.ofSeconds(15);
253263
private long processOutputLimit = 64000;
254264

@@ -261,6 +271,7 @@ private Builder() {
261271
private Builder(ProcessCredentialsProvider provider) {
262272
this.asyncCredentialUpdateEnabled = provider.asyncCredentialUpdateEnabled;
263273
this.command = provider.commandFromBuilder;
274+
this.commandAsListOfStrings = provider.commandAsListOfStringsFromBuilder;
264275
this.credentialRefreshThreshold = provider.credentialRefreshThreshold;
265276
this.processOutputLimit = provider.processOutputLimit;
266277
}
@@ -280,12 +291,27 @@ public Builder asyncCredentialUpdateEnabled(Boolean asyncCredentialUpdateEnabled
280291

281292
/**
282293
* Configure the command that should be executed to retrieve credentials.
294+
* See {@link ProcessBuilder} for details on how this command is used.
295+
*
296+
* @deprecated The recommended approach is to specify the command as a list of Strings, using {@link #command(List)}
297+
* instead, which makes it easier to programmatically add parameters to commands without needing to escape those
298+
* parameters to protect against command injection.
283299
*/
300+
@Deprecated
284301
public Builder command(String command) {
285302
this.command = command;
286303
return this;
287304
}
288305

306+
/**
307+
* Configure the command that should be executed to retrieve credentials, as a list of strings.
308+
* See {@link ProcessBuilder} for details on how this command is used.
309+
*/
310+
public Builder command(List<String> commandAsListOfStrings) {
311+
this.commandAsListOfStrings = commandAsListOfStrings;
312+
return this;
313+
}
314+
289315
/**
290316
* Configure the amount of time between when the credentials expire and when the credentials should start to be
291317
* refreshed. This allows the credentials to be refreshed *before* they are reported to expire.

0 commit comments

Comments
 (0)