Skip to content

Commit 30ec36a

Browse files
Merge pull request #495 from aws/staging/601fa9b3-ca9c-478b-847e-136c2b1dc35e
Pull request: release <- staging/601fa9b3-ca9c-478b-847e-136c2b1dc35e
2 parents d096c8a + c285a78 commit 30ec36a

File tree

274 files changed

+2185
-659
lines changed

Some content is hidden

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

274 files changed

+2185
-659
lines changed

.changes/2.5.41.json

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"date": "2019-05-10",
3+
"version": "2.5.41",
4+
"entries": [
5+
{
6+
"category": "AWS Glue",
7+
"type": "feature",
8+
"description": "AWS Glue now supports specifying existing catalog tables for a crawler to examine as a data source. A new parameter CatalogTargets is added to the CrawlerTargets data type."
9+
},
10+
{
11+
"category": "AWS Security Token Service",
12+
"type": "feature",
13+
"description": "AWS Security Token Service (STS) now supports passing IAM Managed Policy ARNs as session policies when you programmatically create temporary sessions for a role or federated user. The Managed Policy ARNs can be passed via the PolicyArns parameter, which is now available in the AssumeRole, AssumeRoleWithWebIdentity, AssumeRoleWithSAML, and GetFederationToken APIs. The session policies referenced by the PolicyArn parameter will only further restrict the existing permissions of an IAM User or Role for individual sessions."
14+
},
15+
{
16+
"category": "AWS SDK for Java v2",
17+
"type": "bugfix",
18+
"description": "Fix a bug where events in an event stream were being signed with the request date, and not with the current system time."
19+
}
20+
]
21+
}

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ notifications:
1111
script: mvn -q install
1212

