Skip to content

Commit ee4c267

Browse files
Merge pull request #1782 from aws/staging/9dc589ab-af56-4d4e-b6cd-dced7a78be04
Pull request: release <- staging/9dc589ab-af56-4d4e-b6cd-dced7a78be04
2 parents 0b1c917 + dc41240 commit ee4c267

File tree

365 files changed

+1076
-422
lines changed

Some content is hidden

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

365 files changed

+1076
-422
lines changed

.changes/2.17.65.json

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
"version": "2.17.65",
3+
"date": "2021-10-21",
4+
"entries": [
5+
{
6+
"type": "feature",
7+
"category": "AWS SDK for Java v2",
8+
"contributor": "",
9+
"description": "Updated service endpoint metadata."
10+
},
11+
{
12+
"type": "feature",
13+
"category": "Amazon Connect Service",
14+
"contributor": "",
15+
"description": "Released Amazon Connect hours of operation API for general availability (GA). This API also supports AWS CloudFormation. For more information, see Amazon Connect Resource Type Reference in the AWS CloudFormation User Guide."
16+
},
17+
{
18+
"type": "bugfix",
19+
"category": "AWS SDK for Java v2",
20+
"contributor": "",
21+
"description": "Update the REST-JSON marshalling logic to conform to the standard expected behavior WRT to the `Content-Type` of the request."
22+
}
23+
]
24+
}

CHANGELOG.md

+12
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
# __2.17.65__ __2021-10-21__
2+
## __AWS SDK for Java v2__
3+
- ### Features
4+
- Updated service endpoint metadata.
5+
6+
- ### Bugfixes
7+
- Update the REST-JSON marshalling logic to conform to the standard expected behavior WRT to the `Content-Type` of the request.
8+
9+
## __Amazon Connect Service__
10+
- ### Features
11+
- Released Amazon Connect hours of operation API for general availability (GA). This API also supports AWS CloudFormation. For more information, see Amazon Connect Resource Type Reference in the AWS CloudFormation User Guide.
12+
113
# __2.17.64__ __2021-10-20__
214
## __AWS Direct Connect__
315
- ### 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.17.64</version>
55+
<version>2.17.65</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.17.64</version>
89+
<version>2.17.65</version>
9090
</dependency>
9191
<dependency>
9292
<groupId>software.amazon.awssdk</groupId>
9393
<artifactId>s3</artifactId>
94-
<version>2.17.64</version>
94+
<version>2.17.65</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.17.64</version>
106+
<version>2.17.65</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.17.64</version>
23+
<version>2.17.65</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.17.64</version>
23+
<version>2.17.65</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.17.64</version>
23+
<version>2.17.65</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.17.64</version>
23+
<version>2.17.65</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.17.64</version>
20+
<version>2.17.65</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.17.64</version>
23+
<version>2.17.65</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.17.64</version>
20+
<version>2.17.65</version>
2121
<relativePath>../pom.xml</relativePath>
2222
</parent>
2323
<artifactId>bom</artifactId>

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

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

