Skip to content

Commit af11920

Browse files
Merge pull request #2669 from aws/staging/bff0d2e6-7d81-40ef-930c-807c252cf1e5
Pull request: release <- staging/bff0d2e6-7d81-40ef-930c-807c252cf1e5
2 parents e0fcbf5 + d8866ad commit af11920

File tree

437 files changed

+1037
-1445
lines changed

Some content is hidden

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

437 files changed

+1037
-1445
lines changed

.all-contributorsrc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -841,6 +841,15 @@
841841
"contributions": [
842842
"code"
843843
]
844+
},
845+
{
846+
"login": "chadlwilson",
847+
"name": "Chad Wilson",
848+
"avatar_url": "https://avatars.githubusercontent.com/u/29788154?v=4",
849+
"profile": "https://www.buymeacoffee.com/chadwilson",
850+
"contributions": [
851+
"code"
852+
]
844853
}
845854
],
846855
"contributorsPerLine": 7,

.changes/2.20.132.json

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
{
2+
"version": "2.20.132",
3+
"date": "2023-08-22",
4+
"entries": [
5+
{
6+
"type": "bugfix",
7+
"category": "AWS SDK for Java v2 - DynamoDb Enhanced",
8+
"contributor": "",
9+
"description": "Changes the default behavior of the DynamoDb Enhanced atomic counter extension to automatically filter out any counter attributes in the item to be updated. This allows users to read and update items without DynamoDb collision errors."
10+
},
11+
{
12+
"type": "feature",
13+
"category": "AWS Cost Explorer Service",
14+
"contributor": "",
15+
"description": "This release adds the LastUpdatedDate and LastUsedDate timestamps to help you manage your cost allocation tags."
16+
},
17+
{
18+
"type": "feature",
19+
"category": "AWS Global Accelerator",
20+
"contributor": "",
21+
"description": "Global Accelerator now supports Client Ip Preservation for Network Load Balancer endpoints."
22+
},
23+
{
24+
"type": "feature",
25+
"category": "Amazon Relational Database Service",
26+
"contributor": "",
27+
"description": "Adding parameters to CreateCustomDbEngineVersion reserved for future use."
28+
},
29+
{
30+
"type": "feature",
31+
"category": "Amazon Verified Permissions",
32+
"contributor": "",
33+
"description": "Documentation updates for Amazon Verified Permissions. Increases max results per page for ListPolicyStores, ListPolicies, and ListPolicyTemplates APIs from 20 to 50."
34+
},
35+
{
36+
"type": "feature",
37+
"category": "AWS SDK for Java v2",
38+
"contributor": "",
39+
"description": "Updated endpoint and partition metadata."
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.132__ __2023-08-22__
2+
## __AWS Cost Explorer Service__
3+
- ### Features
4+
- This release adds the LastUpdatedDate and LastUsedDate timestamps to help you manage your cost allocation tags.
5+
6+
## __AWS Global Accelerator__
7+
- ### Features
8+
- Global Accelerator now supports Client Ip Preservation for Network Load Balancer endpoints.
9+
10+
## __AWS SDK for Java v2__
11+
- ### Features
12+
- Updated endpoint and partition metadata.
13+
14+
## __AWS SDK for Java v2 - DynamoDb Enhanced__
15+
- ### Bugfixes
16+
- Changes the default behavior of the DynamoDb Enhanced atomic counter extension to automatically filter out any counter attributes in the item to be updated. This allows users to read and update items without DynamoDb collision errors.
17+
18+
## __Amazon Relational Database Service__
19+
- ### Features
20+
- Adding parameters to CreateCustomDbEngineVersion reserved for future use.
21+
22+
## __Amazon Verified Permissions__
23+
- ### Features
24+
- Documentation updates for Amazon Verified Permissions. Increases max results per page for ListPolicyStores, ListPolicies, and ListPolicyTemplates APIs from 20 to 50.
25+
126
# __2.20.131__ __2023-08-21__
227
## __AWS Cloud9__
328
- ### Features

README.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
[![Gitter](https://badges.gitter.im/aws/aws-sdk-java-v2.svg)](https://gitter.im/aws/aws-sdk-java-v2?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
55
[![codecov](https://codecov.io/gh/aws/aws-sdk-java-v2/branch/master/graph/badge.svg)](https://codecov.io/gh/aws/aws-sdk-java-v2)
66
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
7-
[![All Contributors](https://img.shields.io/badge/all_contributors-93-orange.svg?style=flat-square)](#contributors-)
7+
[![All Contributors](https://img.shields.io/badge/all_contributors-94-orange.svg?style=flat-square)](#contributors-)
88
<!-- ALL-CONTRIBUTORS-BADGE:END -->
99

1010
The **AWS SDK for Java 2.0** is a rewrite of 1.0 with some great new features. As with version 1.0,
@@ -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.131</version>
55+
<version>2.20.132</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.131</version>
89+
<version>2.20.132</version>
9090
</dependency>
9191
<dependency>
9292
<groupId>software.amazon.awssdk</groupId>
9393
<artifactId>s3</artifactId>
94-
<version>2.20.131</version>
94+
<version>2.20.132</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.131</version>
106+
<version>2.20.132</version>
107107
</dependency>
108108
```
109109

@@ -311,6 +311,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
311311
<tr>
312312
<td align="center" valign="top" width="14.28%"><a href="http://applin.ca"><img src="https://avatars.githubusercontent.com/u/16511950?v=4?s=100" width="100px;" alt="Olivier L Applin"/><br /><sub><b>Olivier L Applin</b></sub></a><br /><a href="https://github.com/aws/aws-sdk-java-v2/commits?author=L-Applin" title="Code">💻</a></td>
313313
<td align="center" valign="top" width="14.28%"><a href="https://github.com/breader124"><img src="https://avatars.githubusercontent.com/u/36669019?v=4?s=100" width="100px;" alt="Adrian Chlebosz"/><br /><sub><b>Adrian Chlebosz</b></sub></a><br /><a href="https://github.com/aws/aws-sdk-java-v2/commits?author=breader124" title="Code">💻</a></td>
314+
<td align="center" valign="top" width="14.28%"><a href="https://www.buymeacoffee.com/chadwilson"><img src="https://avatars.githubusercontent.com/u/29788154?v=4?s=100" width="100px;" alt="Chad Wilson"/><br /><sub><b>Chad Wilson</b></sub></a><br /><a href="https://github.com/aws/aws-sdk-java-v2/commits?author=chadlwilson" title="Code">💻</a></td>
314315
</tr>
315316
</tbody>
316317
</table>

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

core/annotations/pom.xml

Lines changed: 1 addition & 1 deletion
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.20.131</version>
23+
<version>2.20.132</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626

core/arns/pom.xml

Lines changed: 1 addition & 1 deletion
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.20.131</version>
23+
<version>2.20.132</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626

core/arns/src/main/java/software/amazon/awssdk/arns/ArnResource.java

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -91,34 +91,30 @@ public static Builder builder() {
9191
* @return {@link ArnResource}
9292
*/
9393
public static ArnResource fromString(String resource) {
94-
Character splitter = StringUtils.findFirstOccurrence(resource, ':', '/');
94+
Character primarySplitter = StringUtils.findFirstOccurrence(resource, ':', '/');
9595

96-
if (splitter == null) {
97-
return ArnResource.builder().resource(resource).build();
96+
if (primarySplitter == null) {
97+
return builder().resource(resource).build();
9898
}
9999

100-
int resourceTypeColonIndex = resource.indexOf(splitter);
100+
int resourceTypeIndex = resource.indexOf(primarySplitter);
101+
ArnResource.Builder builder = builder().resourceType(resource.substring(0, resourceTypeIndex));
101102

102-
ArnResource.Builder builder = ArnResource.builder().resourceType(resource.substring(0, resourceTypeColonIndex));
103-
int resourceColonIndex = resource.indexOf(splitter, resourceTypeColonIndex);
104-
int qualifierColonIndex = resource.indexOf(splitter, resourceColonIndex + 1);
105-
if (qualifierColonIndex < 0) {
106-
builder.resource(resource.substring(resourceTypeColonIndex + 1));
103+
String remainingResource = resource.substring(resourceTypeIndex + 1);
104+
int qualifierColonIndex = remainingResource.lastIndexOf(':');
105+
if (qualifierColonIndex < 1) {
106+
builder.resource(remainingResource);
107107
} else {
108-
builder.resource(resource.substring(resourceTypeColonIndex + 1, qualifierColonIndex));
109-
builder.qualifier(resource.substring(qualifierColonIndex + 1));
108+
builder.resource(remainingResource.substring(0, qualifierColonIndex));
109+
builder.qualifier(remainingResource.substring(qualifierColonIndex + 1));
110110
}
111111

112112
return builder.build();
113113
}
114114

115115
@Override
116116
public String toString() {
117-
return this.resourceType
118-
+ ":"
119-
+ this.resource
120-
+ ":"
121-
+ this.qualifier;
117+
return String.join(":", this.resourceType, this.resource, this.qualifier);
122118
}
123119

124120
@Override

core/arns/src/test/java/software/amazon/awssdk/arns/ArnResourceTest.java

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,16 @@
1515

1616
package software.amazon.awssdk.arns;
1717

18-
1918
import static org.assertj.core.api.Assertions.assertThat;
2019
import static org.assertj.core.api.Assertions.assertThatThrownBy;
2120

21+
import java.util.Arrays;
22+
import java.util.List;
2223
import java.util.Optional;
2324
import org.junit.jupiter.api.Test;
25+
import org.junit.jupiter.params.ParameterizedTest;
26+
import org.junit.jupiter.params.provider.Arguments;
27+
import org.junit.jupiter.params.provider.MethodSource;
2428

2529
public class ArnResourceTest {
2630

@@ -64,4 +68,34 @@ public void hashCodeEquals_minimalProperties() {
6468
assertThat(arnResource.equals(anotherResource)).isTrue();
6569
assertThat(arnResource.hashCode()).isEqualTo(anotherResource.hashCode());
6670
}
71+
72+
@ParameterizedTest
73+
@MethodSource("resources")
74+
void arnResource_ParsesCorrectly(String resource, ArnResource expected) {
75+
ArnResource arnResource = ArnResource.fromString(resource);
76+
77+
assertThat(arnResource.resourceType()).isEqualTo(expected.resourceType());
78+
assertThat(arnResource.resource()).isEqualTo(expected.resource());
79+
assertThat(arnResource.qualifier()).isEqualTo(expected.qualifier());
80+
}
81+
82+
private static List<Arguments> resources() {
83+
return Arrays.asList(
84+
Arguments.of("myresource", ArnResource.builder().resource("myresource").build()),
85+
Arguments.of("alias/foo/bar", ArnResource.builder().resourceType("alias").resource("foo/bar").build()),
86+
Arguments.of("alias//", ArnResource.builder().resourceType("alias").resource("/").build()),
87+
Arguments.of("alias//a", ArnResource.builder().resourceType("alias").resource("/a").build()),
88+
Arguments.of("alias///a", ArnResource.builder().resourceType("alias").resource("//a").build()),
89+
Arguments.of("alias///a/b", ArnResource.builder().resourceType("alias").resource("//a/b").build()),
90+
Arguments.of("alias/foo", ArnResource.builder().resourceType("alias").resource("foo").build()),
91+
Arguments.of("alias/foo:quali", ArnResource.builder().resourceType("alias").resource("foo").qualifier("quali").build()),
92+
Arguments.of("alias/foo:bar:quali", ArnResource.builder().resourceType("alias").resource("foo:bar").qualifier("quali").build()),
93+
Arguments.of("alias:foo", ArnResource.builder().resourceType("alias").resource("foo").build()),
94+
Arguments.of("alias:foo.bar", ArnResource.builder().resourceType("alias").resource("foo.bar").build()),
95+
Arguments.of("alias:foo/bar", ArnResource.builder().resourceType("alias").resource("foo/bar").build()),
96+
Arguments.of("alias:foo/bar/baz", ArnResource.builder().resourceType("alias").resource("foo/bar/baz").build()),
97+
Arguments.of("alias:foo:quali", ArnResource.builder().resourceType("alias").resource("foo").qualifier("quali").build()),
98+
Arguments.of("alias:foo:bar:quali", ArnResource.builder().resourceType("alias").resource("foo:bar").qualifier("quali").build())
99+
);
100+
}
67101
}

0 commit comments

Comments
 (0)