1313
after_success:
14-
- bash <(curl -s https://codecov.io/bash)
14+
- bash <(curl -s https://codecov.io/bash) -F unittests
1515

1616
branches:
1717
only:

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
# __2.5.41__ __2019-05-10__
2+
## __AWS Glue__
3+
- ### Features
4+
- AWS Glue now supports specifying existing catalog tables for a crawler to examine as a data source. A new parameter CatalogTargets is added to the CrawlerTargets data type.
5+
6+
## __AWS SDK for Java v2__
7+
- ### Bugfixes
8+
- Fix a bug where events in an event stream were being signed with the request date, and not with the current system time.
9+
10+
## __AWS Security Token Service__
11+
- ### Features
12+
- AWS Security Token Service (STS) now supports passing IAM Managed Policy ARNs as session policies when you programmatically create temporary sessions for a role or federated user. The Managed Policy ARNs can be passed via the PolicyArns parameter, which is now available in the AssumeRole, AssumeRoleWithWebIdentity, AssumeRoleWithSAML, and GetFederationToken APIs. The session policies referenced by the PolicyArn parameter will only further restrict the existing permissions of an IAM User or Role for individual sessions.
13+
114
# __2.5.40__ __2019-05-08__
215
## __AWS IoT 1-Click Projects Service__
316
- ### Features

README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
[![Build Status](https://travis-ci.org/aws/aws-sdk-java-v2.svg?branch=master)](https://travis-ci.org/aws/aws-sdk-java-v2) ![Build Status](https://codebuild.us-west-2.amazonaws.com/badges?uuid=eyJlbmNyeXB0ZWREYXRhIjoiTFJSRXBBN1hkU1ZEQzZ4M1hoaWlFUExuNER3WjNpVllSQ09Qam1YdFlTSDNTd3RpZzNia3F0VkJRUTBwZlQwR1BEelpSV2dWVnp4YTBCOFZKRzRUR004PSIsIml2UGFyYW1ldGVyU3BlYyI6ImdHdEp1UHhKckpDRmhmQU4iLCJtYXRlcmlhbFNldFNlcmlhbCI6MX0%3D&branch=master)
33
[![Maven](https://img.shields.io/maven-central/v/software.amazon.awssdk/s3.svg?label=Maven)](https://search.maven.org/search?q=g:%22software.amazon.awssdk%22%20AND%20a:%22s3%22)
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)
5+
[![codecov](https://codecov.io/gh/aws/aws-sdk-java-v2/branch/master/graph/badge.svg)](https://codecov.io/gh/aws/aws-sdk-java-v2)
56

67
The **AWS SDK for Java 2.0** is a rewrite of 1.0 with some great new features. As with version 1.0,
78
it enables you to easily work with [Amazon Web Services][aws] but also includes features like
@@ -45,7 +46,7 @@ You can import the whole SDK into your project (includes all services) as follow
4546
<dependency>
4647
<groupId>software.amazon.awssdk</groupId>
4748
<artifactId>aws-sdk-java</artifactId>
48-
<version>2.5.40</version>
49+
<version>2.5.41</version>
4950
</dependency>
5051
```
5152

@@ -57,12 +58,12 @@ Alternatively you can add dependencies for the specific services you use only:
5758
<dependency>
5859
<groupId>software.amazon.awssdk</groupId>
5960
<artifactId>ec2</artifactId>
60-
<version>2.5.40</version>
61+
<version>2.5.41</version>
6162
</dependency>
6263
<dependency>
6364
<groupId>software.amazon.awssdk</groupId>
6465
<artifactId>s3</artifactId>
65-
<version>2.5.40</version>
66+
<version>2.5.41</version>
6667
</dependency>
6768
```
6869

@@ -76,7 +77,7 @@ To automatically manage module versions (currently all modules have the same ver
7677
<dependency>
7778
<groupId>software.amazon.awssdk</groupId>
7879
<artifactId>bom</artifactId>
79-
<version>2.5.40</version>
80+
<version>2.5.41</version>
8081
<type>pom</type>
8182
<scope>import</scope>
8283
</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.5.40</version>
7+
<version>2.5.41</version>
88
<relativePath>../pom.xml</relativePath>
99
</parent>
1010
<artifactId>aws-sdk-java</artifactId>

bom-internal/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>aws-sdk-java-pom</artifactId>
77
<groupId>software.amazon.awssdk</groupId>
8-
<version>2.5.40</version>
8+
<version>2.5.41</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

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.5.40</version>
7+
<version>2.5.41</version>
88
<relativePath>../pom.xml</relativePath>
99
</parent>
1010
<artifactId>bom</artifactId>

buildspecs/release-javadoc.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ phases:
1212
build:
1313
commands:
1414
- mvn install -P quick -D maven.wagon.httpconnectionManager.maxPerRoute=2 -T1C
15-
- mvn install javadoc:aggregate -B -Ppublic-javadoc -Dcheckstyle.skip -Dspotbugs.skip -DskipTests -Ddoclint=none -pl '!:dynamodbdocument-v1,!:dynamodbmapper-v1,!:protocol-tests,!:protocol-tests-core,!:codegen-generated-classes-test,!:sdk-benchmarks,!:module-path-tests,!:test-utils,!:http-client-tests'
15+
- mvn install javadoc:aggregate -B -Ppublic-javadoc -Dcheckstyle.skip -Dspotbugs.skip -DskipTests -Ddoclint=none -pl '!:dynamodbdocument-v1,!:dynamodbmapper-v1,!:protocol-tests,!:protocol-tests-core,!:codegen-generated-classes-test,!:sdk-benchmarks,!:module-path-tests,!:test-utils,!:http-client-tests,!:tests-coverage-reporting'
1616
- RELEASE_VERSION=`mvn -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec`
1717
-
1818
- aws s3 sync target/site/apidocs/ $DOC_PATH/$RELEASE_VERSION/

buildspecs/release-to-maven.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ phases:
2020
if ! curl -f --head $SONATYPE_URL; then
2121
mkdir -p $CREDENTIALS
2222
aws s3 cp s3://aws-java-sdk-release-credentials/ $CREDENTIALS/ --recursive
23-
mvn clean deploy -B -s $SETTINGS_XML -Dgpg.homedir=$GPG_HOME -Ppublishing -DperformRelease -Dspotbugs.skip -DskipTests -Dcheckstyle.skip -Ddoclint=none -pl !:dynamodbdocument-v1,!:dynamodbmapper-v1,!:protocol-tests,!:protocol-tests-core,!:codegen-generated-classes-test,!:sdk-benchmarks,!:module-path-tests -DautoReleaseAfterClose=true -DstagingProgressTimeoutMinutes=30
23+
mvn clean deploy -B -s $SETTINGS_XML -Dgpg.homedir=$GPG_HOME -Ppublishing -DperformRelease -Dspotbugs.skip -DskipTests -Dcheckstyle.skip -Ddoclint=none -pl !:dynamodbdocument-v1,!:dynamodbmapper-v1,!:protocol-tests,!:protocol-tests-core,!:codegen-generated-classes-test,!:sdk-benchmarks,!:module-path-tests,!:tests-coverage-reporting -DautoReleaseAfterClose=true -DstagingProgressTimeoutMinutes=30
2424
else
2525
echo "This version was already released."
2626
fi

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.5.40</version>
24+
<version>2.5.41</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.5.40</version>
10+
<version>2.5.41</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.5.40</version>
9+
<version>2.5.41</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.5.40</version>
25+
<version>2.5.41</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.5.40</version>
24+
<version>2.5.41</version>
2525
</parent>
2626
<artifactId>codegen</artifactId>
2727
<name>AWS Java SDK :: Code Generator</name>

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ public Map<String, OperationModel> constructOperations() {
157157
operationModel.setDeprecated(op.isDeprecated());
158158
operationModel.setDocumentation(op.getDocumentation());
159159
operationModel.setIsAuthenticated(isAuthenticated(op));
160+
operationModel.setAuthType(op.getAuthType());
160161
operationModel.setPaginated(isPaginated(op));
161162
operationModel.setEndpointOperation(op.isEndpointOperation());
162163
operationModel.setEndpointDiscovery(op.getEndpointDiscovery());

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

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ protected final ShapeModel generateShapeModel(String javaClassName, String shape
8787
boolean hasStatusCodeMember = false;
8888
boolean hasPayloadMember = false;
8989
boolean hasStreamingMember = false;
90+
boolean hasRequiresLength = false;
9091

9192
Map<String, Member> members = shape.getMembers();
9293

@@ -112,15 +113,19 @@ protected final ShapeModel generateShapeModel(String javaClassName, String shape
112113
if (memberModel.getHttp().getIsStreaming()) {
113114
hasStreamingMember = true;
114115
}
116+
if (memberModel.getHttp().isRequiresLength()) {
117+
hasRequiresLength = true;
118+
}
115119
}
116120

117121
shapeModel.addMember(memberModel);
118122
}
119123

120124
shapeModel.withHasHeaderMember(hasHeaderMember)
121-
.withHasStatusCodeMember(hasStatusCodeMember)
122-
.withHasPayloadMember(hasPayloadMember)
123-
.withHasStreamingMember(hasStreamingMember);
125+
.withHasStatusCodeMember(hasStatusCodeMember)
126+
.withHasPayloadMember(hasPayloadMember)
127+
.withHasStreamingMember(hasStreamingMember)
128+
.withHasRequiresLengthMember(hasRequiresLength);
124129
}
125130

126131
List<String> enumValues = shape.getEnumValues();
@@ -200,9 +205,11 @@ private MemberModel generateMemberModel(String c2jMemberName, Member c2jMemberDe
200205
boolean shapeIsStreaming = shape.isStreaming();
201206
boolean memberIsStreaming = c2jMemberDefinition.isStreaming();
202207
boolean payloadIsStreaming = shapeIsStreaming || memberIsStreaming;
208+
boolean requiresLength = shape.isRequiresLength() || c2jMemberDefinition.isRequiresLength();
203209

204210
httpMapping.withPayload(payload != null && payload.equals(c2jMemberName))
205-
.withStreaming(payloadIsStreaming);
211+
.withStreaming(payloadIsStreaming)
212+
.withRequiresLength(requiresLength);
206213

207214
memberModel.setHttp(httpMapping);
208215

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import software.amazon.awssdk.codegen.docs.OperationDocs;
2424
import software.amazon.awssdk.codegen.docs.SimpleMethodOverload;
2525
import software.amazon.awssdk.codegen.internal.Utils;
26+
import software.amazon.awssdk.codegen.model.service.AuthType;
2627
import software.amazon.awssdk.codegen.model.service.EndpointTrait;
2728

2829
public class OperationModel extends DocumentationModel {
@@ -43,6 +44,8 @@ public class OperationModel extends DocumentationModel {
4344

4445
private boolean isAuthenticated = true;
4546

47+
private AuthType authType;
48+
4649
private boolean isPaginated;
4750

4851
private boolean endpointOperation;
@@ -103,6 +106,14 @@ public void setIsAuthenticated(boolean isAuthenticated) {
103106
this.isAuthenticated = isAuthenticated;
104107
}
105108

109+
public AuthType getAuthType() {
110+
return authType;
111+
}
112+
113+
public void setAuthType(AuthType authType) {
114+
this.authType = authType;
115+
}
116+
106117
public ShapeModel getInputShape() {
107118
return inputShape;
108119
}
@@ -240,6 +251,10 @@ public boolean hasEventStreamInput() {
240251
return containsEventStream(inputShape);
241252
}
242253

254+
public boolean hasRequiresLengthInInput() {
255+
return inputShape != null && inputShape.isHasRequiresLengthMember();
256+
}
257+
243258
private boolean containsEventStream(ShapeModel shapeModel) {
244259
return shapeModel != null
245260
&& shapeModel.getMembers() != null

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ public class ParameterHttpMapping {
3131
private Location location;
3232
private boolean flattened;
3333
private boolean isGreedy;
34+
private boolean requiresLength;
3435

3536
public boolean getIsPayload() {
3637
return isPayload;
@@ -166,6 +167,19 @@ public ParameterHttpMapping withIsGreedy(boolean greedy) {
166167
return this;
167168
}
168169

170+
public boolean isRequiresLength() {
171+
return requiresLength;
172+
}
173+
174+
public void setRequiresLength(boolean requiresLength) {
175+
this.requiresLength = requiresLength;
176+
}
177+
178+
public ParameterHttpMapping withRequiresLength(boolean requiresLength) {
179+
setRequiresLength(requiresLength);
180+
return this;
181+
}
182+
169183
public MarshallLocation getMarshallLocation() {
170184
if (location == null) {
171185
return MarshallLocation.PAYLOAD;

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ public class ShapeModel extends DocumentationModel implements HasDeprecation {
4343
private boolean hasHeaderMember;
4444
private boolean hasStatusCodeMember;
4545
private boolean hasStreamingMember;
46+
private boolean hasRequiresLengthMember;
4647
private boolean wrapper;
4748
private boolean simpleMethod;
4849
private String requestSignerClassFqcn;
@@ -239,6 +240,19 @@ public ShapeModel withHasStreamingMember(boolean hasStreamingMember) {
239240
return this;
240241
}
241242

243+
public boolean isHasRequiresLengthMember() {
244+
return hasRequiresLengthMember;
245+
}
246+
247+
public void setHasRequiresLengthMember(boolean hasRequiresLengthMember) {
248+
this.hasRequiresLengthMember = hasRequiresLengthMember;
249+
}
250+
251+
public ShapeModel withHasRequiresLengthMember(boolean hasRequiresLengthMember) {
252+
setHasRequiresLengthMember(hasRequiresLengthMember);
253+
return this;
254+
}
255+
242256
public boolean isHasHeaderMember() {
243257
return hasHeaderMember;
244258
}

codegen/src/main/java/software/amazon/awssdk/codegen/model/service/Member.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ public class Member {
2929

3030
private boolean streaming;
3131

32+
private boolean requiresLength;
33+
3234
private String documentation;
3335

3436
private String queryName;
@@ -97,6 +99,14 @@ public void setStreaming(boolean streaming) {
9799
this.streaming = streaming;
98100
}
99101

102+
public boolean isRequiresLength() {
103+
return requiresLength;
104+
}
105+
106+
public void setRequiresLength(boolean requiresLength) {
107+
this.requiresLength = requiresLength;
108+
}
109+
100110
public String getDocumentation() {
101111
return documentation;
102112
}

codegen/src/main/java/software/amazon/awssdk/codegen/model/service/Shape.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ public class Shape {
4040

4141
private boolean streaming;
4242

43+
private boolean requiresLength;
44+
4345
private boolean wrapper;
4446

4547
private Member listMember;
@@ -203,6 +205,14 @@ public void setStreaming(boolean streaming) {
203205
this.streaming = streaming;
204206
}
205207

208+
public boolean isRequiresLength() {
209+
return requiresLength;
210+
}
211+
212+
public void setRequiresLength(boolean requiresLength) {
213+
this.requiresLength = requiresLength;
214+
}
215+
206216
public boolean isWrapper() {
207217
return wrapper;
208218
}

codegen/src/main/java/software/amazon/awssdk/codegen/poet/client/SyncClientClass.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -242,11 +242,11 @@ static ProtocolSpec getProtocolSpecs(PoetExtensions poetExtensions, Intermediate
242242
Protocol protocol = model.getMetadata().getProtocol();
243243
switch (protocol) {
244244
case QUERY:
245-
return new QueryProtocolSpec(poetExtensions);
245+
return new QueryProtocolSpec(model, poetExtensions);
246246
case REST_XML:
247247
return new XmlProtocolSpec(model, poetExtensions);
248248
case EC2:
249-
return new Ec2ProtocolSpec(poetExtensions);
249+
return new Ec2ProtocolSpec(model, poetExtensions);
250250
case AWS_JSON:
251251
case REST_JSON:
252252
case CBOR:

0 commit comments

Comments
 (0)