Skip to content

Commit 01aed07

Browse files
Merge pull request #703 from aws/staging/b890cf7c-48ab-4ce2-a084-b95fea3e1556
Pull request: release <- staging/b890cf7c-48ab-4ce2-a084-b95fea3e1556
2 parents 7496a70 + e5f90bc commit 01aed07

File tree

296 files changed

+1820
-326
lines changed

Some content is hidden

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

296 files changed

+1820
-326
lines changed

.changes/2.10.36.json

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"version": "2.10.36",
3+
"date": "2019-12-16",
4+
"entries": [
5+
{
6+
"type": "feature",
7+
"category": "AmazonMQ",
8+
"description": "Amazon MQ now supports throughput-optimized message brokers, backed by Amazon EBS."
9+
},
10+
{
11+
"type": "feature",
12+
"category": "AWS Comprehend Medical",
13+
"description": "New Ontology linking APIs will provides medication concepts normalization and Diagnoses codes from input text. In this release we will provide two APIs - RxNorm and ICD10-CM."
14+
},
15+
{
16+
"type": "feature",
17+
"category": "Amazon S3",
18+
"description": "CopyObjectRequest now has `destinationBucket` and `destinationKey` properties for clarity.\nThe existing names, `bucket` and `key`, are deprecated."
19+
},
20+
{
21+
"type": "feature",
22+
"category": "Amazon Elastic Compute Cloud",
23+
"description": "You can now configure your EC2 Fleet to preferentially use EC2 Capacity Reservations for launching On-Demand instances, enabling you to fully utilize the available (and unused) Capacity Reservations before launching On-Demand instances on net new capacity."
24+
}
25+
]
26+
}

CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,21 @@
1+
# __2.10.36__ __2019-12-16__
2+
## __AWS Comprehend Medical__
3+
- ### Features
4+
- New Ontology linking APIs will provides medication concepts normalization and Diagnoses codes from input text. In this release we will provide two APIs - RxNorm and ICD10-CM.
5+
6+
## __Amazon Elastic Compute Cloud__
7+
- ### Features
8+
- You can now configure your EC2 Fleet to preferentially use EC2 Capacity Reservations for launching On-Demand instances, enabling you to fully utilize the available (and unused) Capacity Reservations before launching On-Demand instances on net new capacity.
9+
10+
## __Amazon S3__
11+
- ### Features
12+
- CopyObjectRequest now has `destinationBucket` and `destinationKey` properties for clarity.
13+
The existing names, `bucket` and `key`, are deprecated.
14+
15+
## __AmazonMQ__
16+
- ### Features
17+
- Amazon MQ now supports throughput-optimized message brokers, backed by Amazon EBS.
18+
119
# __2.10.35__ __2019-12-13__
220
## __AWS CodeBuild__
321
- ### Features

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ To automatically manage module versions (currently all modules have the same ver
4848
<dependency>
4949
<groupId>software.amazon.awssdk</groupId>
5050
<artifactId>bom</artifactId>
51-
<version>2.10.35</version>
51+
<version>2.10.36</version>
5252
<type>pom</type>
5353
<scope>import</scope>
5454
</dependency>
@@ -82,12 +82,12 @@ Alternatively you can add dependencies for the specific services you use only:
8282
<dependency>
8383
<groupId>software.amazon.awssdk</groupId>
8484
<artifactId>ec2</artifactId>
85-
<version>2.10.35</version>
85+
<version>2.10.36</version>
8686
</dependency>
8787
<dependency>
8888
<groupId>software.amazon.awssdk</groupId>
8989
<artifactId>s3</artifactId>
90-
<version>2.10.35</version>
90+
<version>2.10.36</version>
9191
</dependency>
9292
```
9393

@@ -99,7 +99,7 @@ You can import the whole SDK into your project (includes *ALL* services). Please
9999
<dependency>
100100
<groupId>software.amazon.awssdk</groupId>
101101
<artifactId>aws-sdk-java</artifactId>
102-
<version>2.10.35</version>
102+
<version>2.10.36</version>
103103
</dependency>
104104
```
105105

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

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

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,20 @@ private MemberModel generateMemberModel(String c2jMemberName, Member c2jMemberDe
197197
fillContainerTypeMemberMetadata(allC2jShapes, c2jMemberDefinition.getShape(), memberModel,
198198
protocol);
199199

200+
201+
String deprecatedName = c2jMemberDefinition.getDeprecatedName();
202+
if (StringUtils.isNotBlank(deprecatedName)) {
203+
checkForValidDeprecatedName(c2jMemberName, shape);
204+
205+
memberModel.setDeprecatedName(deprecatedName);
206+
memberModel.setDeprecatedFluentGetterMethodName(
207+
namingStrategy.getFluentGetterMethodName(deprecatedName, parentShape, shape));
208+
memberModel.setDeprecatedFluentSetterMethodName(
209+
namingStrategy.getFluentSetterMethodName(deprecatedName, parentShape, shape));
210+
memberModel.setDeprecatedBeanStyleSetterMethodName(
211+
namingStrategy.getBeanStyleSetterMethodName(deprecatedName, parentShape, shape));
212+
}
213+
200214
ParameterHttpMapping httpMapping = generateParameterHttpMapping(parentShape,
201215
c2jMemberName,
202216
c2jMemberDefinition,
@@ -219,6 +233,26 @@ private MemberModel generateMemberModel(String c2jMemberName, Member c2jMemberDe
219233
return memberModel;
220234
}
221235

236+
private void checkForValidDeprecatedName(String c2jMemberName, Shape memberShape) {
237+
if (memberShape.getEnumValues() != null) {
238+
throw new IllegalStateException(String.format(
239+
"Member %s has enum values and a deprecated name. Codegen does not support this.",
240+
c2jMemberName));
241+
}
242+
243+
if (isListShape(memberShape)) {
244+
throw new IllegalStateException(String.format(
245+
"Member %s is a list and has a deprecated name. Codegen does not support this.",
246+
c2jMemberName));
247+
}
248+
249+
if (isMapShape(memberShape)) {
250+
throw new IllegalStateException(String.format(
251+
"Member %s is a map and has a deprecated name. Codegen does not support this.",
252+
c2jMemberName));
253+
}
254+
}
255+
222256
private boolean isSensitiveShapeOrContainer(Member member, Map<String, Shape> allC2jShapes) {
223257
if (member == null) {
224258
return false;

codegen/src/main/java/software/amazon/awssdk/codegen/customization/processors/ShapeModifiersProcessor.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,10 @@ private void doModifyShapeMembers(ServiceModel serviceModel, Shape shape, String
219219
member.setLocationName(memberToModify);
220220
}
221221

222+
if (modifyModel.isExistingNameDeprecated()) {
223+
member.setDeprecatedName(memberToModify);
224+
}
225+
222226
shape.getMembers().put(modifyModel.getEmitPropertyName(), member);
223227
}
224228
if (modifyModel.getEmitAsType() != null) {

codegen/src/main/java/software/amazon/awssdk/codegen/model/config/customization/ModifyModelShapeModifier.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,14 @@
1717

1818
public class ModifyModelShapeModifier {
1919

20+
/**
21+
* Indicates whether a renamed member should create getters and setters under the existing name
22+
*/
23+
private boolean existingNameDeprecated;
24+
25+
/**
26+
* Sets a name for a member used by the SDK, eliminating the existing name
27+
*/
2028
private String emitPropertyName;
2129

2230
/**
@@ -41,6 +49,14 @@ public class ModifyModelShapeModifier {
4149

4250
private String unmarshallLocationName;
4351

52+
public boolean isExistingNameDeprecated() {
53+
return existingNameDeprecated;
54+
}
55+
56+
public void setExistingNameDeprecated(boolean existingNameDeprecated) {
57+
this.existingNameDeprecated = existingNameDeprecated;
58+
}
59+
4460
public String getEmitPropertyName() {
4561
return emitPropertyName;
4662
}

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

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,14 @@ public class MemberModel extends DocumentationModel {
9595

9696
private boolean xmlAttribute;
9797

98+
private String deprecatedName;
99+
100+
private String fluentDeprecatedGetterMethodName;
101+
102+
private String fluentDeprecatedSetterMethodName;
103+
104+
private String deprecatedBeanStyleSetterMethodName;
105+
98106
public String getName() {
99107
return name;
100108
}
@@ -443,6 +451,14 @@ public String getGetterDocumentation() {
443451
return docBuilder.toString();
444452
}
445453

454+
public String getDeprecatedGetterDocumentation() {
455+
String getterDocumentation = getGetterDocumentation();
456+
return getterDocumentation
457+
+ LF
458+
+ "@deprecated Use {@link #" + getFluentGetterMethodName() + "()}"
459+
+ LF;
460+
}
461+
446462
private boolean returnTypeIs(Class<?> clazz) {
447463
String returnType = this.getGetterModel().getReturnType();
448464
return returnType != null && returnType.startsWith(clazz.getName()); // Use startsWith in case it's parametrized
@@ -459,6 +475,13 @@ public String getExistenceCheckDocumentation() {
459475
return defaultExistenceCheck().replace("%s", name) + LF;
460476
}
461477

478+
public String getDeprecatedSetterDocumentation() {
479+
return getFluentSetterDocumentation()
480+
+ LF
481+
+ "@deprecated Use {@link #" + getFluentSetterMethodName() + "(" + setterModel.getSimpleType() + ")}"
482+
+ LF;
483+
}
484+
462485
public String getDefaultConsumerFluentSetterDocumentation() {
463486
return (StringUtils.isNotBlank(documentation) ? documentation : defaultSetter().replace("%s", name) + "\n")
464487
+ LF
@@ -589,6 +612,19 @@ public MemberModel withXmlAttribtue(boolean xmlAttribtue) {
589612
return this;
590613
}
591614

615+
public String getDeprecatedName() {
616+
return deprecatedName;
617+
}
618+
619+
public void setDeprecatedName(String deprecatedName) {
620+
this.deprecatedName = deprecatedName;
621+
}
622+
623+
public MemberModel withDeprecatedName(String deprecatedName) {
624+
this.deprecatedName = deprecatedName;
625+
return this;
626+
}
627+
592628
@JsonIgnore
593629
public boolean hasBuilder() {
594630
return !(isSimple() || isList() || isMap());
@@ -653,4 +689,28 @@ public Optional<ClassName> getAutoConstructClassIfExists() {
653689

654690
return Optional.empty();
655691
}
692+
693+
public void setDeprecatedFluentGetterMethodName(String fluentDeprecatedGetterMethodName) {
694+
this.fluentDeprecatedGetterMethodName = fluentDeprecatedGetterMethodName;
695+
}
696+
697+
public String getDeprecatedFluentGetterMethodName() {
698+
return fluentDeprecatedGetterMethodName;
699+
}
700+
701+
public void setDeprecatedFluentSetterMethodName(String fluentDeprecatedSetterMethodName) {
702+
this.fluentDeprecatedSetterMethodName = fluentDeprecatedSetterMethodName;
703+
}
704+
705+
public String getDeprecatedFluentSetterMethodName() {
706+
return fluentDeprecatedSetterMethodName;
707+
}
708+
709+
public String getDeprecatedBeanStyleSetterMethodName() {
710+
return deprecatedBeanStyleSetterMethodName;
711+
}
712+
713+
public void setDeprecatedBeanStyleSetterMethodName(String deprecatedBeanStyleSetterMethodName) {
714+
this.deprecatedBeanStyleSetterMethodName = deprecatedBeanStyleSetterMethodName;
715+
}
656716
}

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
@@ -61,6 +61,8 @@ public class Member {
6161

6262
private boolean xmlAttribute;
6363

64+
private String deprecatedName;
65+
6466
public String getShape() {
6567
return shape;
6668
}
@@ -212,4 +214,12 @@ public boolean isXmlAttribute() {
212214
public void setXmlAttribute(boolean xmlAttribute) {
213215
this.xmlAttribute = xmlAttribute;
214216
}
217+
218+
public void setDeprecatedName(String deprecatedName) {
219+
this.deprecatedName = deprecatedName;
220+
}
221+
222+
public String getDeprecatedName() {
223+
return deprecatedName;
224+
}
215225
}

codegen/src/main/java/software/amazon/awssdk/codegen/poet/model/AbstractMemberSetters.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,10 @@ protected MethodSpec.Builder fluentSetterBuilder(TypeName returnType) {
7373
return fluentSetterBuilder(memberAsParameter(), returnType);
7474
}
7575

76+
protected MethodSpec.Builder fluentSetterBuilder(String methodName, TypeName returnType) {
77+
return fluentSetterBuilder(methodName, memberAsParameter(), returnType);
78+
}
79+
7680
protected MethodSpec.Builder fluentSetterBuilder(ParameterSpec setterParam, TypeName returnType) {
7781
return fluentSetterBuilder(memberModel().getFluentSetterMethodName(), setterParam, returnType);
7882
}
@@ -86,11 +90,15 @@ protected MethodSpec.Builder fluentSetterBuilder(String methodName, ParameterSpe
8690
}
8791

8892
protected MethodSpec.Builder beanStyleSetterBuilder() {
89-
return beanStyleSetterBuilder(memberAsBeanStyleParameter());
93+
return beanStyleSetterBuilder(memberAsBeanStyleParameter(), memberModel().getBeanStyleSetterMethodName());
9094
}
9195

92-
protected MethodSpec.Builder beanStyleSetterBuilder(ParameterSpec setterParam) {
93-
return MethodSpec.methodBuilder(memberModel().getBeanStyleSetterMethodName())
96+
protected MethodSpec.Builder deprecatedBeanStyleSetterBuilder() {
97+
return beanStyleSetterBuilder(memberAsBeanStyleParameter(), memberModel().getDeprecatedBeanStyleSetterMethodName());
98+
}
99+
100+
protected MethodSpec.Builder beanStyleSetterBuilder(ParameterSpec setterParam, String methodName) {
101+
return MethodSpec.methodBuilder(methodName)
94102
.addParameter(setterParam)
95103
.addModifiers(Modifier.PUBLIC, Modifier.FINAL);
96104
}

codegen/src/main/java/software/amazon/awssdk/codegen/poet/model/AccessorsFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ public List<MethodSpec> fluentSetters(MemberModel memberModel, TypeName returnTy
8080
return new NonCollectionSetters(intermediateModel, shapeModel, memberModel, typeProvider).fluent(returnType);
8181
}
8282

83-
public MethodSpec beanStyleSetter(MemberModel memberModel) {
83+
public List<MethodSpec> beanStyleSetters(MemberModel memberModel) {
8484
if (memberModel.isList()) {
8585
return new ListSetters(intermediateModel, shapeModel, memberModel, typeProvider).beanStyle();
8686
}

0 commit comments

Comments
 (0)