+15-4
Original file line numberDiff line numberDiff line change
@@ -187,11 +187,17 @@ public List<MemberModel> getUnboundMembers() {
187187
List<MemberModel> unboundMembers = new ArrayList<>();
188188
if (members != null) {
189189
for (MemberModel member : members) {
190-
if (member.getHttp().getLocation() == null) {
190+
if (member.getHttp().getLocation() == null && !member.getHttp().getIsPayload()) {
191191
if (hasPayloadMember) {
192+
// There is an explicit payload, but this unbound
193+
// member isn't it.
194+
// Note: Somewhat unintuitive, explicit payloads don't
195+
// have an explicit location; they're identified by
196+
// the payload HTTP trait being true.
192197
throw new IllegalStateException(String.format(
193-
"C2J Shape %s has both an explicit payload member and unbound (no explicit location) members. "
194-
+ "This is undefined behavior, verify the correctness of the C2J model", c2jName));
198+
"C2J Shape %s has both an explicit payload member and unbound (no explicit location) member, %s."
199+
+ " This is undefined behavior, verify the correctness of the C2J model.",
200+
c2jName, member.getName()));
195201
}
196202
unboundMembers.add(member);
197203
}
@@ -221,7 +227,12 @@ public List<MemberModel> getUnboundEventMembers() {
221227
public boolean hasPayloadMembers() {
222228
return hasPayloadMember ||
223229
getExplicitEventPayloadMember() != null ||
224-
!getUnboundMembers().isEmpty() ||
230+
hasImplicitPayloadMembers();
231+
232+
}
233+
234+
public boolean hasImplicitPayloadMembers() {
235+
return !getUnboundMembers().isEmpty() ||
225236
(isEvent() && !getUnboundEventMembers().isEmpty());
226237
}
227238

codegen/src/main/java/software/amazon/awssdk/codegen/poet/transform/protocols/JsonMarshallerSpec.java

+1
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ protected FieldSpec operationInfoField() {
9595
.add(".httpMethod($T.$L)", SdkHttpMethod.class, shapeModel.getMarshaller().getVerb())
9696
.add(".hasExplicitPayloadMember($L)", shapeModel.isHasPayloadMember() ||
9797
shapeModel.getExplicitEventPayloadMember() != null)
98+
.add(".hasImplicitPayloadMembers($L)", shapeModel.hasImplicitPayloadMembers())
9899
.add(".hasPayloadMembers($L)", shapeModel.hasPayloadMembers());
99100

100101
if (StringUtils.isNotBlank(shapeModel.getMarshaller().getTarget())) {

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/transform/alltypesrequestmarshaller.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@
1919
@SdkInternalApi
2020
public class AllTypesRequestMarshaller implements Marshaller<AllTypesRequest> {
2121
private static final OperationInfo SDK_OPERATION_BINDING = OperationInfo.builder().requestUri("/")
22-
.httpMethod(SdkHttpMethod.POST).hasExplicitPayloadMember(false).hasPayloadMembers(true).build();
22+
.httpMethod(SdkHttpMethod.POST).hasExplicitPayloadMember(false).hasImplicitPayloadMembers(true)
23+
.hasPayloadMembers(true).build();
2324

2425
private final BaseAwsJsonProtocolFactory protocolFactory;
2526

@@ -32,11 +33,10 @@ public SdkHttpFullRequest marshall(AllTypesRequest allTypesRequest) {
3233
Validate.paramNotNull(allTypesRequest, "allTypesRequest");
3334
try {
3435
ProtocolMarshaller<SdkHttpFullRequest> protocolMarshaller = protocolFactory
35-
.createProtocolMarshaller(SDK_OPERATION_BINDING);
36+
.createProtocolMarshaller(SDK_OPERATION_BINDING);
3637
return protocolMarshaller.marshall(allTypesRequest);
3738
} catch (Exception e) {
3839
throw SdkClientException.builder().message("Unable to marshall request to JSON: " + e.getMessage()).cause(e).build();
3940
}
4041
}
4142
}
42-

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/transform/eventstreamoperationrequestmarshaller.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919
@SdkInternalApi
2020
public class EventStreamOperationRequestMarshaller implements Marshaller<EventStreamOperationRequest> {
2121
private static final OperationInfo SDK_OPERATION_BINDING = OperationInfo.builder()
22-
.requestUri("/2016-03-11/eventStreamOperation").httpMethod(SdkHttpMethod.POST).hasExplicitPayloadMember(true)
23-
.hasPayloadMembers(true).hasEventStreamingInput(true).build();
22+
.requestUri("/2016-03-11/eventStreamOperation").httpMethod(SdkHttpMethod.POST).hasExplicitPayloadMember(true)
23+
.hasImplicitPayloadMembers(false).hasPayloadMembers(true).hasEventStreamingInput(true).build();
2424

2525
private final BaseAwsJsonProtocolFactory protocolFactory;
2626

@@ -33,7 +33,7 @@ public SdkHttpFullRequest marshall(EventStreamOperationRequest eventStreamOperat
3333
Validate.paramNotNull(eventStreamOperationRequest, "eventStreamOperationRequest");
3434
try {
3535
ProtocolMarshaller<SdkHttpFullRequest> protocolMarshaller = protocolFactory
36-
.createProtocolMarshaller(SDK_OPERATION_BINDING);
36+
.createProtocolMarshaller(SDK_OPERATION_BINDING);
3737
return protocolMarshaller.marshall(eventStreamOperationRequest);
3838
} catch (Exception e) {
3939
throw SdkClientException.builder().message("Unable to marshall request to JSON: " + e.getMessage()).cause(e).build();

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/transform/eventstreamoperationwithonlyinputrequestmarshaller.java

+5-6
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@
1717
*/
1818
@Generated("software.amazon.awssdk:codegen")
1919
@SdkInternalApi
20-
public class EventStreamOperationWithOnlyInputRequestMarshaller implements
21-
Marshaller<EventStreamOperationWithOnlyInputRequest> {
20+
public class EventStreamOperationWithOnlyInputRequestMarshaller implements Marshaller<EventStreamOperationWithOnlyInputRequest> {
2221
private static final OperationInfo SDK_OPERATION_BINDING = OperationInfo.builder()
23-
.requestUri("/2016-03-11/EventStreamOperationWithOnlyInput").httpMethod(SdkHttpMethod.POST)
24-
.hasExplicitPayloadMember(false).hasPayloadMembers(true).hasEventStreamingInput(true).build();
22+
.requestUri("/2016-03-11/EventStreamOperationWithOnlyInput").httpMethod(SdkHttpMethod.POST)
23+
.hasExplicitPayloadMember(false).hasImplicitPayloadMembers(true).hasPayloadMembers(true).hasEventStreamingInput(true)
24+
.build();
2525

2626
private final BaseAwsJsonProtocolFactory protocolFactory;
2727

@@ -34,11 +34,10 @@ public SdkHttpFullRequest marshall(EventStreamOperationWithOnlyInputRequest even
3434
Validate.paramNotNull(eventStreamOperationWithOnlyInputRequest, "eventStreamOperationWithOnlyInputRequest");
3535
try {
3636
ProtocolMarshaller<SdkHttpFullRequest> protocolMarshaller = protocolFactory
37-
.createProtocolMarshaller(SDK_OPERATION_BINDING);
37+
.createProtocolMarshaller(SDK_OPERATION_BINDING);
3838
return protocolMarshaller.marshall(eventStreamOperationWithOnlyInputRequest);
3939
} catch (Exception e) {
4040
throw SdkClientException.builder().message("Unable to marshall request to JSON: " + e.getMessage()).cause(e).build();
4141
}
4242
}
4343
}
44-

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/transform/nestedcontainersrequestmarshaller.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@
1919
@SdkInternalApi
2020
public class NestedContainersRequestMarshaller implements Marshaller<NestedContainersRequest> {
2121
private static final OperationInfo SDK_OPERATION_BINDING = OperationInfo.builder().requestUri("/")
22-
.httpMethod(SdkHttpMethod.POST).hasExplicitPayloadMember(false).hasPayloadMembers(true).build();
22+
.httpMethod(SdkHttpMethod.POST).hasExplicitPayloadMember(false).hasImplicitPayloadMembers(true)
23+
.hasPayloadMembers(true).build();
2324

2425
private final BaseAwsJsonProtocolFactory protocolFactory;
2526

@@ -32,11 +33,10 @@ public SdkHttpFullRequest marshall(NestedContainersRequest nestedContainersReque
3233
Validate.paramNotNull(nestedContainersRequest, "nestedContainersRequest");
3334
try {
3435
ProtocolMarshaller<SdkHttpFullRequest> protocolMarshaller = protocolFactory
35-
.createProtocolMarshaller(SDK_OPERATION_BINDING);
36+
.createProtocolMarshaller(SDK_OPERATION_BINDING);
3637
return protocolMarshaller.marshall(nestedContainersRequest);
3738
} catch (Exception e) {
3839
throw SdkClientException.builder().message("Unable to marshall request to JSON: " + e.getMessage()).cause(e).build();
3940
}
4041
}
4142
}
42-

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/transform/operationwithnoinputoroutputrequestmarshaller.java

+4-5
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717
*/
1818
@Generated("software.amazon.awssdk:codegen")
1919
@SdkInternalApi
20-
public class OperationWithNoInputOrOutputRequestMarshaller implements
21-
Marshaller<OperationWithNoInputOrOutputRequest> {
20+
public class OperationWithNoInputOrOutputRequestMarshaller implements Marshaller<OperationWithNoInputOrOutputRequest> {
2221
private static final OperationInfo SDK_OPERATION_BINDING = OperationInfo.builder().requestUri("/")
23-
.httpMethod(SdkHttpMethod.POST).hasExplicitPayloadMember(false).hasPayloadMembers(false).build();
22+
.httpMethod(SdkHttpMethod.POST).hasExplicitPayloadMember(false).hasImplicitPayloadMembers(false)
23+
.hasPayloadMembers(false).build();
2424

2525
private final BaseAwsJsonProtocolFactory protocolFactory;
2626

@@ -33,11 +33,10 @@ public SdkHttpFullRequest marshall(OperationWithNoInputOrOutputRequest operation
3333
Validate.paramNotNull(operationWithNoInputOrOutputRequest, "operationWithNoInputOrOutputRequest");
3434
try {
3535
ProtocolMarshaller<SdkHttpFullRequest> protocolMarshaller = protocolFactory
36-
.createProtocolMarshaller(SDK_OPERATION_BINDING);
36+
.createProtocolMarshaller(SDK_OPERATION_BINDING);
3737
return protocolMarshaller.marshall(operationWithNoInputOrOutputRequest);
3838
} catch (Exception e) {
3939
throw SdkClientException.builder().message("Unable to marshall request to JSON: " + e.getMessage()).cause(e).build();
4040
}
4141
}
4242
}
43-

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/transform/streaminginputoperationrequestmarshaller.java

+3-4
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919
@SdkInternalApi
2020
public class StreamingInputOperationRequestMarshaller implements Marshaller<StreamingInputOperationRequest> {
2121
private static final OperationInfo SDK_OPERATION_BINDING = OperationInfo.builder()
22-
.requestUri("/2016-03-11/streamingInputOperation").httpMethod(SdkHttpMethod.POST).hasExplicitPayloadMember(true)
23-
.hasPayloadMembers(true).hasStreamingInput(true).build();
22+
.requestUri("/2016-03-11/streamingInputOperation").httpMethod(SdkHttpMethod.POST).hasExplicitPayloadMember(true)
23+
.hasImplicitPayloadMembers(false).hasPayloadMembers(true).hasStreamingInput(true).build();
2424

2525
private final BaseAwsJsonProtocolFactory protocolFactory;
2626

@@ -33,11 +33,10 @@ public SdkHttpFullRequest marshall(StreamingInputOperationRequest streamingInput
3333
Validate.paramNotNull(streamingInputOperationRequest, "streamingInputOperationRequest");
3434
try {
3535
ProtocolMarshaller<SdkHttpFullRequest> protocolMarshaller = protocolFactory
36-
.createProtocolMarshaller(SDK_OPERATION_BINDING);
36+
.createProtocolMarshaller(SDK_OPERATION_BINDING);
3737
return protocolMarshaller.marshall(streamingInputOperationRequest);
3838
} catch (Exception e) {
3939
throw SdkClientException.builder().message("Unable to marshall request to JSON: " + e.getMessage()).cause(e).build();
4040
}
4141
}
4242
}
43-

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/transform/streamingoutputoperationrequestmarshaller.java

+3-4
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919
@SdkInternalApi
2020
public class StreamingOutputOperationRequestMarshaller implements Marshaller<StreamingOutputOperationRequest> {
2121
private static final OperationInfo SDK_OPERATION_BINDING = OperationInfo.builder()
22-
.requestUri("/2016-03-11/streamingOutputOperation").httpMethod(SdkHttpMethod.POST).hasExplicitPayloadMember(false)
23-
.hasPayloadMembers(false).build();
22+
.requestUri("/2016-03-11/streamingOutputOperation").httpMethod(SdkHttpMethod.POST).hasExplicitPayloadMember(false)
23+
.hasImplicitPayloadMembers(false).hasPayloadMembers(false).build();
2424

2525
private final BaseAwsJsonProtocolFactory protocolFactory;
2626

@@ -33,11 +33,10 @@ public SdkHttpFullRequest marshall(StreamingOutputOperationRequest streamingOutp
3333
Validate.paramNotNull(streamingOutputOperationRequest, "streamingOutputOperationRequest");
3434
try {
3535
ProtocolMarshaller<SdkHttpFullRequest> protocolMarshaller = protocolFactory
36-
.createProtocolMarshaller(SDK_OPERATION_BINDING);
36+
.createProtocolMarshaller(SDK_OPERATION_BINDING);
3737
return protocolMarshaller.marshall(streamingOutputOperationRequest);
3838
} catch (Exception e) {
3939
throw SdkClientException.builder().message("Unable to marshall request to JSON: " + e.getMessage()).cause(e).build();
4040
}
4141
}
4242
}
43-

0 commit comments

Comments
 (0)