Skip to content

Commit 87e0523

Browse files
Merge pull request #911 from aws/staging/7afc9f58-c2be-49a4-b124-fd91ed9b2313
Pull request: release <- staging/7afc9f58-c2be-49a4-b124-fd91ed9b2313
2 parents 10697c0 + 4dad10d commit 87e0523

File tree

298 files changed

+1406
-985
lines changed

Some content is hidden

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

298 files changed

+1406
-985
lines changed

.changes/2.13.63.json

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
{
2+
"version": "2.13.63",
3+
"date": "2020-07-28",
4+
"entries": [
5+
{
6+
"type": "feature",
7+
"category": "AWS SDK for Java v2",
8+
"description": "Slight performance improvement when metrics are disabled."
9+
},
10+
{
11+
"type": "feature",
12+
"category": "Auto Scaling",
13+
"description": "Now you can enable Instance Metadata Service Version 2 (IMDSv2) or disable the instance metadata endpoint with Launch Configurations."
14+
},
15+
{
16+
"type": "feature",
17+
"category": "Amazon Interactive Video Service",
18+
"description": "Added a new error code, PendingVerification, to differentiate between errors caused by insufficient IAM permissions and errors caused by account verification."
19+
},
20+
{
21+
"type": "feature",
22+
"category": "AWS Elemental MediaLive",
23+
"description": "AWS Elemental MediaLive now supports several new features: EBU-TT-D captions in Microsoft Smooth outputs; interlaced video in HEVC outputs; video noise reduction (using temporal filtering) in HEVC outputs."
24+
},
25+
{
26+
"type": "feature",
27+
"category": "AWS SecurityHub",
28+
"description": "Added UpdateSecurityHubConfiguration API. Security Hub now allows customers to choose whether to automatically enable new controls that are added to an existing standard that the customer enabled. For example, if you enabled Foundational Security Best Practices for an account, you can automatically enable new controls as we add them to that standard. By default, new controls are enabled."
29+
},
30+
{
31+
"type": "bugfix",
32+
"category": "AWS SDK for Java v2",
33+
"description": "Fixed an issue where HTTP status code metrics were not always published for async clients."
34+
},
35+
{
36+
"type": "feature",
37+
"category": "EC2 Image Builder",
38+
"description": "This release updates distribution configurations to allow periods in AMI names."
39+
},
40+
{
41+
"type": "feature",
42+
"category": "Amazon Elastic Compute Cloud",
43+
"description": "Introduces support for tag-on-create capability for the following APIs: CreateVpnConnection, CreateVpnGateway, and CreateCustomerGateway. A user can now add tags while creating these resources. For further detail, please see AWS Tagging Strategies."
44+
},
45+
{
46+
"type": "feature",
47+
"category": "AWS SDK for Java v2",
48+
"description": "Updated service endpoint metadata."
49+
},
50+
{
51+
"type": "feature",
52+
"category": "Amazon Relational Database Service",
53+
"description": "Adds reporting of manual cluster snapshot quota to DescribeAccountAttributes API"
54+
}
55+
]
56+
}

