Skip to content

Commit f4e2b72

Browse files
authored
Merge pull request #399 from aws/staging/af22de82-0b36-4baf-8188-a4af27780aca
Pull request: release <- staging/af22de82-0b36-4baf-8188-a4af27780aca
2 parents d3cb32e + 9e533f5 commit f4e2b72

File tree

402 files changed

+4640
-1980
lines changed

Some content is hidden

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

402 files changed

+4640
-1980
lines changed

.changes/2.4.0.json

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
{
2+
"date": "2019-02-04",
3+
"version": "2.4.0",
4+
"entries": [
5+
{
6+
"category": "Amazon WorkSpaces",
7+
"type": "feature",
8+
"description": "This release sets ClientProperties as a required parameter."
9+
},
10+
{
11+
"category": "AWS SDK for Java v2",
12+
"type": "feature",
13+
"description": "Updated service endpoint metadata."
14+
},
15+
{
16+
"category": "AWS SDK for Java v2",
17+
"type": "feature",
18+
"description": "Add support for `connectionTimeToLive`, `connectionMaxIdleTime` and `useIdleConnectionReaper` to the netty HTTP client."
19+
},
20+
{
21+
"category": "AWS SDK for Java v2",
22+
"type": "feature",
23+
"description": "Enable `useIdleConnectionReaper` by default for Netty and Apache."
24+
},
25+
{
26+
"category": "AWS SDK for Java v2",
27+
"type": "bugfix",
28+
"description": "Reduced netty client logging noise, by logging at a DEBUG level (instead of WARN) when encountering IO errors on channels not currently in use and not logging the whole stack trace."
29+
},
30+
{
31+
"category": "Amazon EC2 Container Service",
32+
"type": "feature",
33+
"description": "This release of Amazon Elastic Container Service (Amazon ECS) introduces support for GPU workloads by enabling you to create clusters with GPU-enabled container instances."
34+
},
35+
{
36+
"category": "Netty NIO HTTP Client",
37+
"type": "feature",
38+
"description": "Allows customers to enable wire logging with the Netty client at debug level."
39+
},
40+
{
41+
"category": "AWS SDK for Java v2",
42+
"type": "bugfix",
43+
"description": "Added a new handler ([#1041](https://github.com/aws/aws-sdk-java-v2/issues/1041)) to close channels which have triggered an SslCloseCompletionEvent and are no longer usable per [#452](https://github.com/aws/aws-sdk-java-v2/issues/452)."
44+
},
45+
{
46+
"category": "AWS CodeCommit",
47+
"type": "feature",
48+
"description": "This release supports a more graceful handling of the error case when a repository is not associated with a pull request ID in a merge request in AWS CodeCommit."
49+
},
50+
{
51+
"category": "AWS SDK for Java v2",
52+
"type": "bugfix",
53+
"description": "Removed broken client methods: `BackupClient#getSupportedResourceTypes()` and `PinpointSmsVoiceClient.listConfigurationSets()`."
54+
},
55+
{
56+
"category": "Application Auto Scaling",
57+
"type": "feature",
58+
"description": "Documentation updates for application-autoscaling"
59+
},
60+
{
61+
"category": "AWS SDK for Java v2",
62+
"type": "bugfix",
63+
"description": "Fix the deadlock issue in `EventStreamAsyncResponseTransformer` for event streaming operations triggered in an edge case where customer subscriber signals `Subscription#request` the same time as `SdkPublisher` signals `Subscriber#onComplete`"
64+
}
65+
]
66+
}

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
- [ ] I have added tests to cover my changes
3232
- [ ] All new and existing tests passed
3333
- [ ] A short description of the change has been added to the **CHANGELOG**
34-
- [ ] My change is to implement 1.11 parity feature and I have updated [LaunchChangelog](../docs/LaunchChangelog.md)
34+
- [ ] My change is to implement 1.11 parity feature and I have updated [LaunchChangelog](https://github.com/aws/aws-sdk-java-v2/blob/master/docs/LaunchChangelog.md)
3535

3636
## License
3737
<!--- The SDK is released under the Apache 2.0 license (http://aws.amazon.com/apache2.0/), so any code you submit will be released under that license -->

CHANGELOG.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,36 @@
1+
# __2.4.0__ __2019-02-04__
2+
## __AWS CodeCommit__
3+
- ### Features
4+
- This release supports a more graceful handling of the error case when a repository is not associated with a pull request ID in a merge request in AWS CodeCommit.
5+
6+
## __AWS SDK for Java v2__
7+
- ### Features
8+
- Add support for `connectionTimeToLive`, `connectionMaxIdleTime` and `useIdleConnectionReaper` to the netty HTTP client.
9+
- Enable `useIdleConnectionReaper` by default for Netty and Apache.
10+
- Updated service endpoint metadata.
11+
12+
- ### Bugfixes
13+
- Added a new handler ([#1041](https://github.com/aws/aws-sdk-java-v2/issues/1041)) to close channels which have triggered an SslCloseCompletionEvent and are no longer usable per [#452](https://github.com/aws/aws-sdk-java-v2/issues/452).
14+
- Fix the deadlock issue in `EventStreamAsyncResponseTransformer` for event streaming operations triggered in an edge case where customer subscriber signals `Subscription#request` the same time as `SdkPublisher` signals `Subscriber#onComplete`
15+
- Reduced netty client logging noise, by logging at a DEBUG level (instead of WARN) when encountering IO errors on channels not currently in use and not logging the whole stack trace.
16+
- Removed broken client methods: `BackupClient#getSupportedResourceTypes()` and `PinpointSmsVoiceClient.listConfigurationSets()`.
17+
18+
## __Amazon EC2 Container Service__
19+
- ### Features
20+
- This release of Amazon Elastic Container Service (Amazon ECS) introduces support for GPU workloads by enabling you to create clusters with GPU-enabled container instances.
21+
22+
## __Amazon WorkSpaces__
23+
- ### Features
24+
- This release sets ClientProperties as a required parameter.
25+
26+
## __Application Auto Scaling__
27+
- ### Features
28+
- Documentation updates for application-autoscaling
29+
30+
## __Netty NIO HTTP Client__
31+
- ### Features
32+
- Allows customers to enable wire logging with the Netty client at debug level.
33+
134
# __2.3.9__ __2019-01-25__
235
## __AWS CodeCommit__
336
- ### Features

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ You can import the whole SDK into your project (includes all services) as follow
4444
<dependency>
4545
<groupId>software.amazon.awssdk</groupId>
4646
<artifactId>aws-sdk-java</artifactId>
47-
<version>2.3.9</version>
47+
<version>2.4.0</version>
4848
</dependency>
4949
```
5050

@@ -56,12 +56,12 @@ Alternatively you can add dependencies for the specific services you use only:
5656
<dependency>
5757
<groupId>software.amazon.awssdk</groupId>
5858
<artifactId>ec2</artifactId>
59-
<version>2.3.9</version>
59+
<version>2.4.0</version>
6060
</dependency>
6161
<dependency>
6262
<groupId>software.amazon.awssdk</groupId>
6363
<artifactId>s3</artifactId>
64-
<version>2.3.9</version>
64+
<version>2.4.0</version>
6565
</dependency>
6666
```
6767

@@ -75,7 +75,7 @@ To automatically manage module versions (currently all modules have the same ver
7575
<dependency>
7676
<groupId>software.amazon.awssdk</groupId>
7777
<artifactId>bom</artifactId>
78-
<version>2.3.9</version>
78+
<version>2.4.0</version>
7979
<type>pom</type>
8080
<scope>import</scope>
8181
</dependency>

aws-sdk-java/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>software.amazon.awssdk</groupId>
66
<artifactId>aws-sdk-java-pom</artifactId>
7-
<version>2.3.9</version>
7+
<version>2.4.0</version>
88
<relativePath>../pom.xml</relativePath>
99
</parent>
1010
<artifactId>aws-sdk-java</artifactId>

bom/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>software.amazon.awssdk</groupId>
66
<artifactId>aws-sdk-java-pom</artifactId>
7-
<version>2.3.9</version>
7+
<version>2.4.0</version>
88
<relativePath>../pom.xml</relativePath>
99
</parent>
1010
<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.3.9</version>
24+
<version>2.4.0</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
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>software.amazon.awssdk</groupId>
99
<artifactId>aws-sdk-java-pom</artifactId>
10-
<version>2.3.9</version>
10+
<version>2.4.0</version>
1111
<relativePath>../pom.xml</relativePath>
1212
</parent>
1313
<artifactId>codegen-lite-maven-plugin</artifactId>

codegen-lite/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>software.amazon.awssdk</groupId>
88
<artifactId>aws-sdk-java-pom</artifactId>
9-
<version>2.3.9</version>
9+
<version>2.4.0</version>
1010
</parent>
1111
<artifactId>codegen-lite</artifactId>
1212
<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.3.9</version>
25+
<version>2.4.0</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.3.9</version>
24+
<version>2.4.0</version>
2525
</parent>
2626
<artifactId>codegen</artifactId>
2727
<name>AWS Java SDK :: Code Generator</name>

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

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
import software.amazon.awssdk.codegen.model.service.ServiceModel;
4646
import software.amazon.awssdk.codegen.naming.DefaultNamingStrategy;
4747
import software.amazon.awssdk.codegen.naming.NamingStrategy;
48+
import software.amazon.awssdk.utils.CollectionUtils;
4849

4950
/**
5051
* Builds an intermediate model to be used by the templates from the service model and
@@ -247,24 +248,24 @@ private void linkAuthorizationToRequestShapeForAwsProtocol(AuthType authType, Sh
247248
}
248249

249250
private void setSimpleMethods(IntermediateModel model) {
250-
model.getOperations().entrySet().forEach(m -> {
251-
252-
ShapeModel inputShape = m.getValue().getInputShape();
253-
String methodName = m.getValue().getMethodName();
254-
CustomizationConfig config = model.getCustomizationConfig();
255-
256-
if (inputShape.getRequired() == null
257-
&& !config.getBlacklistedSimpleMethods().contains(methodName)
258-
&& !(config.getBlacklistedSimpleMethods().size() == 1 && config.getBlacklistedSimpleMethods().get(0).equals("*"))
259-
&& !m.getValue().hasStreamingInput()
260-
&& !m.getValue().hasStreamingOutput()) {
261-
262-
if (!methodName.matches(Constant.APPROVED_SIMPLE_METHOD_VERBS) &&
263-
!config.getVerifiedSimpleMethods().contains(methodName)) {
264-
// TODO: How do we prevent these from being missed before services launch?
265-
log.warn("Simple method encountered that is not approved or blacklisted: " + methodName);
266-
} else {
267-
inputShape.setSimpleMethod(true);
251+
CustomizationConfig config = model.getCustomizationConfig();
252+
model.getOperations().values().forEach(operation -> {
253+
ShapeModel inputShape = operation.getInputShape();
254+
String methodName = operation.getMethodName();
255+
256+
if (config.getVerifiedSimpleMethods().contains(methodName)) {
257+
inputShape.setSimpleMethod(true);
258+
} else {
259+
inputShape.setSimpleMethod(false);
260+
261+
boolean methodIsNotBlacklisted = !config.getBlacklistedSimpleMethods().contains(methodName) ||
262+
config.getBlacklistedSimpleMethods().stream().noneMatch(m -> m.equals("*"));
263+
boolean methodHasNoRequiredMembers = !CollectionUtils.isNullOrEmpty(inputShape.getRequired());
264+
boolean methodIsNotStreaming = !operation.isStreaming();
265+
boolean methodHasSimpleMethodVerb = methodName.matches(Constant.APPROVED_SIMPLE_METHOD_VERBS);
266+
267+
if (methodIsNotBlacklisted && methodHasNoRequiredMembers && methodIsNotStreaming && methodHasSimpleMethodVerb) {
268+
log.warn("A potential simple method exists that isn't whitelisted or blacklisted: " + methodName);
268269
}
269270
}
270271
});

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

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515

1616
package software.amazon.awssdk.codegen.model.intermediate;
1717

18-
import static software.amazon.awssdk.codegen.internal.Constant.APPROVED_SIMPLE_METHOD_VERBS;
19-
2018
import com.fasterxml.jackson.annotation.JsonCreator;
2119
import com.fasterxml.jackson.annotation.JsonIgnore;
2220
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -37,12 +35,6 @@
3735
import software.amazon.awssdk.utils.IoUtils;
3836

3937
public final class IntermediateModel {
40-
41-
/**
42-
* This is used for all service clients unless overridden in the Customizations file.
43-
*/
44-
private static final String DEFAULT_CLIENT_CONFIG_FACTORY = "LegacyClientConfigurationFactory";
45-
4638
private final Metadata metadata;
4739

4840
private final Map<String, OperationModel> operations;
@@ -203,8 +195,6 @@ private String getResponseMetadataClassName() {
203195
public List<OperationModel> simpleMethodsRequiringTesting() {
204196
return getOperations().values().stream()
205197
.filter(v -> v.getInputShape().isSimpleMethod())
206-
.filter(v -> !getCustomizationConfig().getVerifiedSimpleMethods().contains(v.getMethodName()))
207-
.filter(v -> v.getMethodName().matches(APPROVED_SIMPLE_METHOD_VERBS))
208198
.collect(Collectors.toList());
209199
}
210200

0 commit comments

Comments
 (0)