CHANGELOG.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,40 @@
1+
# __2.13.63__ __2020-07-28__
2+
## __AWS Elemental MediaLive__
3+
- ### Features
4+
- AWS Elemental MediaLive now supports several new features: EBU-TT-D captions in Microsoft Smooth outputs; interlaced video in HEVC outputs; video noise reduction (using temporal filtering) in HEVC outputs.
5+
6+
## __AWS SDK for Java v2__
7+
- ### Features
8+
- Slight performance improvement when metrics are disabled.
9+
- Updated service endpoint metadata.
10+
11+
- ### Bugfixes
12+
- Fixed an issue where HTTP status code metrics were not always published for async clients.
13+
14+
## __AWS SecurityHub__
15+
- ### Features
16+
- Added UpdateSecurityHubConfiguration API. Security Hub now allows customers to choose whether to automatically enable new controls that are added to an existing standard that the customer enabled. For example, if you enabled Foundational Security Best Practices for an account, you can automatically enable new controls as we add them to that standard. By default, new controls are enabled.
17+
18+
## __Amazon Elastic Compute Cloud__
19+
- ### Features
20+
- Introduces support for tag-on-create capability for the following APIs: CreateVpnConnection, CreateVpnGateway, and CreateCustomerGateway. A user can now add tags while creating these resources. For further detail, please see AWS Tagging Strategies.
21+
22+
## __Amazon Interactive Video Service__
23+
- ### Features
24+
- Added a new error code, PendingVerification, to differentiate between errors caused by insufficient IAM permissions and errors caused by account verification.
25+
26+
## __Amazon Relational Database Service__
27+
- ### Features
28+
- Adds reporting of manual cluster snapshot quota to DescribeAccountAttributes API
29+
30+
## __Auto Scaling__
31+
- ### Features
32+
- Now you can enable Instance Metadata Service Version 2 (IMDSv2) or disable the instance metadata endpoint with Launch Configurations.
33+
34+
## __EC2 Image Builder__
35+
- ### Features
36+
- This release updates distribution configurations to allow periods in AMI names.
37+
138
# __2.13.62__ __2020-07-27__
239
## __AWS DataSync__
340
- ### Features

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ To automatically manage module versions (currently all modules have the same ver
4949
<dependency>
5050
<groupId>software.amazon.awssdk</groupId>
5151
<artifactId>bom</artifactId>
52-
<version>2.13.62</version>
52+
<version>2.13.63</version>
5353
<type>pom</type>
5454
<scope>import</scope>
5555
</dependency>
@@ -83,12 +83,12 @@ Alternatively you can add dependencies for the specific services you use only:
8383
<dependency>
8484
<groupId>software.amazon.awssdk</groupId>
8585
<artifactId>ec2</artifactId>
86-
<version>2.13.62</version>
86+
<version>2.13.63</version>
8787
</dependency>
8888
<dependency>
8989
<groupId>software.amazon.awssdk</groupId>
9090
<artifactId>s3</artifactId>
91-
<version>2.13.62</version>
91+
<version>2.13.63</version>
9292
</dependency>
9393
```
9494

@@ -100,7 +100,7 @@ You can import the whole SDK into your project (includes *ALL* services). Please
100100
<dependency>
101101
<groupId>software.amazon.awssdk</groupId>
102102
<artifactId>aws-sdk-java</artifactId>
103-
<version>2.13.62</version>
103+
<version>2.13.63</version>
104104
</dependency>
105105
```
106106

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.13.62</version>
23+
<version>2.13.63</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626
<artifactId>archetype-lambda</artifactId>

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

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

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -66,13 +66,12 @@
6666
import software.amazon.awssdk.core.metrics.CoreMetric;
6767
import software.amazon.awssdk.metrics.MetricCollector;
6868
import software.amazon.awssdk.metrics.MetricPublisher;
69+
import software.amazon.awssdk.metrics.NoOpMetricCollector;
6970
import software.amazon.awssdk.protocols.json.AwsJsonProtocolFactory;
7071
import software.amazon.awssdk.utils.CompletableFutureUtils;
7172
import software.amazon.awssdk.utils.FunctionalUtils;
7273

7374
public final class AsyncClientClass extends AsyncClientInterface {
74-
private static final String PUBLISHER_NAME = "metricPublishers";
75-
private static final String METRIC_COLLECTOR_NAME = "apiCallMetricCollector";
7675
private final IntermediateModel model;
7776
private final PoetExtensions poetExtensions;
7877
private final ClassName className;
@@ -200,14 +199,19 @@ protected MethodSpec.Builder operationBody(MethodSpec.Builder builder, Operation
200199
builder.addModifiers(Modifier.PUBLIC)
201200
.addAnnotation(Override.class);
202201

203-
builder.addStatement("$1T $2N = $1T.create($3S)",
204-
MetricCollector.class, METRIC_COLLECTOR_NAME, "ApiCall");
202+
builder.addStatement("$T<$T> metricPublishers = "
203+
+ "resolveMetricPublishers(clientConfiguration, $N.overrideConfiguration().orElse(null))",
204+
List.class,
205+
MetricPublisher.class,
206+
opModel.getInput().getVariableName())
207+
.addStatement("$1T apiCallMetricCollector = metricPublishers.isEmpty() ? $2T.create() : $1T.create($3S)",
208+
MetricCollector.class, NoOpMetricCollector.class, "ApiCall");
205209
builder.beginControlFlow("try");
206210

207-
builder.addStatement("$N.reportMetric($T.$L, $S)", METRIC_COLLECTOR_NAME, CoreMetric.class, "SERVICE_ID",
208-
model.getMetadata().getServiceId());
209-
builder.addStatement("$N.reportMetric($T.$L, $S)", METRIC_COLLECTOR_NAME, CoreMetric.class, "OPERATION_NAME",
210-
opModel.getOperationName());
211+
builder.addStatement("apiCallMetricCollector.reportMetric($T.$L, $S)",
212+
CoreMetric.class, "SERVICE_ID", model.getMetadata().getServiceId());
213+
builder.addStatement("apiCallMetricCollector.reportMetric($T.$L, $S)",
214+
CoreMetric.class, "OPERATION_NAME", opModel.getOperationName());
211215

212216
builder.addCode(ClientClassUtils.callApplySignerOverrideMethod(opModel))
213217
.addCode(ClientClassUtils.addEndpointTraitCode(opModel))
@@ -241,12 +245,7 @@ protected MethodSpec.Builder operationBody(MethodSpec.Builder builder, Operation
241245
"() -> $N.exceptionOccurred(t))", paramName);
242246
}
243247

244-
builder.addStatement("$T<$T> $N = resolveMetricPublishers(clientConfiguration, $N.overrideConfiguration().orElse(null))",
245-
List.class,
246-
MetricPublisher.class,
247-
PUBLISHER_NAME,
248-
opModel.getInput().getVariableName())
249-
.addStatement("$N.forEach(p -> p.publish($N.collect()))", PUBLISHER_NAME, "apiCallMetricCollector")
248+
builder.addStatement("metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()))")
250249
.addStatement("return $T.failedFuture(t)", CompletableFutureUtils.class)
251250
.endControlFlow();
252251

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

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
import software.amazon.awssdk.core.metrics.CoreMetric;
6060
import software.amazon.awssdk.metrics.MetricCollector;
6161
import software.amazon.awssdk.metrics.MetricPublisher;
62+
import software.amazon.awssdk.metrics.NoOpMetricCollector;
6263

6364
//TODO Make SyncClientClass extend SyncClientInterface (similar to what we do in AsyncClientClass)
6465
public class SyncClientClass implements ClassSpec {
@@ -194,27 +195,23 @@ private List<MethodSpec> operationMethodSpecs(OperationModel opModel) {
194195
method.endControlFlow();
195196
}
196197

197-
String metricCollectorName = "apiCallMetricCollector";
198-
199-
method.addStatement("$1T $2N = $1T.create($3S)",
200-
MetricCollector.class, metricCollectorName, "ApiCall");
201-
202-
String publishersName = "metricPublishers";
198+
method.addStatement("$T<$T> metricPublishers = "
199+
+ "resolveMetricPublishers(clientConfiguration, $N.overrideConfiguration().orElse(null))",
200+
List.class,
201+
MetricPublisher.class,
202+
opModel.getInput().getVariableName())
203+
.addStatement("$1T apiCallMetricCollector = metricPublishers.isEmpty() ? $2T.create() : $1T.create($3S)",
204+
MetricCollector.class, NoOpMetricCollector.class, "ApiCall");
203205

204206
method.beginControlFlow("try")
205-
.addStatement("$N.reportMetric($T.$L, $S)", metricCollectorName, CoreMetric.class, "SERVICE_ID",
206-
model.getMetadata().getServiceId())
207-
.addStatement("$N.reportMetric($T.$L, $S)", metricCollectorName, CoreMetric.class, "OPERATION_NAME",
208-
opModel.getOperationName())
207+
.addStatement("apiCallMetricCollector.reportMetric($T.$L, $S)",
208+
CoreMetric.class, "SERVICE_ID", model.getMetadata().getServiceId())
209+
.addStatement("apiCallMetricCollector.reportMetric($T.$L, $S)",
210+
CoreMetric.class, "OPERATION_NAME", opModel.getOperationName())
209211
.addCode(protocolSpec.executionHandler(opModel))
210212
.endControlFlow()
211213
.beginControlFlow("finally")
212-
.addStatement("$T<$T> $N = resolveMetricPublishers(clientConfiguration, $N.overrideConfiguration().orElse(null))",
213-
List.class,
214-
MetricPublisher.class,
215-
publishersName,
216-
opModel.getInput().getVariableName())
217-
.addStatement("$N.forEach(p -> p.publish($N.collect()))", publishersName, metricCollectorName)
214+
.addStatement("metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()))")
218215
.endControlFlow();
219216

220217
methods.add(method.build());

codegen/src/main/java/software/amazon/awssdk/codegen/poet/client/specs/ProtocolSpec.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -186,8 +186,6 @@ default String publishMetricsWhenComplete() {
186186
}
187187

188188
default String publishMetrics() {
189-
return "List<MetricPublisher> metricPublishers = resolveMetricPublishers(clientConfiguration, "
190-
+ "requestOverrideConfig);\n"
191-
+ "metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));";
189+
return "metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));";
192190
}
193191
}

0 commit comments

Comments
 (0)