diff --git a/.changes/2.11.10.json b/.changes/2.11.10.json
new file mode 100644
index 000000000000..50678182d3f0
--- /dev/null
+++ b/.changes/2.11.10.json
@@ -0,0 +1,31 @@
+{
+ "version": "2.11.10",
+ "date": "2020-04-06",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "Amazon Chime",
+ "description": "Amazon Chime proxy phone sessions let you provide two users with a shared phone number to communicate via voice or text for up to 12 hours without revealing personal phone numbers. When users call or message the provided phone number, they are connected to the other party and their private phone numbers are replaced with the shared number in Caller ID."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Transcribe Service",
+ "description": "This release adds support for batch transcription jobs within Amazon Transcribe Medical."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Elastic Beanstalk",
+ "description": "This release adds a new action, ListPlatformBranches, and updates two actions, ListPlatformVersions and DescribePlatformVersion, to support the concept of Elastic Beanstalk platform branches."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Identity and Access Management",
+ "description": "Documentation updates for AWS Identity and Access Management (IAM)."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.11.11.json b/.changes/2.11.11.json
new file mode 100644
index 000000000000..c95d042380f4
--- /dev/null
+++ b/.changes/2.11.11.json
@@ -0,0 +1,21 @@
+{
+ "version": "2.11.11",
+ "date": "2020-04-07",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "Amazon API Gateway",
+ "description": "Documentation updates for Amazon API Gateway."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon CodeGuru Reviewer",
+ "description": "API updates for CodeGuruReviewer"
+ },
+ {
+ "type": "feature",
+ "category": "AWS MediaConnect",
+ "description": "You can now send content from your MediaConnect flow to your virtual private cloud (VPC) without going over the public internet."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.11.12.json b/.changes/2.11.12.json
new file mode 100644
index 000000000000..3a48687df2cd
--- /dev/null
+++ b/.changes/2.11.12.json
@@ -0,0 +1,46 @@
+{
+ "version": "2.11.12",
+ "date": "2020-04-08",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "AWS Migration Hub Config",
+ "description": "Adding ThrottlingException"
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon CodeGuru Profiler",
+ "description": "CodeGuruProfiler adds support for resource based authorization to submit profile data."
+ },
+ {
+ "type": "feature",
+ "category": "AWS CloudFormation",
+ "description": "The OrganizationalUnitIds parameter on StackSet and the OrganizationalUnitId parameter on StackInstance, StackInstanceSummary, and StackSetOperationResultSummary are now reserved for internal use. No data is returned for this parameter."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Elastic Compute Cloud",
+ "description": "This release provides the ability to include tags in EC2 event notifications."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon EC2 Container Service",
+ "description": "This release provides native support for specifying Amazon EFS file systems as volumes in your Amazon ECS task definitions."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Chime",
+ "description": "feature: Chime: This release introduces the ability to tag Amazon Chime SDK meeting resources. You can use tags to organize and identify your resources for cost allocation."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Elemental MediaConvert",
+ "description": "AWS Elemental MediaConvert SDK adds support for queue hopping. Jobs can now hop from their original queue to a specified alternate queue, based on the maximum wait time that you specify in the job settings."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.11.13.json b/.changes/2.11.13.json
new file mode 100644
index 000000000000..112e1d2ce94d
--- /dev/null
+++ b/.changes/2.11.13.json
@@ -0,0 +1,81 @@
+{
+ "version": "2.11.13",
+ "date": "2020-04-16",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "Amazon Augmented AI Runtime",
+ "description": "This release updates Amazon Augmented AI ListHumanLoops and StartHumanLoop APIs."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Elemental MediaConvert",
+ "description": "AWS Elemental MediaConvert now allows you to specify your input captions frame rate for SCC captions sources."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SecurityHub",
+ "description": "Added a new BatchUpdateFindings action, which allows customers to update selected information about their findings. Security Hub customers use BatchUpdateFindings to track their investigation into a finding. BatchUpdateFindings is intended to replace the UpdateFindings action, which is deprecated."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Elastic Compute Cloud",
+ "description": "Amazon EC2 now supports adding AWS resource tags for placement groups and key pairs, at creation time. The CreatePlacementGroup API will now return placement group information when created successfully. The DeleteKeyPair API now supports deletion by resource ID."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Glue",
+ "description": "This release adds support for querying GetUserDefinedFunctions API without databaseName."
+ },
+ {
+ "type": "feature",
+ "category": "AWS MediaTailor",
+ "description": "AWS Elemental MediaTailor SDK now allows configuration of Avail Suppression."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Relational Database Service",
+ "description": "This release adds support for Amazon RDS Proxy with PostgreSQL compatibility."
+ },
+ {
+ "type": "feature",
+ "category": "EC2 Image Builder",
+ "description": "This release includes support for additional OS Versions within EC2 Image Builder."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Lambda",
+ "description": "Sample code for AWS Lambda operations"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon SageMaker Service",
+ "description": "Amazon SageMaker now supports running training jobs on ml.g4dn and ml.c5n instance types. Amazon SageMaker supports in \"IN\" operation for Search now."
+ },
+ {
+ "type": "bugfix",
+ "category": "Netty NIO HTTP Client",
+ "description": "Mark a connection as unreusable if there was a 5xx server error so that a new request will establish a new connection."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Import/Export Snowball",
+ "description": "An update to the Snowball Edge Storage Optimized device has been launched. Like the previous version, it has 80 TB of capacity for data transfer. Now it has 40 vCPUs, 80 GiB, and a 1 TiB SATA SSD of memory for EC2 compatible compute. The 80 TB of capacity can also be used for EBS-like volumes for AMIs."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Migration Hub",
+ "description": "Adding ThrottlingException"
+ },
+ {
+ "type": "feature",
+ "category": "AWS IoT Events",
+ "description": "API update that allows users to customize event action payloads, and adds support for Amazon DynamoDB actions."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.11.14.json b/.changes/2.11.14.json
new file mode 100644
index 000000000000..abeb535e8253
--- /dev/null
+++ b/.changes/2.11.14.json
@@ -0,0 +1,21 @@
+{
+ "version": "2.11.14",
+ "date": "2020-04-17",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "AWS OpsWorks CM",
+ "description": "Documentation updates for opsworkscm"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Fraud Detector",
+ "description": "Added support for a new rule engine execution mode. Customers will be able to configure their detector versions to evaluate all rules and return outcomes from all 'matched' rules in the GetPrediction API response. Added support for deleting Detectors (DeleteDetector) and Rule Versions (DeleteRuleVersion)."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.11.8.json b/.changes/2.11.8.json
new file mode 100644
index 000000000000..edde3d1b2916
--- /dev/null
+++ b/.changes/2.11.8.json
@@ -0,0 +1,36 @@
+{
+ "version": "2.11.8",
+ "date": "2020-04-02",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "Amazon GameLift",
+ "description": "Public preview of GameLift FleetIQ as a standalone feature. GameLift FleetIQ makes it possible to use low-cost Spot instances by limiting the chance of interruptions affecting game sessions. FleetIQ is a feature of the managed GameLift service, and can now be used with game hosting in EC2 Auto Scaling groups that you manage in your own account."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Redshift",
+ "description": "Documentation updates for redshift"
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Elemental MediaLive",
+ "description": "AWS Elemental MediaLive now supports Automatic Input Failover. This feature provides resiliency upstream of the channel, before ingest starts."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Relational Database Service",
+ "description": "Documentation updates for RDS: creating read replicas is now supported for SQL Server DB instances"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon CloudWatch",
+ "description": "Amazon CloudWatch Contributor Insights adds support for tags and tagging on resource creation."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.11.9.json b/.changes/2.11.9.json
new file mode 100644
index 000000000000..fda913d4e111
--- /dev/null
+++ b/.changes/2.11.9.json
@@ -0,0 +1,26 @@
+{
+ "version": "2.11.9",
+ "date": "2020-04-03",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "AWS RoboMaker",
+ "description": "Added support for limiting simulation unit usage, giving more predictable control over simulation cost"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Personalize Runtime",
+ "description": "Amazon Personalize: Add new response field \"score\" to each item returned by GetRecommendations and GetPersonalizedRanking (HRNN-based recipes only)"
+ },
+ {
+ "type": "feature",
+ "category": "AWS S3",
+ "description": "Allow DefaultS3Presigner.Builder to take a custom S3Configuration"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.12.0.json b/.changes/2.12.0.json
new file mode 100644
index 000000000000..a9af6d6cccc5
--- /dev/null
+++ b/.changes/2.12.0.json
@@ -0,0 +1,41 @@
+{
+ "version": "2.12.0",
+ "date": "2020-04-20",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "AWS Cost Explorer Service",
+ "description": "Cost Categories API is now General Available with new dimensions and operations support. You can map costs by account name, service, and charge type dimensions as well as use contains, starts with, and ends with operations. Cost Categories can also be used in RI and SP coverage reports."
+ },
+ {
+ "type": "feature",
+ "category": "AWS IoT Events",
+ "description": "API update that allows users to add AWS Iot SiteWise actions while creating Detector Model in AWS Iot Events"
+ },
+ {
+ "type": "feature",
+ "category": "AmazonApiGatewayV2",
+ "description": "You can now export an OpenAPI 3.0 compliant API definition file for Amazon API Gateway HTTP APIs using the Export API."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon DynamoDB Enhanced Client",
+ "description": "The Amazon DynamoDB Enhanced Client is now generally available and provides a natural and intuitive interface for developers to integrate their applications with Amazon DynamoDB by means of an adaptive API that will map inputs and results to and from Java objects modeled by the application, rather than requiring the developers to implement that transformation themselves."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "Synthetics",
+ "description": "Introducing CloudWatch Synthetics. This is the first public release of CloudWatch Synthetics."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Glue",
+ "description": "Added a new ConnectionType \"KAFKA\" and a ConnectionProperty \"KAFKA_BOOTSTRAP_SERVERS\" to support Kafka connection."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.0.json b/.changes/2.13.0.json
new file mode 100644
index 000000000000..905b2c86afc3
--- /dev/null
+++ b/.changes/2.13.0.json
@@ -0,0 +1,41 @@
+{
+ "version": "2.13.0",
+ "date": "2020-04-21",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "AWS Cost Explorer Service",
+ "description": "Cost Explorer Rightsizing Recommendations integrates with Compute Optimizer and begins offering across instance family rightsizing recommendations, adding to existing support for within instance family rightsizing recommendations."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updating dependency version: Jackson 2.10.0 -> 2.10.3, Jackson-annotations 2.9.0 -> 2.10.0."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Route 53 Domains",
+ "description": "You can now programmatically transfer domains between AWS accounts without having to contact AWS Support"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon GuardDuty",
+ "description": "AWS GuardDuty now supports using AWS Organizations delegated administrators to create and manage GuardDuty master and member accounts. The feature also allows GuardDuty to be automatically enabled on associated organization accounts."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Bump minor version to '2.13.0-SNAPSHOT' because of upgrade of Jackson version."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Elastic MapReduce",
+ "description": "Amazon EMR adds support for configuring a managed scaling policy for an Amazon EMR cluster. This enables automatic resizing of a cluster to optimize for job execution speed and reduced cluster cost."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.1.json b/.changes/2.13.1.json
new file mode 100644
index 000000000000..2e9062c21aa5
--- /dev/null
+++ b/.changes/2.13.1.json
@@ -0,0 +1,36 @@
+{
+ "version": "2.13.1",
+ "date": "2020-04-22",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon CodeGuru Reviewer",
+ "description": "Add support for code review and recommendation feedback APIs."
+ },
+ {
+ "type": "feature",
+ "category": "Firewall Management Service",
+ "description": "This release is to support AWS Firewall Manager policy with Organizational Unit scope."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Elasticsearch Service",
+ "description": "This change adds a new field 'OptionalDeployment' to ServiceSoftwareOptions to indicate whether a service software update is optional or mandatory. If True, it indicates that the update is optional, and the service software is not automatically updated. If False, the service software is automatically updated after AutomatedUpdateDate."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Transcribe Streaming Service",
+ "description": "Adding ServiceUnavailableException as one of the expected exceptions"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Redshift",
+ "description": "Amazon Redshift support for usage limits"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.10.json b/.changes/2.13.10.json
new file mode 100644
index 000000000000..5a3ec49b5bb3
--- /dev/null
+++ b/.changes/2.13.10.json
@@ -0,0 +1,31 @@
+{
+ "version": "2.13.10",
+ "date": "2020-05-05",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "AWS SDJ for Java v2",
+ "description": "Updating dependency version: Jackson 2.10.3 -> 2.10.4, and combine dependency Jackson-annotations with Jackson."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Support",
+ "description": "Documentation updates for support"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Elastic Compute Cloud",
+ "description": "With this release, you can call ModifySubnetAttribute with two new parameters: MapCustomerOwnedIpOnLaunch and CustomerOwnedIpv4Pool, to map a customerOwnedIpv4Pool to a subnet. You will also see these two new fields in the DescribeSubnets response. If your subnet has a customerOwnedIpv4Pool mapped, your network interface will get an auto assigned customerOwnedIpv4 address when placed onto an instance."
+ },
+ {
+ "type": "bugfix",
+ "category": "Amazon DynamoDB",
+ "description": "Tweaked the javadocs for Get/Update, since it was previously wrongfully copied over from Delete and mentions the \"delete operation\"."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Simple Systems Manager (SSM)",
+ "description": "AWS Systems Manager Parameter Store launches new data type to support aliases in EC2 APIs"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.11.json b/.changes/2.13.11.json
new file mode 100644
index 000000000000..449231d9b4ec
--- /dev/null
+++ b/.changes/2.13.11.json
@@ -0,0 +1,21 @@
+{
+ "version": "2.13.11",
+ "date": "2020-05-06",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "AWS CodeStar connections",
+ "description": "Added support for tagging resources in AWS CodeStar Connections"
+ },
+ {
+ "type": "feature",
+ "category": "AWS Comprehend Medical",
+ "description": "New Batch Ontology APIs for ICD-10 and RxNorm will provide batch capability of linking the information extracted by Comprehend Medical to medical ontologies. The new ontology linking APIs make it easy to detect medications and medical conditions in unstructured clinical text and link them to RxNorm and ICD-10-CM codes respectively. This new feature can help you reduce the cost, time and effort of processing large amounts of unstructured medical text with high accuracy."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.12.json b/.changes/2.13.12.json
new file mode 100644
index 000000000000..7b2c157f292c
--- /dev/null
+++ b/.changes/2.13.12.json
@@ -0,0 +1,46 @@
+{
+ "version": "2.13.12",
+ "date": "2020-05-07",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "Amazon CloudWatch Logs",
+ "description": "Amazon CloudWatch Logs now offers the ability to interact with Logs Insights queries via the new PutQueryDefinition, DescribeQueryDefinitions, and DeleteQueryDefinition APIs."
+ },
+ {
+ "type": "feature",
+ "category": "AWS CodeBuild",
+ "description": "Add COMMIT_MESSAGE enum for webhook filter types"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Elastic Compute Cloud",
+ "description": "Amazon EC2 now adds warnings to identify issues when creating a launch template or launch template version."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Route 53",
+ "description": "Amazon Route 53 now supports the EU (Milan) Region (eu-south-1) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Lightsail",
+ "description": "This release adds support for the following options in instance public ports: Specify source IP addresses, specify ICMP protocol like PING, and enable/disable the Lightsail browser-based SSH and RDP clients' access to your instance."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Simple Systems Manager (SSM)",
+ "description": "This Patch Manager release supports creating patch baselines for Oracle Linux and Debian"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon AppConfig",
+ "description": "The description of the AWS AppConfig GetConfiguration API action was amended to include important information about calling ClientConfigurationVersion when you configure clients to call GetConfiguration."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.13.json b/.changes/2.13.13.json
new file mode 100644
index 000000000000..c073c66f9fe6
--- /dev/null
+++ b/.changes/2.13.13.json
@@ -0,0 +1,31 @@
+{
+ "version": "2.13.13",
+ "date": "2020-05-08",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "Amazon SageMaker Service",
+ "description": "This release adds a new parameter (EnableInterContainerTrafficEncryption) to CreateProcessingJob API to allow for enabling inter-container traffic encryption on processing jobs."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Resource Groups Tagging API",
+ "description": "Documentation updates for resourcegroupstaggingapi"
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "A helpful error message is now raised when an obviously-invalid region name is given to the SDK, instead of the previous NullPointerException. Fixes [#1642](https://github.com/aws/aws-sdk-java-v2/issues/1642)."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon GuardDuty",
+ "description": "Documentation updates for GuardDuty"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.14.json b/.changes/2.13.14.json
new file mode 100644
index 000000000000..5f3cee6f8d07
--- /dev/null
+++ b/.changes/2.13.14.json
@@ -0,0 +1,26 @@
+{
+ "version": "2.13.14",
+ "date": "2020-05-11",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Elastic Compute Cloud",
+ "description": "M6g instances are our next-generation general purpose instances powered by AWS Graviton2 processors"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon CodeGuru Reviewer",
+ "description": "Add Bitbucket integration APIs"
+ },
+ {
+ "type": "feature",
+ "category": "AWSKendraFrontendService",
+ "description": "Amazon Kendra is now generally available. As part of general availability, we are launching Metrics for query & storage utilization"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.15.json b/.changes/2.13.15.json
new file mode 100644
index 000000000000..7d4bc3e225d2
--- /dev/null
+++ b/.changes/2.13.15.json
@@ -0,0 +1,16 @@
+{
+ "version": "2.13.15",
+ "date": "2020-05-12",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "Amazon WorkMail",
+ "description": "Minor API fixes and updates to the documentation."
+ },
+ {
+ "type": "feature",
+ "category": "AWS IoT SiteWise",
+ "description": "Documentation updates for iot-bifrost"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.16.json b/.changes/2.13.16.json
new file mode 100644
index 000000000000..70cf75d0eb56
--- /dev/null
+++ b/.changes/2.13.16.json
@@ -0,0 +1,21 @@
+{
+ "version": "2.13.16",
+ "date": "2020-05-13",
+ "entries": [
+ {
+ "type": "bugfix",
+ "category": "AWS SDK for Java v2",
+ "description": "Fix a race condition in `FileAsyncResponseTransformer` where the future fails to complete when onComplete event is dispatched on the same thread that executed request"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Macie 2",
+ "description": "This release introduces a new major version of the Amazon Macie API. You can use this version of the API to develop tools and applications that interact with the new Amazon Macie."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon ElastiCache",
+ "description": "Amazon ElastiCache now supports auto-update of ElastiCache clusters after the \"recommended apply by date\" of service update has passed. ElastiCache will use your maintenance window to schedule the auto-update of applicable clusters. For more information, see https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/Self-Service-Updates.html and https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Self-Service-Updates.html"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.17.json b/.changes/2.13.17.json
new file mode 100644
index 000000000000..3813e0448731
--- /dev/null
+++ b/.changes/2.13.17.json
@@ -0,0 +1,46 @@
+{
+ "version": "2.13.17",
+ "date": "2020-05-14",
+ "entries": [
+ {
+ "type": "bugfix",
+ "category": "AWS SDK for Java v2",
+ "description": "Support event streams that are shared between two operations."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon RDS",
+ "description": "Add SourceRegion to CopyDBClusterSnapshot and CreateDBCluster operations. As with CopyDBSnapshot and CreateDBInstanceReadReplica, specifying this field will automatically populate the PresignedURL field with a valid value."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Elastic Compute Cloud",
+ "description": "Amazon EC2 now supports adding AWS resource tags for associations between VPCs and local gateways, at creation time."
+ },
+ {
+ "type": "bugfix",
+ "category": "AWS SDK for Java v2",
+ "description": "Fix generation for operations that share an output shape."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Expose the `extendedRequestId` from `SdkServiceException`, so it can be provided to support to investigate issues."
+ },
+ {
+ "type": "bugfix",
+ "category": "AWS SDK for Java v2",
+ "description": "Fix unmarshalling of events when structure member name and shape name mismatch."
+ },
+ {
+ "type": "feature",
+ "category": "EC2 Image Builder",
+ "description": "This release adds a new parameter (SupportedOsVersions) to the Components API. This parameter lists the OS versions supported by a component."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.18.json b/.changes/2.13.18.json
new file mode 100644
index 000000000000..467682fdac88
--- /dev/null
+++ b/.changes/2.13.18.json
@@ -0,0 +1,41 @@
+{
+ "version": "2.13.18",
+ "date": "2020-05-15",
+ "entries": [
+ {
+ "type": "bugfix",
+ "category": "AWS SDK for Java v2",
+ "description": "Allow event structures to be used as operation outputs outside of streaming contexts."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Glue",
+ "description": "Starting today, you can stop the execution of Glue workflows that are running. AWS Glue workflows are directed acyclic graphs (DAGs) of Glue triggers, crawlers and jobs. Using a workflow, you can design a complex multi-job extract, transform, and load (ETL) activity that AWS Glue can execute and track as single entity."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon EC2 Container Registry",
+ "description": "This release adds support for specifying an image manifest media type when pushing a manifest to Amazon ECR."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Security Token Service",
+ "description": "API updates for STS"
+ },
+ {
+ "type": "feature",
+ "category": "AWS CloudFormation",
+ "description": "This release adds support for the following features: 1. DescribeType and ListTypeVersions APIs now output a field IsDefaultVersion, indicating if a version is the default version for its type; 2. Add StackRollbackComplete waiter feature to wait until stack status is UPDATE_ROLLBACK_COMPLETE; 3. Add paginators in DescribeAccountLimits, ListChangeSets, ListStackInstances, ListStackSetOperationResults, ListStackSetOperations, ListStackSets APIs."
+ },
+ {
+ "type": "bugfix",
+ "category": "AWS SDK for Java v2",
+ "description": "Fix generation for services that contain operations with the same name as the service."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.19.json b/.changes/2.13.19.json
new file mode 100644
index 000000000000..af01c484cf54
--- /dev/null
+++ b/.changes/2.13.19.json
@@ -0,0 +1,41 @@
+{
+ "version": "2.13.19",
+ "date": "2020-05-18",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "Amazon Macie 2",
+ "description": "Documentation updates for Amazon Macie"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon DynamoDB",
+ "description": "Documentation updates for dynamodb"
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon EC2 Container Service",
+ "description": "This release adds support for specifying environment files to add environment variables to your containers."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon QLDB",
+ "description": "Amazon QLDB now supports Amazon Kinesis data streams. You can now emit QLDB journal data, via the new QLDB Streams feature, directly to Amazon Kinesis supporting event processing and analytics among related use cases."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Elastic Compute Cloud",
+ "description": "This release changes the RunInstances CLI and SDK's so that if you do not specify a client token, a randomly generated token is used for the request to ensure idempotency."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Chime",
+ "description": "Amazon Chime now supports redacting chat messages."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.2.json b/.changes/2.13.2.json
new file mode 100644
index 000000000000..5ff3d4a2259b
--- /dev/null
+++ b/.changes/2.13.2.json
@@ -0,0 +1,51 @@
+{
+ "version": "2.13.2",
+ "date": "2020-04-23",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "AWS Transfer Family",
+ "description": "This release adds support for transfers over FTPS and FTP in and out of Amazon S3, which makes it easy to migrate File Transfer Protocol over SSL (FTPS) and FTP workloads to AWS, in addition to the existing support for Secure File Transfer Protocol (SFTP)."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Storage Gateway",
+ "description": "Added AutomaticTapeCreation APIs"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Pinpoint",
+ "description": "This release of the Amazon Pinpoint API enhances support for sending campaigns through custom channels to locations such as AWS Lambda functions or web applications. Campaigns can now use CustomDeliveryConfiguration and CampaignCustomMessage to configure custom channel settings for a campaign."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Resource Access Manager",
+ "description": "AWS Resource Access Manager (RAM) provides a new ListResourceTypes action. This action lets you list the resource types that can be shared using AWS RAM."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Elemental MediaPackage VOD",
+ "description": "Adds tagging support for PackagingGroups, PackagingConfigurations, and Assets"
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Relational Database Service",
+ "description": "Adds support for AWS Local Zones, including a new optional parameter AvailabilityZoneGroup for the DescribeOrderableDBInstanceOptions operation."
+ },
+ {
+ "type": "feature",
+ "category": "Application Auto Scaling",
+ "description": "This release supports Auto Scaling in Amazon Keyspaces for Apache Cassandra."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Kinesis Firehose",
+ "description": "You can now deliver streaming data to an Amazon Elasticsearch Service domain in an Amazon VPC. You can now compress streaming data delivered to S3 using Hadoop-Snappy in addition to Gzip, Zip and Snappy formats."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.20.json b/.changes/2.13.20.json
new file mode 100644
index 000000000000..92ec01704b9c
--- /dev/null
+++ b/.changes/2.13.20.json
@@ -0,0 +1,36 @@
+{
+ "version": "2.13.20",
+ "date": "2020-05-19",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "AWS Health APIs and Notifications",
+ "description": "Feature: Health: AWS Health added a new field to differentiate Public events from Account-Specific events in the API request and response. Visit https://docs.aws.amazon.com/health/latest/APIReference/API_Event.html to learn more."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Endpoint discovery is now enabled by default for future services that will require it. A new method 'endpointDiscoveryEnabled' has been added to client builders that support endpoint discovery allowing a true or false value to be set. 'enableEndpointDiscovery' has been deprecated on the client builders as it is now superseded by 'endpointDiscoveryEnabled'."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Chime",
+ "description": "You can now receive Voice Connector call events through SNS or SQS."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Elastic Compute Cloud",
+ "description": "This release adds support for Federated Authentication via SAML-2.0 in AWS ClientVPN."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Transcribe Service",
+ "description": "Documentation updates for Amazon Transcribe."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.21.json b/.changes/2.13.21.json
new file mode 100644
index 000000000000..aad080c3af8d
--- /dev/null
+++ b/.changes/2.13.21.json
@@ -0,0 +1,46 @@
+{
+ "version": "2.13.21",
+ "date": "2020-05-20",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "AWS Elemental MediaLive",
+ "description": "AWS Elemental MediaLive now supports the ability to ingest the content that is streaming from an AWS Elemental Link device: https://aws.amazon.com/medialive/features/link/. This release also adds support for SMPTE-2038 and input state waiters."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SecurityHub",
+ "description": "For findings related to controls, the finding information now includes the reason behind the current status of the control. A new field for the findings original severity allows finding providers to use the severity values from the system they use to assign severity."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Chime",
+ "description": "Amazon Chime enterprise account administrators can now set custom retention policies on chat data in the Amazon Chime application."
+ },
+ {
+ "type": "feature",
+ "category": "AWS CodeDeploy",
+ "description": "Amazon ECS customers using application and network load balancers can use CodeDeploy BlueGreen hook to invoke a CloudFormation stack update. With this update you can view CloudFormation deployment and target details via existing APIs and use your stack Id to list or delete all deployments associated with the stack."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Transcribe Streaming Service",
+ "description": "This release adds support for vocabulary filtering in streaming with which you can filter unwanted words from the real-time transcription results. Visit https://docs.aws.amazon.com/transcribe/latest/dg/how-it-works.html to learn more."
+ },
+ {
+ "type": "feature",
+ "category": "AWS App Mesh",
+ "description": "List APIs for all resources now contain additional information: when a resource was created, last updated, and its current version number."
+ },
+ {
+ "type": "feature",
+ "category": "Application Auto Scaling",
+ "description": "Documentation updates for Application Auto Scaling"
+ },
+ {
+ "type": "feature",
+ "category": "AWS Backup",
+ "description": "This release allows customers to enable or disable AWS Backup support for an AWS resource type. This release also includes new APIs, update-region-settings and describe-region-settings, which can be used to opt in to a specific resource type. For all current AWS Backup customers, the default settings enable support for EBS, EC2, StorageGateway, EFS, DDB and RDS resource types."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.22.json b/.changes/2.13.22.json
new file mode 100644
index 000000000000..0d686bfd92d4
--- /dev/null
+++ b/.changes/2.13.22.json
@@ -0,0 +1,36 @@
+{
+ "version": "2.13.22",
+ "date": "2020-05-21",
+ "entries": [
+ {
+ "type": "bugfix",
+ "category": "AWS SDK for Java v2",
+ "description": "Fixed an issue where a service returning an unknown response event type would cause a failure."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "Synthetics",
+ "description": "AWS CloudWatch Synthetics now supports configuration of allocated memory for a canary."
+ },
+ {
+ "type": "feature",
+ "category": "AWS CodeBuild",
+ "description": "CodeBuild adds support for tagging with report groups"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Elastic Compute Cloud",
+ "description": "From this release onwards ProvisionByoipCidr publicly supports IPv6. Updated ProvisionByoipCidr API to support tags for public IPv4 and IPv6 pools. Added NetworkBorderGroup to the DescribePublicIpv4Pools response."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Simple Storage Service",
+ "description": "Deprecates unusable input members bound to Content-MD5 header. Updates example and documentation."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.23.json b/.changes/2.13.23.json
new file mode 100644
index 000000000000..76f107963e0a
--- /dev/null
+++ b/.changes/2.13.23.json
@@ -0,0 +1,21 @@
+{
+ "version": "2.13.23",
+ "date": "2020-05-22",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "AWS IoT SiteWise",
+ "description": "This release adds support for the standard deviation auto-computed aggregate and improved support for portal logo images in SiteWise."
+ },
+ {
+ "type": "feature",
+ "category": "Auto Scaling",
+ "description": "Documentation updates for Amazon EC2 Auto Scaling"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.24.json b/.changes/2.13.24.json
new file mode 100644
index 000000000000..347220932f55
--- /dev/null
+++ b/.changes/2.13.24.json
@@ -0,0 +1,41 @@
+{
+ "version": "2.13.24",
+ "date": "2020-05-26",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "Amazon Elastic Compute Cloud",
+ "description": "ebsOptimizedInfo, efaSupported and supportedVirtualizationTypes added to DescribeInstanceTypes API"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Data Lifecycle Manager",
+ "description": "Allowing cron expression in the DLM policy creation schedule."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Macie",
+ "description": "This is a documentation-only update to the Amazon Macie Classic API. This update corrects out-of-date references to the service name."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon ElastiCache",
+ "description": "Amazon ElastiCache now allows you to use resource based policies to manage access to operations performed on ElastiCache resources. Also, Amazon ElastiCache now exposes ARN (Amazon Resource Names) for ElastiCache resources such as Cache Clusters and Parameter Groups. ARNs can be used to apply IAM policies to ElastiCache resources."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon QuickSight",
+ "description": "Add DataSetArns to QuickSight DescribeDashboard API response."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Simple Systems Manager (SSM)",
+ "description": "The AWS Systems Manager GetOpsSummary API action now supports multiple OpsResultAttributes in the request. Currently, this feature only supports OpsResultAttributes with the following TypeNames: [AWS:EC2InstanceComputeOptimizer] or [AWS:EC2InstanceInformation, AWS:EC2InstanceComputeOptimizer]. These TypeNames can be used along with either or both of the following: [AWS:EC2InstanceRecommendation, AWS:RecommendationSource]"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.25.json b/.changes/2.13.25.json
new file mode 100644
index 000000000000..73ef7b4eecbb
--- /dev/null
+++ b/.changes/2.13.25.json
@@ -0,0 +1,26 @@
+{
+ "version": "2.13.25",
+ "date": "2020-05-27",
+ "entries": [
+ {
+ "type": "bugfix",
+ "category": "Amazon S3",
+ "description": "Check the `x-amz-content-range` header for `GetObject` responses when the `Content-Range` header is not returned by the service. Fixes [#1209](https://github.com/aws/aws-sdk-java-v2/issues/1209)."
+ },
+ {
+ "type": "feature",
+ "category": "Elastic Load Balancing",
+ "description": "This release added support for HTTP/2 ALPN preference lists for Network Load Balancers"
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon GuardDuty",
+ "description": "Documentation updates for GuardDuty"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.26.json b/.changes/2.13.26.json
new file mode 100644
index 000000000000..cd65b21304ed
--- /dev/null
+++ b/.changes/2.13.26.json
@@ -0,0 +1,26 @@
+{
+ "version": "2.13.26",
+ "date": "2020-05-28",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "Amazon QLDB Session",
+ "description": "Documentation updates for Amazon QLDB Session"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon WorkMail",
+ "description": "This release adds support for Amazon WorkMail organization-level retention policies."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Marketplace Catalog Service",
+ "description": "AWS Marketplace Catalog now supports accessing initial change payloads with DescribeChangeSet operation."
+ },
+ {
+ "type": "feature",
+ "category": "Managed Streaming for Kafka",
+ "description": "New APIs for upgrading the Apache Kafka version of a cluster and to find out compatible upgrade paths"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.27.json b/.changes/2.13.27.json
new file mode 100644
index 000000000000..f546be4f0bf5
--- /dev/null
+++ b/.changes/2.13.27.json
@@ -0,0 +1,46 @@
+{
+ "version": "2.13.27",
+ "date": "2020-06-01",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "AWS Key Management Service",
+ "description": "AWS Key Management Service (AWS KMS): If the GenerateDataKeyPair or GenerateDataKeyPairWithoutPlaintext APIs are called on a CMK in a custom key store (origin == AWS_CLOUDHSM), they return an UnsupportedOperationException. If a call to UpdateAlias causes a customer to exceed the Alias resource quota, the UpdateAlias API returns a LimitExceededException."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Athena",
+ "description": "This release adds support for connecting Athena to your own Apache Hive Metastores in addition to the AWS Glue Data Catalog. For more information, please see https://docs.aws.amazon.com/athena/latest/ug/connect-to-data-source-hive.html"
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Elastic MapReduce",
+ "description": "Amazon EMR now supports encrypting log files with AWS Key Management Service (KMS) customer managed keys."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Maven Lambda Archetype",
+ "description": "Updated the `archetype-lambda` to generate SDK client that uses region from environment variable."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon WorkLink",
+ "description": "Amazon WorkLink now supports resource tagging for fleets."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon SageMaker Service",
+ "description": "We are releasing HumanTaskUiArn as a new parameter in CreateLabelingJob and RenderUiTemplate which can take an ARN for a system managed UI to render a task."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon FSx",
+ "description": "New capabilities to update storage capacity and throughput capacity of your file systems, providing the flexibility to grow file storage and to scale up or down the available performance as needed to meet evolving storage needs over time."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.28.json b/.changes/2.13.28.json
new file mode 100644
index 000000000000..5d785c1b88dd
--- /dev/null
+++ b/.changes/2.13.28.json
@@ -0,0 +1,11 @@
+{
+ "version": "2.13.28",
+ "date": "2020-06-02",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "Amazon GuardDuty",
+ "description": "Amazon GuardDuty findings now include S3 bucket details under the resource section if an S3 Bucket was one of the affected resources"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.29.json b/.changes/2.13.29.json
new file mode 100644
index 000000000000..46f23d0e5331
--- /dev/null
+++ b/.changes/2.13.29.json
@@ -0,0 +1,41 @@
+{
+ "version": "2.13.29",
+ "date": "2020-06-03",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "AWS Identity and Access Management",
+ "description": "GenerateServiceLastAccessedDetails will now return ActionLastAccessed details for certain S3 control plane actions"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Elasticsearch Service",
+ "description": "Amazon Elasticsearch Service now offers support for cross-cluster search, enabling you to perform searches, aggregations, and visualizations across multiple Amazon Elasticsearch Service domains with a single query or from a single Kibana interface. New feature includes the ability to setup connection, required to perform cross-cluster search, between domains using an approval workflow."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Glue",
+ "description": "Adding databaseName in the response for GetUserDefinedFunctions() API."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Elemental MediaConvert",
+ "description": "AWS Elemental MediaConvert SDK has added support for the encoding of VP8 or VP9 video in WebM container with Vorbis or Opus audio."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Direct Connect",
+ "description": "This release supports the virtual interface failover test, which allows you to verify that traffic routes over redundant virtual interfaces when you bring your primary virtual interface out of service."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon ElastiCache",
+ "description": "This release improves the Multi-AZ feature in ElastiCache by adding a separate flag and proper validations."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.3.json b/.changes/2.13.3.json
new file mode 100644
index 000000000000..d2a6ac7ea768
--- /dev/null
+++ b/.changes/2.13.3.json
@@ -0,0 +1,31 @@
+{
+ "version": "2.13.3",
+ "date": "2020-04-24",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "Amazon Data Lifecycle Manager",
+ "description": "Enable 1hour frequency in the schedule creation for Data LifeCycle Manager."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "AWS IoT",
+ "description": "This release adds a new exception type to the AWS IoT SetV2LoggingLevel API."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Elastic Inference",
+ "description": "This feature allows customers to describe the accelerator types and offerings on any region where Elastic Inference is available."
+ },
+ {
+ "type": "bugfix",
+ "category": "AWS SDK for Java v2",
+ "description": "Fixed bean-style setter names on serializable builders to match bean-style getter names."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.30.json b/.changes/2.13.30.json
new file mode 100644
index 000000000000..24c4bca4a469
--- /dev/null
+++ b/.changes/2.13.30.json
@@ -0,0 +1,36 @@
+{
+ "version": "2.13.30",
+ "date": "2020-06-04",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "AWSMarketplace Metering",
+ "description": "Documentation updates for meteringmarketplace"
+ },
+ {
+ "type": "feature",
+ "category": "AWS Elemental MediaPackage VOD",
+ "description": "You can now restrict direct access to AWS Elemental MediaPackage by securing requests for VOD content using CDN authorization. With CDN authorization, content requests require a specific HTTP header and authorization code."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Lightsail",
+ "description": "This release adds the BurstCapacityPercentage and BurstCapacityTime instance metrics, which allow you to track the burst capacity available to your instance."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Elastic Compute Cloud",
+ "description": "New C5a instances, the latest generation of EC2's compute-optimized instances featuring AMD's 2nd Generation EPYC processors. C5a instances offer up to 96 vCPUs, 192 GiB of instance memory, 20 Gbps in Network bandwidth; New G4dn.metal bare metal instance with 8 NVIDIA T4 GPUs."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Simple Systems Manager (SSM)",
+ "description": "SSM State Manager support for executing an association only at specified CRON schedule after creating/updating an association."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.31.json b/.changes/2.13.31.json
new file mode 100644
index 000000000000..5d5cabdf1b83
--- /dev/null
+++ b/.changes/2.13.31.json
@@ -0,0 +1,51 @@
+{
+ "version": "2.13.31",
+ "date": "2020-06-05",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "Amazon CloudFront",
+ "description": "Amazon CloudFront adds support for configurable origin connection attempts and origin connection timeout."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Service Catalog",
+ "description": "This release adds support for DescribeProduct and DescribeProductAsAdmin by product name, DescribeProvisioningArtifact by product name or provisioning artifact name, returning launch paths as part of DescribeProduct output and adds maximum length for provisioning artifact name and provisioning artifact description."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Personalize Runtime",
+ "description": "[Personalize] Adds ability to apply filter to real-time recommendations"
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon API Gateway",
+ "description": "Amazon API Gateway now allows customers of REST APIs to skip trust chain validation for backend server certificates for HTTP and VPC Link Integration. This feature enables customers to configure their REST APIs to integrate with backends that are secured with certificates vended from private certificate authorities (CA) or certificates that are self-signed."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Pinpoint",
+ "description": "This release enables additional functionality for the Amazon Pinpoint journeys feature. With this release, you can send messages through additional channels, including SMS, push notifications, and custom channels."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Personalize",
+ "description": "[Personalize] Adds ability to create and apply filters."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon SageMaker Runtime",
+ "description": "You can now specify the production variant to send the inference request to, when invoking a SageMaker Endpoint that is running two or more variants."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Elastic Beanstalk",
+ "description": "These API changes enable an IAM user to associate an operations role with an Elastic Beanstalk environment, so that the IAM user can call Elastic Beanstalk actions without having access to underlying downstream AWS services that these actions call."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.32.json b/.changes/2.13.32.json
new file mode 100644
index 000000000000..c026b2237a9c
--- /dev/null
+++ b/.changes/2.13.32.json
@@ -0,0 +1,21 @@
+{
+ "version": "2.13.32",
+ "date": "2020-06-08",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "AWS Cloud Map",
+ "description": "Added support for tagging Service and Namespace type resources in Cloud Map"
+ },
+ {
+ "type": "feature",
+ "category": "AWS Shield",
+ "description": "This release adds the option for customers to identify a contact name and method that the DDoS Response Team can proactively engage when a Route 53 Health Check that is associated with a Shield protected resource fails."
+ },
+ {
+ "type": "bugfix",
+ "category": "AWS SDK for Java v2",
+ "description": "Update javadoc annotation for AwsBasicCredentials"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.33.json b/.changes/2.13.33.json
new file mode 100644
index 000000000000..655146bc5866
--- /dev/null
+++ b/.changes/2.13.33.json
@@ -0,0 +1,16 @@
+{
+ "version": "2.13.33",
+ "date": "2020-06-09",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "AWS Transfer Family",
+ "description": "This release updates the API so customers can test use of Source IP to allow, deny or limit access to data in their S3 buckets after integrating their identity provider."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.34.json b/.changes/2.13.34.json
new file mode 100644
index 000000000000..b58df9e2886f
--- /dev/null
+++ b/.changes/2.13.34.json
@@ -0,0 +1,51 @@
+{
+ "version": "2.13.34",
+ "date": "2020-06-10",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "AWS Compute Optimizer",
+ "description": "Compute Optimizer supports exporting recommendations to Amazon S3."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon AppConfig",
+ "description": "This release allows customers to choose from a list of predefined deployment strategies while starting deployments."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Elastic Compute Cloud",
+ "description": "New C6g instances powered by AWS Graviton2 processors and ideal for running advanced, compute-intensive workloads; New R6g instances powered by AWS Graviton2 processors and ideal for running memory-intensive workloads."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Lightsail",
+ "description": "Documentation updates for lightsail"
+ },
+ {
+ "type": "feature",
+ "category": "AWS Shield",
+ "description": "Corrections to the supported format for contact phone numbers and to the description for the create subscription action."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Data Lifecycle Manager",
+ "description": "Reducing the schedule name of DLM Lifecycle policy from 500 to 120 characters."
+ },
+ {
+ "type": "feature",
+ "category": "CodeArtifact",
+ "description": "Added support for AWS CodeArtifact."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Macie 2",
+ "description": "This release of the Amazon Macie API removes support for the ArchiveFindings and UnarchiveFindings operations. This release also adds UNKNOWN as an encryption type for S3 bucket metadata."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Service Catalog",
+ "description": "Service Catalog Documentation Update for Integration with AWS Organizations Delegated Administrator feature"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.35.json b/.changes/2.13.35.json
new file mode 100644
index 000000000000..8b23113e363c
--- /dev/null
+++ b/.changes/2.13.35.json
@@ -0,0 +1,36 @@
+{
+ "version": "2.13.35",
+ "date": "2020-06-11",
+ "entries": [
+ {
+ "type": "bugfix",
+ "category": "AWS SDK for Java v2",
+ "description": "Avoid unnecessary copying in `AsyncRequestBody.fromBytes()`"
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "AWS IoT Data Plane",
+ "description": "As part of this release, we are introducing a new feature called named shadow, which extends the capability of AWS IoT Device Shadow to support multiple shadows for a single IoT device. With this release, customers can store different device state data into different shadows, and as a result access only the required state data when needed and reduce individual shadow size."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Lex Model Building Service",
+ "description": "This change adds the built-in AMAZON.KendraSearchIntent that enables integration with Amazon Kendra."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon EC2 Container Service",
+ "description": "This release adds support for deleting capacity providers."
+ },
+ {
+ "type": "feature",
+ "category": "EC2 Image Builder",
+ "description": "EC2 Image Builder now supports specifying a custom working directory for your build and test workflows. In addition, Image Builder now supports defining tags that are applied to ephemeral resources created by EC2 Image Builder as part of the image creation workflow."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.36.json b/.changes/2.13.36.json
new file mode 100644
index 000000000000..199f1a1ed4da
--- /dev/null
+++ b/.changes/2.13.36.json
@@ -0,0 +1,31 @@
+{
+ "version": "2.13.36",
+ "date": "2020-06-12",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "AWS CloudFormation",
+ "description": "The following parameters now return the organization root ID or organizational unit (OU) IDs that you specified for DeploymentTargets: the OrganizationalUnitIds parameter on StackSet and the OrganizationalUnitId parameter on StackInstance, StackInstanceSummary, and StackSetOperationResultSummary"
+ },
+ {
+ "type": "feature",
+ "category": "AWS Glue",
+ "description": "You can now choose to crawl the entire table or just a sample of records in DynamoDB when using AWS Glue crawlers. Additionally, you can also specify a scanning rate for crawling DynamoDB tables."
+ },
+ {
+ "type": "bugfix",
+ "category": "AWS SDK for Java v2 DynamoDB Enhanced Client",
+ "description": "Added ClientRequestToken in class TransactWriteItemsEnhancedRequest."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Storage Gateway",
+ "description": "Display EndpointType in DescribeGatewayInformation"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon API Gateway",
+ "description": "Documentation updates for Amazon API Gateway"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.37.json b/.changes/2.13.37.json
new file mode 100644
index 000000000000..283abad01548
--- /dev/null
+++ b/.changes/2.13.37.json
@@ -0,0 +1,31 @@
+{
+ "version": "2.13.37",
+ "date": "2020-06-15",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "Amazon Chime",
+ "description": "feature: Chime: This release introduces the ability to create an AWS Chime SDK meeting with attendees."
+ },
+ {
+ "type": "feature",
+ "category": "Alexa For Business",
+ "description": "Adding support for optional tags in CreateBusinessReportSchedule, CreateProfile and CreateSkillGroup APIs"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Cognito Identity Provider",
+ "description": "Updated all AuthParameters to be sensitive."
+ },
+ {
+ "type": "feature",
+ "category": "AWS IoT",
+ "description": "Added support for job executions rollout configuration, job abort configuration, and job executions timeout configuration for AWS IoT Over-the-Air (OTA) Update Feature."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon AppConfig",
+ "description": "This release adds a hosted configuration source provider. Customers can now store their application configurations directly in AppConfig, without the need for an external configuration source."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.38.json b/.changes/2.13.38.json
new file mode 100644
index 000000000000..04497c4057d3
--- /dev/null
+++ b/.changes/2.13.38.json
@@ -0,0 +1,41 @@
+{
+ "version": "2.13.38",
+ "date": "2020-06-16",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "Auto Scaling",
+ "description": "Introducing instance refresh, a feature that helps you update all instances in an Auto Scaling group in a rolling fashion (for example, to apply a new AMI or instance type). You can control the pace of the refresh by defining the percentage of the group that must remain running/healthy during the replacement process and the time for new instances to warm up between replacements."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Data Exchange",
+ "description": "This release fixes a bug in the AWS Data Exchange Python and NodeJS SDKs. The 'KmsKeyArn' field in the create-job API was configured to be required instead of optional. We updated this field to be optional in this release."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon CloudFront",
+ "description": "Documentation updates for CloudFront"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Polly",
+ "description": "Amazon Polly adds new US English child voice - Kevin. Kevin is available as Neural voice only."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Lambda",
+ "description": "Adds support for using Amazon Elastic File System (persistent storage) with AWS Lambda. This enables customers to share data across function invocations, read large reference data files, and write function output to a persistent and shared store."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon QLDB",
+ "description": "Documentation updates for Amazon QLDB"
+ },
+ {
+ "type": "bugfix",
+ "category": "Amazon DynamoDB Enhanced Client",
+ "description": "Fix an NPE in `OptionalAttributeConverter` that can happen the if the `nul()` property of the `AttributeValue` is `null`."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.39.json b/.changes/2.13.39.json
new file mode 100644
index 000000000000..0da636d54ca1
--- /dev/null
+++ b/.changes/2.13.39.json
@@ -0,0 +1,36 @@
+{
+ "version": "2.13.39",
+ "date": "2020-06-17",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Elastic Compute Cloud",
+ "description": "nvmeSupport added to DescribeInstanceTypes API"
+ },
+ {
+ "type": "feature",
+ "category": "AWS App Mesh",
+ "description": "Adds support for route and virtual node listener timeouts."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Route 53",
+ "description": "Add PriorRequestNotComplete exception to AssociateVPCWithHostedZone API"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Macie 2",
+ "description": "This is a documentation-only update to the Amazon Macie API. This update contains miscellaneous editorial improvements to various API descriptions."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Import/Export Snowball",
+ "description": "AWS Snowcone is a portable, rugged and secure device for edge computing and data transfer. You can use Snowcone to collect, process, and move data to AWS, either offline by shipping the device to AWS or online by using AWS DataSync. With 2 CPUs and 4 GB RAM of compute and 8 TB of storage, Snowcone can run edge computing workloads and store data securely. Snowcone's small size (8.94\" x 5.85\" x 3.25\" / 227 mm x 148.6 mm x 82.65 mm) allows you to set it next to machinery in a factory. Snowcone weighs about 4.5 lbs. (2 kg), so you can carry one in a backpack, use it with battery-based operation, and use the Wi-Fi interface to gather sensor data. Snowcone supports a file interface with NFS support."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.4.json b/.changes/2.13.4.json
new file mode 100644
index 000000000000..9a1fc0862c0a
--- /dev/null
+++ b/.changes/2.13.4.json
@@ -0,0 +1,36 @@
+{
+ "version": "2.13.4",
+ "date": "2020-04-27",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "AWS Database Migration Service",
+ "description": "Adding minimum replication engine version for describe-endpoint-types api."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Various performance improvements."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon SageMaker Service",
+ "description": "Change to the input, ResourceSpec, changing EnvironmentArn to SageMakerImageArn. This affects the following preview APIs: CreateDomain, DescribeDomain, UpdateDomain, CreateUserProfile, DescribeUserProfile, UpdateUserProfile, CreateApp and DescribeApp."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Data Exchange",
+ "description": "This release introduces AWS Data Exchange support for configurable encryption parameters when exporting data sets to Amazon S3."
+ },
+ {
+ "type": "feature",
+ "category": "Access Analyzer",
+ "description": "This release adds support for inclusion of S3 Access Point policies in IAM Access Analyzer evaluation of S3 bucket access. IAM Access Analyzer now reports findings for buckets shared through access points and identifies the access point that permits access."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.40.json b/.changes/2.13.40.json
new file mode 100644
index 000000000000..6c93707308b9
--- /dev/null
+++ b/.changes/2.13.40.json
@@ -0,0 +1,46 @@
+{
+ "version": "2.13.40",
+ "date": "2020-06-18",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "AWS Support",
+ "description": "Documentation updates for support"
+ },
+ {
+ "type": "feature",
+ "category": "AWSMarketplace Metering",
+ "description": "Documentation updates for meteringmarketplace"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Route 53",
+ "description": "Added a new ListHostedZonesByVPC API for customers to list all the private hosted zones that a specified VPC is associated with."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Elemental MediaConvert",
+ "description": "AWS Elemental MediaConvert SDK has added support for NexGuard FileMarker SDK, which allows NexGuard partners to watermark proprietary content in mezzanine and OTT streaming contexts."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Relational Database Service",
+ "description": "Adding support for global write forwarding on secondary clusters in an Aurora global database."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Simple Systems Manager (SSM)",
+ "description": "Added offset support for specifying the number of days to wait after the date and time specified by a CRON expression before running the maintenance window."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Simple Email Service",
+ "description": "You can now configure Amazon SES to send event notifications when the delivery of an email is delayed because of a temporary issue. For example, you can receive a notification if the recipient's inbox is full, or if there's a temporary problem with the receiving email server."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.41.json b/.changes/2.13.41.json
new file mode 100644
index 000000000000..b9fe63843fa2
--- /dev/null
+++ b/.changes/2.13.41.json
@@ -0,0 +1,31 @@
+{
+ "version": "2.13.41",
+ "date": "2020-06-19",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "Amazon Elastic Compute Cloud",
+ "description": "Adds support to tag elastic-gpu on the RunInstances api"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon ElastiCache",
+ "description": "Documentation updates for elasticache"
+ },
+ {
+ "type": "feature",
+ "category": "AWS Elemental MediaLive",
+ "description": "AWS Elemental MediaLive now supports Input Prepare schedule actions. This feature improves existing input switching by allowing users to prepare an input prior to switching to it."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "AWS OpsWorks CM",
+ "description": "Documentation updates for AWS OpsWorks CM."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.42.json b/.changes/2.13.42.json
new file mode 100644
index 000000000000..822c23f0ec8e
--- /dev/null
+++ b/.changes/2.13.42.json
@@ -0,0 +1,31 @@
+{
+ "version": "2.13.42",
+ "date": "2020-06-22",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "Amazon Elastic Compute Cloud",
+ "description": "This release adds Tag On Create feature support for the ImportImage, ImportSnapshot, ExportImage and CreateInstanceExportTask APIs."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Simple Queue Service",
+ "description": "AWS SQS adds pagination support for ListQueues and ListDeadLetterSourceQueues APIs"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Relational Database Service",
+ "description": "Added paginators for various APIs."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Elastic MapReduce",
+ "description": "Adding support for MaximumCoreCapacityUnits parameter for EMR Managed Scaling. It allows users to control how many units/nodes are added to the CORE group/fleet. Remaining units/nodes are added to the TASK groups/fleet in the cluster."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Rekognition",
+ "description": "This update adds the ability to detect black frames, end credits, shots, and color bars in stored videos"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.43.json b/.changes/2.13.43.json
new file mode 100644
index 000000000000..efc5877aa6c9
--- /dev/null
+++ b/.changes/2.13.43.json
@@ -0,0 +1,21 @@
+{
+ "version": "2.13.43",
+ "date": "2020-06-23",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "AWS MediaTailor",
+ "description": "AWS Elemental MediaTailor SDK now allows configuration of Bumper."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Organizations",
+ "description": "Added a new error message to support the requirement for a Business License on AWS accounts in China to create an organization."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.44.json b/.changes/2.13.44.json
new file mode 100644
index 000000000000..bb9816351c6d
--- /dev/null
+++ b/.changes/2.13.44.json
@@ -0,0 +1,56 @@
+{
+ "version": "2.13.44",
+ "date": "2020-06-24",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "Auto Scaling",
+ "description": "Documentation updates for Amazon EC2 Auto Scaling."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Organizations",
+ "description": "This release adds support for a new backup policy type for AWS Organizations."
+ },
+ {
+ "type": "feature",
+ "category": "AWS CodeCommit",
+ "description": "This release introduces support for reactions to CodeCommit comments. Users will be able to select from a pre-defined list of emojis to express their reaction to any comments."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Identity and Access Management",
+ "description": "Documentation updates for iam"
+ },
+ {
+ "type": "feature",
+ "category": "AWS Amplify",
+ "description": "This release of AWS Amplify Console introduces support for automatically creating custom subdomains for branches based on user-defined glob patterns, as well as automatically cleaning up Amplify branches when their corresponding git branches are deleted."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Backup",
+ "description": "Customers can now manage and monitor their backups in a policied manner across their AWS accounts, via an integration between AWS Backup and AWS Organizations"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Honeycode",
+ "description": "Introducing Amazon Honeycode - a fully managed service that allows you to quickly build mobile and web apps for teams without programming."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Elastic MapReduce",
+ "description": "Amazon EMR customers can now set allocation strategies for On-Demand and Spot instances in their EMR clusters with instance fleets. These allocation strategies use real-time capacity insights to provision clusters faster and make the most efficient use of available spare capacity to allocate Spot instances to reduce interruptions."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon FSx",
+ "description": "This release adds the capability to take highly-durable, incremental backups of your FSx for Lustre persistent file systems. This capability makes it easy to further protect your file system data and to meet business and regulatory compliance requirements."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.45.json b/.changes/2.13.45.json
new file mode 100644
index 000000000000..5886730a8d09
--- /dev/null
+++ b/.changes/2.13.45.json
@@ -0,0 +1,26 @@
+{
+ "version": "2.13.45",
+ "date": "2020-06-25",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "Amazon Elastic Compute Cloud",
+ "description": "Added support for tag-on-create for Host Reservations in Dedicated Hosts. You can now specify tags when you create a Host Reservation for a Dedicated Host. For more information about tagging, see AWS Tagging Strategies."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Glue",
+ "description": "This release adds new APIs to support column level statistics in AWS Glue Data Catalog"
+ },
+ {
+ "type": "bugfix",
+ "category": "AWS DynamoDB Enhanced Client",
+ "description": "Fixed a bug causing a NullPointerException to be thrown in the enhanced DeleteItem operation if a conditionExpression was given with null attributeNames or null attributeValues."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.46.json b/.changes/2.13.46.json
new file mode 100644
index 000000000000..684303a46f36
--- /dev/null
+++ b/.changes/2.13.46.json
@@ -0,0 +1,36 @@
+{
+ "version": "2.13.46",
+ "date": "2020-06-26",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "Amazon Cognito Identity Provider",
+ "description": "Don't require Authorization for InitiateAuth and RespondToAuthChallenge."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon QuickSight",
+ "description": "Added support for cross-region DataSource credentials copying."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Database Migration Service",
+ "description": "This release contains miscellaneous API documentation updates for AWS DMS in response to several customer reported issues."
+ },
+ {
+ "type": "feature",
+ "category": "AWS CloudFormation",
+ "description": "ListStackInstances and DescribeStackInstance now return a new `StackInstanceStatus` object that contains `DetailedStatus` values: a disambiguation of the more generic `Status` value. ListStackInstances output can now be filtered on `DetailedStatus` using the new `Filters` parameter."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon SageMaker Service",
+ "description": "The new 'ModelClientConfig' parameter being added for CreateTransformJob and DescribeTransformJob api actions enable customers to configure model invocation related parameters such as timeout and retry."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.47.json b/.changes/2.13.47.json
new file mode 100644
index 000000000000..aa613631389c
--- /dev/null
+++ b/.changes/2.13.47.json
@@ -0,0 +1,31 @@
+{
+ "version": "2.13.47",
+ "date": "2020-06-29",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "Auto Scaling",
+ "description": "Documentation updates for Amazon EC2 Auto Scaling."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon CodeGuru Profiler",
+ "description": "Amazon CodeGuru Profiler is now generally available. The Profiler helps developers to optimize their software, troubleshoot issues in production, and identify their most expensive lines of code. As part of general availability, we are launching: Profiling of AWS Lambda functions, Anomaly detection in CPU profiles, Color My Code on flame graphs, Expanding presence to 10 AWS regions."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Elastic Compute Cloud",
+ "description": "Virtual Private Cloud (VPC) customers can now create and manage their own Prefix Lists to simplify VPC configurations."
+ },
+ {
+ "type": "feature",
+ "category": "AWS CodeStar connections",
+ "description": "Updated and new APIs in support of hosts for connections to installed provider types. New integration with the GitHub Enterprise Server provider type."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.48.json b/.changes/2.13.48.json
new file mode 100644
index 000000000000..56384c1db86a
--- /dev/null
+++ b/.changes/2.13.48.json
@@ -0,0 +1,36 @@
+{
+ "version": "2.13.48",
+ "date": "2020-06-30",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "Amazon CodeGuru Reviewer",
+ "description": "Release GitHub Enterprise Server source provider integration"
+ },
+ {
+ "type": "bugfix",
+ "category": "AWS SDK for Java v2",
+ "description": "Fix marshaller binding for input event streams when member name and shape name are not equal."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Comprehend Medical",
+ "description": "This release adds the relationships between MedicalCondition and Anatomy in DetectEntitiesV2 API."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Relational Database Service",
+ "description": "Documentation updates for rds"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Elastic Compute Cloud",
+ "description": "Added support for tag-on-create for CreateVpc, CreateEgressOnlyInternetGateway, CreateSecurityGroup, CreateSubnet, CreateNetworkInterface, CreateNetworkAcl, CreateDhcpOptions and CreateInternetGateway. You can now specify tags when creating any of these resources. For more information about tagging, see AWS Tagging Strategies."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon EC2 Container Registry",
+ "description": "Add a new parameter (ImageDigest) and a new exception (ImageDigestDoesNotMatchException) to PutImage API to support pushing image by digest."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.49.json b/.changes/2.13.49.json
new file mode 100644
index 000000000000..cc67573cc5bd
--- /dev/null
+++ b/.changes/2.13.49.json
@@ -0,0 +1,36 @@
+{
+ "version": "2.13.49",
+ "date": "2020-07-01",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "Amazon Relational Database Service",
+ "description": "This release adds the exceptions KMSKeyNotAccessibleFault and InvalidDBClusterStateFault to the Amazon RDS ModifyDBInstance API."
+ },
+ {
+ "type": "feature",
+ "category": "AWS CodeBuild",
+ "description": "Support build status config in project source"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Chime",
+ "description": "This release supports third party emergency call routing configuration for Amazon Chime Voice Connectors."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SecurityHub",
+ "description": "This release adds additional details for findings. There are now finding details for auto scaling groups, EC2 volumes, and EC2 VPCs. You can identify detected vulnerabilities and provide related network paths."
+ },
+ {
+ "type": "feature",
+ "category": "EC2 Image Builder",
+ "description": "EC2 Image Builder adds support for encrypted AMI distribution."
+ },
+ {
+ "type": "feature",
+ "category": "AWS AppSync",
+ "description": "AWS AppSync supports new 12xlarge instance for server-side API caching"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.5.json b/.changes/2.13.5.json
new file mode 100644
index 000000000000..93ba9eed939a
--- /dev/null
+++ b/.changes/2.13.5.json
@@ -0,0 +1,46 @@
+{
+ "version": "2.13.5",
+ "date": "2020-04-28",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "Amazon Kinesis Video Streams",
+ "description": "Add \"GET_CLIP\" to the list of supported API names for the GetDataEndpoint API."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Kinesis Video Streams Archived Media",
+ "description": "Add support for the GetClip API for retrieving media from a video stream in the MP4 format."
+ },
+ {
+ "type": "bugfix",
+ "category": "Amazon DynamoDB Enhacned",
+ "description": "Fix NPE on EnhancedType, created with documentOf, when calling innerToString"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Route 53",
+ "description": "Amazon Route 53 now supports the Africa (Cape Town) Region (af-south-1) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon EC2 Container Registry",
+ "description": "This release adds support for multi-architecture images also known as a manifest list"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Simple Systems Manager (SSM)",
+ "description": "SSM State Manager support for adding list association filter for Resource Group and manual mode of managing compliance for an association."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Elemental MediaLive",
+ "description": "AWS Elemental MediaLive now supports several new features: enhanced VQ for H.264 (AVC) output encodes; passthrough of timed metadata and of Nielsen ID3 metadata in fMP4 containers in HLS outputs; the ability to generate a SCTE-35 sparse track without additional segmentation, in Microsoft Smooth outputs; the ability to select the audio from a TS input by specifying the audio track; and conversion of HDR colorspace in the input to an SDR colorspace in the output."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.50.json b/.changes/2.13.50.json
new file mode 100644
index 000000000000..8003dfb2ca88
--- /dev/null
+++ b/.changes/2.13.50.json
@@ -0,0 +1,21 @@
+{
+ "version": "2.13.50",
+ "date": "2020-07-02",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "Amazon ElastiCache",
+ "description": "Documentation updates for elasticache"
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Connect Service",
+ "description": "Documentation updates for Amazon Connect."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.51.json b/.changes/2.13.51.json
new file mode 100644
index 000000000000..5b99c518dd98
--- /dev/null
+++ b/.changes/2.13.51.json
@@ -0,0 +1,21 @@
+{
+ "version": "2.13.51",
+ "date": "2020-07-06",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "AWS IoT SiteWise",
+ "description": "This release supports optional start date and end date parameters for the GetAssetPropertyValueHistory API."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon QuickSight",
+ "description": "Add Theme APIs and update Dashboard APIs to support theme overrides."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Relational Database Service",
+ "description": "Adds support for Amazon RDS on AWS Outposts."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.52.json b/.changes/2.13.52.json
new file mode 100644
index 000000000000..d5a046c4561b
--- /dev/null
+++ b/.changes/2.13.52.json
@@ -0,0 +1,46 @@
+{
+ "version": "2.13.52",
+ "date": "2020-07-07",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "Amazon Elastic Compute Cloud",
+ "description": "DescribeAvailabilityZones now returns additional data about Availability Zones and Local Zones."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Elastic File System",
+ "description": "This release adds support for automatic backups of Amazon EFS file systems to further simplify backup management."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "This release includes the preview release of the client-side metrics for the AWS SDK for Java v2. The SPI can be found in the `metrics-spi` module, and this release also includes a metric publisher for CloudWatch in `cloudwatch-metric-publisher`. See our post over at the [AWS Developer Blog](https://aws.amazon.com/blogs/developer/category/developer-tools/aws-sdk-for-java/) for additional information."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Storage Gateway",
+ "description": "Adding support for file-system driven directory refresh, Case Sensitivity toggle for SMB File Shares, and S3 Prefixes and custom File Share names"
+ },
+ {
+ "type": "feature",
+ "category": "AWS Glue",
+ "description": "AWS Glue Data Catalog supports cross account sharing of tables through AWS Lake Formation"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon CloudFront",
+ "description": "Amazon CloudFront adds support for a new security policy, TLSv1.2_2019."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Lake Formation",
+ "description": "AWS Lake Formation supports sharing tables with other AWS accounts and organizations"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.53.json b/.changes/2.13.53.json
new file mode 100644
index 000000000000..9ca5887e8cf1
--- /dev/null
+++ b/.changes/2.13.53.json
@@ -0,0 +1,31 @@
+{
+ "version": "2.13.53",
+ "date": "2020-07-08",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "Amazon Forecast Service",
+ "description": "With this release, Amazon Forecast now supports the ability to add a tag to any resource via the launch of three new APIs: TagResouce, UntagResource and ListTagsForResource. A tag is a simple label consisting of a customer-defined key and an optional value allowing for easier resource management."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Organizations",
+ "description": "We have launched a self-service option to make it easier for customers to manage the use of their content by AI services. Certain AI services (Amazon CodeGuru Profiler, Amazon Comprehend, Amazon Lex, Amazon Polly, Amazon Rekognition, Amazon Textract, Amazon Transcribe, and Amazon Translate), may use content to improve the service. Customers have been able to opt out of this use by contacting AWS Support, and now they can opt out on a self-service basis by setting an Organizations policy for all or an individual AI service as listed above. Please refer to the technical documentation for more details."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Elastic Compute Cloud",
+ "description": "EC2 Spot now enables customers to tag their Spot Instances Requests on creation."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Cost Explorer Service",
+ "description": "Customers can now see Instance Name alongside each rightsizing recommendation."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.54.json b/.changes/2.13.54.json
new file mode 100644
index 000000000000..55d8ea3895fb
--- /dev/null
+++ b/.changes/2.13.54.json
@@ -0,0 +1,76 @@
+{
+ "version": "2.13.54",
+ "date": "2020-07-09",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "Amazon DynamoDB Enhanced Client",
+ "description": "Support converting \"0\" and \"1\" numbers read from DynamoDB to Boolean and AtomicBoolean."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Elastic Block Store",
+ "description": "This release introduces the following set of actions for the EBS direct APIs: 1. StartSnapshot, which creates a new Amazon EBS snapshot. 2. PutSnapshotBlock, which writes a block of data to a snapshot. 3. CompleteSnapshot, which seals and completes a snapshot after blocks of data have been written to it."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Simple Notification Service",
+ "description": "This release adds support for SMS origination number as an attribute in the MessageAttributes parameter for the SNS Publish API."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon CloudWatch Events",
+ "description": "Amazon CloudWatch Events/EventBridge adds support for API Gateway as a target."
+ },
+ {
+ "type": "feature",
+ "category": "Alexa For Business",
+ "description": "Added support for registering an AVS device directly to a room using RegisterAVSDevice with a room ARN"
+ },
+ {
+ "type": "feature",
+ "category": "AWS Secrets Manager",
+ "description": "Adds support for filters on the ListSecrets API to allow filtering results by name, tag key, tag value, or description. Adds support for the BlockPublicPolicy option on the PutResourcePolicy API to block resource policies which grant a wide range of IAM principals access to secrets. Adds support for the ValidateResourcePolicy API to validate resource policies for syntax and prevent lockout error scenarios and wide access to secrets."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon EventBridge",
+ "description": "Amazon EventBridge adds support for API Gateway as a target."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Amplify",
+ "description": "Documentation update to the introduction text to specify that this is the Amplify Console API."
+ },
+ {
+ "type": "feature",
+ "category": "AWS CloudHSM V2",
+ "description": "Documentation updates for cloudhsmv2"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Comprehend",
+ "description": "AWS Comprehend now supports Real-time Analysis with Custom Entity Recognition."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon SageMaker Service",
+ "description": "This release adds the DeleteHumanTaskUi API to Amazon Augmented AI"
+ },
+ {
+ "type": "feature",
+ "category": "AWS App Mesh",
+ "description": "AppMesh now supports Ingress which allows resources outside a mesh to communicate to resources that are inside the mesh. See https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_gateways.html"
+ },
+ {
+ "type": "feature",
+ "category": "AWS WAFV2",
+ "description": "Added the option to use IP addresses from an HTTP header that you specify, instead of using the web request origin. Available for IP set matching, geo matching, and rate-based rule count aggregation."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.55.json b/.changes/2.13.55.json
new file mode 100644
index 000000000000..1d0467399bf3
--- /dev/null
+++ b/.changes/2.13.55.json
@@ -0,0 +1,16 @@
+{
+ "version": "2.13.55",
+ "date": "2020-07-15",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "Amazon Interactive Video Service",
+ "description": "Introducing Amazon Interactive Video Service - a managed live streaming solution that is quick and easy to set up, and ideal for creating interactive video experiences."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.6.json b/.changes/2.13.6.json
new file mode 100644
index 000000000000..d2e47da6c865
--- /dev/null
+++ b/.changes/2.13.6.json
@@ -0,0 +1,36 @@
+{
+ "version": "2.13.6",
+ "date": "2020-04-29",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "AWS IoT SiteWise",
+ "description": "AWS IoT SiteWise is a managed service that makes it easy to collect, store, organize and monitor data from industrial equipment at scale. You can use AWS IoT SiteWise to model your physical assets, processes and facilities, quickly compute common industrial performance metrics, and create fully managed web applications to help analyze industrial equipment data, prevent costly equipment issues, and reduce production inefficiencies."
+ },
+ {
+ "type": "feature",
+ "category": "AWS WAF Regional",
+ "description": "This release add migration API for AWS WAF Classic (\"waf\" and \"waf-regional\"). The migration API will parse through your web ACL and generate a CloudFormation template into your S3 bucket. Deploying this template will create equivalent web ACL under new AWS WAF (\"wafv2\")."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "AWS WAF",
+ "description": "This release add migration API for AWS WAF Classic (\"waf\" and \"waf-regional\"). The migration API will parse through your web ACL and generate a CloudFormation template into your S3 bucket. Deploying this template will create equivalent web ACL under new AWS WAF (\"wafv2\")."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Transcribe Service",
+ "description": "With this release, you can now use Amazon Transcribe to create medical custom vocabularies and use them in both medical real-time streaming and medical batch transcription jobs."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Cloud Map",
+ "description": "Documentation updates for servicediscovery"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.7.json b/.changes/2.13.7.json
new file mode 100644
index 000000000000..2f0e8e0869dd
--- /dev/null
+++ b/.changes/2.13.7.json
@@ -0,0 +1,46 @@
+{
+ "version": "2.13.7",
+ "date": "2020-04-30",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "AWS Elemental MediaConvert",
+ "description": "AWS Elemental MediaConvert SDK has added support for including AFD signaling in MXF wrapper."
+ },
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Storage Gateway",
+ "description": "Adding support for S3_INTELLIGENT_TIERING as a storage class option"
+ },
+ {
+ "type": "feature",
+ "category": "Schemas",
+ "description": "Add support for resource policies for Amazon EventBridge Schema Registry, which is now generally available."
+ },
+ {
+ "type": "feature",
+ "category": "AWS IoT Events",
+ "description": "Doc only update to correct APIs and related descriptions"
+ },
+ {
+ "type": "feature",
+ "category": "AWS IoT",
+ "description": "AWS IoT Core released Fleet Provisioning for scalable onboarding of IoT devices to the cloud. This release includes support for customer's Lambda functions to validate devices during onboarding. Fleet Provisioning also allows devices to send Certificate Signing Requests (CSR) to AWS IoT Core for signing and getting a unique certificate. Lastly, AWS IoT Core added a feature to register the same certificate for multiple accounts in the same region without needing to register the certificate authority (CA)."
+ },
+ {
+ "type": "bugfix",
+ "category": "Amazon DynamoDB Enhanced Client",
+ "description": "Made OperationContext a public interface and moved it into public namespace as it was already exposed through another public interface. This will only impact extensions that have been written to reference the old internal-only class that should now switch to the approved stable public interface."
+ },
+ {
+ "type": "feature",
+ "category": "AWS Lambda",
+ "description": "Documentation updates for Lambda"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.8.json b/.changes/2.13.8.json
new file mode 100644
index 000000000000..62b0bbab76b4
--- /dev/null
+++ b/.changes/2.13.8.json
@@ -0,0 +1,21 @@
+{
+ "version": "2.13.8",
+ "date": "2020-05-01",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Elastic File System",
+ "description": "Change the TagKeys argument for UntagResource to a URL parameter to address an issue with the Java and .NET SDKs."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Simple Systems Manager (SSM)",
+ "description": "Added TimeoutSeconds as part of ListCommands API response."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/2.13.9.json b/.changes/2.13.9.json
new file mode 100644
index 000000000000..8f1ef3329be9
--- /dev/null
+++ b/.changes/2.13.9.json
@@ -0,0 +1,31 @@
+{
+ "version": "2.13.9",
+ "date": "2020-05-04",
+ "entries": [
+ {
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "description": "Updated service endpoint metadata."
+ },
+ {
+ "type": "feature",
+ "category": "AWS S3 Control",
+ "description": "Amazon S3 Batch Operations now supports Object Lock."
+ },
+ {
+ "type": "feature",
+ "category": "Amazon Elastic Compute Cloud",
+ "description": "With this release, you can include enriched metadata in Amazon Virtual Private Cloud (Amazon VPC) flow logs published to Amazon CloudWatch Logs or Amazon Simple Storage Service (S3). Prior to this, custom format VPC flow logs enriched with additional metadata could be published only to S3. With this launch, we are also adding additional metadata fields that provide insights about the location such as AWS Region, AWS Availability Zone, AWS Local Zone, AWS Wavelength Zone, or AWS Outpost where the network interface where flow logs are captured exists."
+ },
+ {
+ "type": "bugfix",
+ "category": "Amazon DynamoDB Enhanced Client",
+ "description": "Bugfix for handling special characters ':' and '#' in attribute names"
+ },
+ {
+ "type": "feature",
+ "category": "Amazon API Gateway",
+ "description": "Documentation updates for Amazon API Gateway"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.changes/next-release/bugfix-AWSSDKforJavav2-9a322a2.json b/.changes/next-release/bugfix-AWSSDKforJavav2-9a322a2.json
deleted file mode 100644
index ef986f986bfd..000000000000
--- a/.changes/next-release/bugfix-AWSSDKforJavav2-9a322a2.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "category": "AWS Common Runtime Client",
- "type": "bugfix",
- "description": "Upgrade to the latest version (0.3.35) of the AWS Common Runtime."
-}
diff --git a/.github/ISSUE_TEMPLATE/documentation.md b/.github/ISSUE_TEMPLATE/documentation.md
new file mode 100644
index 000000000000..fac624d37159
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/documentation.md
@@ -0,0 +1,15 @@
+---
+name: "\U0001F4D5 Documentation Issue"
+about: Report an issue in the API Reference documentation or Developer Guide
+labels: documentation, needs-triage
+---
+
+
+
+## Describe the issue
+
+
+## Links
+
+
+
diff --git a/.github/ISSUE_TEMPLATE/feature-request.md b/.github/ISSUE_TEMPLATE/feature-request.md
index 43530d2152da..9492a02c8a94 100644
--- a/.github/ISSUE_TEMPLATE/feature-request.md
+++ b/.github/ISSUE_TEMPLATE/feature-request.md
@@ -30,7 +30,7 @@ labels: feature-request, needs-triage
## Your Environment
-
+
* AWS Java SDK version used:
* JDK version used:
* Operating System and version:
diff --git a/.github/ISSUE_TEMPLATE/general-issue.md b/.github/ISSUE_TEMPLATE/general-issue.md
index aad931388a4c..52273edcc004 100644
--- a/.github/ISSUE_TEMPLATE/general-issue.md
+++ b/.github/ISSUE_TEMPLATE/general-issue.md
@@ -22,7 +22,7 @@ labels: guidance, needs-triage
## Your Environment
-
+
* AWS Java SDK version used:
* JDK version used:
* Operating System and version:
diff --git a/.github/workflows/stale-issue.yml b/.github/workflows/stale-issue.yml
new file mode 100644
index 000000000000..4e487ef5c7a0
--- /dev/null
+++ b/.github/workflows/stale-issue.yml
@@ -0,0 +1,56 @@
+name: "Close stale issues"
+
+# Controls when the action will run.
+on:
+ schedule:
+ - cron: "0/30 * * * *"
+
+jobs:
+ cleanup:
+ name: Stale issue job
+ runs-on: ubuntu-latest
+ steps:
+ - uses: aws-actions/stale-issue-cleanup@v3
+ with:
+ # Setting messages to an empty string will cause the automation to skip
+ # that category
+ ancient-issue-message: This is a very old issue that is probably not getting as much
+ attention as it deserves. We encourage you to check if this is still an issue in
+ the latest release and if you find that this is still a problem, please feel free
+ to provide a comment or open a new issue.
+ stale-issue-message: It looks like this issue hasn’t been active in longer than a week.
+ In the absence of more information, we will be closing this issue soon. If you find
+ that this is still a problem, please add a comment to prevent automatic closure, or
+ if the issue is already closed please feel free to reopen it.
+ stale-pr-message: It looks like this PR hasn’t been active in longer than a week. In
+ the absence of more information, we will be closing this PR soon. Please add a
+ comment to prevent automatic closure, or if the PR is already closed please feel
+ free to open a new one.
+
+ # These labels are required
+ stale-issue-label: closing-soon
+ exempt-issue-label: no-auto-closure
+ stale-pr-label: closing-soon
+ exempt-pr-label: no-auto-closure
+ response-requested-label: response-requested
+
+ # Don't set closed-for-staleness label to skip closing very old issues
+ # regardless of label
+ closed-for-staleness-label: closed-for-staleness
+
+ # Issue timing
+ days-before-stale: 7
+ days-before-close: 4
+ days-before-ancient: 1095
+
+ # If you don't want to mark a issue as being ancient based on a
+ # threshold of "upvotes", you can set this here. An "upvote" is
+ # the total number of +1, heart, hooray, and rocket reactions
+ # on an issue.
+ minimum-upvotes-to-exempt: 1
+
+ repo-token: ${{ secrets.GITHUB_TOKEN }}
+ loglevel: DEBUG
+ # Set dry-run to true to not perform label or close actions.
+ #dry-run: true
+
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4f30c0afcaf1..5dce96a1825a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,1516 @@
+# __2.13.55__ __2020-07-15__
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __Amazon Interactive Video Service__
+ - ### Features
+ - Introducing Amazon Interactive Video Service - a managed live streaming solution that is quick and easy to set up, and ideal for creating interactive video experiences.
+
+# __2.13.54__ __2020-07-09__
+## __AWS Amplify__
+ - ### Features
+ - Documentation update to the introduction text to specify that this is the Amplify Console API.
+
+## __AWS App Mesh__
+ - ### Features
+ - AppMesh now supports Ingress which allows resources outside a mesh to communicate to resources that are inside the mesh. See https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_gateways.html
+
+## __AWS CloudHSM V2__
+ - ### Features
+ - Documentation updates for cloudhsmv2
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __AWS Secrets Manager__
+ - ### Features
+ - Adds support for filters on the ListSecrets API to allow filtering results by name, tag key, tag value, or description. Adds support for the BlockPublicPolicy option on the PutResourcePolicy API to block resource policies which grant a wide range of IAM principals access to secrets. Adds support for the ValidateResourcePolicy API to validate resource policies for syntax and prevent lockout error scenarios and wide access to secrets.
+
+## __AWS WAFV2__
+ - ### Features
+ - Added the option to use IP addresses from an HTTP header that you specify, instead of using the web request origin. Available for IP set matching, geo matching, and rate-based rule count aggregation.
+
+## __Alexa For Business__
+ - ### Features
+ - Added support for registering an AVS device directly to a room using RegisterAVSDevice with a room ARN
+
+## __Amazon CloudWatch Events__
+ - ### Features
+ - Amazon CloudWatch Events/EventBridge adds support for API Gateway as a target.
+
+## __Amazon Comprehend__
+ - ### Features
+ - AWS Comprehend now supports Real-time Analysis with Custom Entity Recognition.
+
+## __Amazon DynamoDB Enhanced Client__
+ - ### Features
+ - Support converting "0" and "1" numbers read from DynamoDB to Boolean and AtomicBoolean.
+
+## __Amazon Elastic Block Store__
+ - ### Features
+ - This release introduces the following set of actions for the EBS direct APIs: 1. StartSnapshot, which creates a new Amazon EBS snapshot. 2. PutSnapshotBlock, which writes a block of data to a snapshot. 3. CompleteSnapshot, which seals and completes a snapshot after blocks of data have been written to it.
+
+## __Amazon EventBridge__
+ - ### Features
+ - Amazon EventBridge adds support for API Gateway as a target.
+
+## __Amazon SageMaker Service__
+ - ### Features
+ - This release adds the DeleteHumanTaskUi API to Amazon Augmented AI
+
+## __Amazon Simple Notification Service__
+ - ### Features
+ - This release adds support for SMS origination number as an attribute in the MessageAttributes parameter for the SNS Publish API.
+
+# __2.13.53__ __2020-07-08__
+## __AWS Cost Explorer Service__
+ - ### Features
+ - Customers can now see Instance Name alongside each rightsizing recommendation.
+
+## __AWS Organizations__
+ - ### Features
+ - We have launched a self-service option to make it easier for customers to manage the use of their content by AI services. Certain AI services (Amazon CodeGuru Profiler, Amazon Comprehend, Amazon Lex, Amazon Polly, Amazon Rekognition, Amazon Textract, Amazon Transcribe, and Amazon Translate), may use content to improve the service. Customers have been able to opt out of this use by contacting AWS Support, and now they can opt out on a self-service basis by setting an Organizations policy for all or an individual AI service as listed above. Please refer to the technical documentation for more details.
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __Amazon Elastic Compute Cloud__
+ - ### Features
+ - EC2 Spot now enables customers to tag their Spot Instances Requests on creation.
+
+## __Amazon Forecast Service__
+ - ### Features
+ - With this release, Amazon Forecast now supports the ability to add a tag to any resource via the launch of three new APIs: TagResouce, UntagResource and ListTagsForResource. A tag is a simple label consisting of a customer-defined key and an optional value allowing for easier resource management.
+
+# __2.13.52__ __2020-07-07__
+## __AWS Glue__
+ - ### Features
+ - AWS Glue Data Catalog supports cross account sharing of tables through AWS Lake Formation
+
+## __AWS Lake Formation__
+ - ### Features
+ - AWS Lake Formation supports sharing tables with other AWS accounts and organizations
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - This release includes the preview release of the client-side metrics for the AWS SDK for Java v2. The SPI can be found in the `metrics-spi` module, and this release also includes a metric publisher for CloudWatch in `cloudwatch-metric-publisher`. See our post over at the [AWS Developer Blog](https://aws.amazon.com/blogs/developer/category/developer-tools/aws-sdk-for-java/) for additional information.
+ - Updated service endpoint metadata.
+
+## __AWS Storage Gateway__
+ - ### Features
+ - Adding support for file-system driven directory refresh, Case Sensitivity toggle for SMB File Shares, and S3 Prefixes and custom File Share names
+
+## __Amazon CloudFront__
+ - ### Features
+ - Amazon CloudFront adds support for a new security policy, TLSv1.2_2019.
+
+## __Amazon Elastic Compute Cloud__
+ - ### Features
+ - DescribeAvailabilityZones now returns additional data about Availability Zones and Local Zones.
+
+## __Amazon Elastic File System__
+ - ### Features
+ - This release adds support for automatic backups of Amazon EFS file systems to further simplify backup management.
+
+# __2.13.51__ __2020-07-06__
+## __AWS IoT SiteWise__
+ - ### Features
+ - This release supports optional start date and end date parameters for the GetAssetPropertyValueHistory API.
+
+## __Amazon QuickSight__
+ - ### Features
+ - Add Theme APIs and update Dashboard APIs to support theme overrides.
+
+## __Amazon Relational Database Service__
+ - ### Features
+ - Adds support for Amazon RDS on AWS Outposts.
+
+# __2.13.50__ __2020-07-02__
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __Amazon Connect Service__
+ - ### Features
+ - Documentation updates for Amazon Connect.
+
+## __Amazon ElastiCache__
+ - ### Features
+ - Documentation updates for elasticache
+
+# __2.13.49__ __2020-07-01__
+## __AWS AppSync__
+ - ### Features
+ - AWS AppSync supports new 12xlarge instance for server-side API caching
+
+## __AWS CodeBuild__
+ - ### Features
+ - Support build status config in project source
+
+## __AWS SecurityHub__
+ - ### Features
+ - This release adds additional details for findings. There are now finding details for auto scaling groups, EC2 volumes, and EC2 VPCs. You can identify detected vulnerabilities and provide related network paths.
+
+## __Amazon Chime__
+ - ### Features
+ - This release supports third party emergency call routing configuration for Amazon Chime Voice Connectors.
+
+## __Amazon Relational Database Service__
+ - ### Features
+ - This release adds the exceptions KMSKeyNotAccessibleFault and InvalidDBClusterStateFault to the Amazon RDS ModifyDBInstance API.
+
+## __EC2 Image Builder__
+ - ### Features
+ - EC2 Image Builder adds support for encrypted AMI distribution.
+
+# __2.13.48__ __2020-06-30__
+## __AWS Comprehend Medical__
+ - ### Features
+ - This release adds the relationships between MedicalCondition and Anatomy in DetectEntitiesV2 API.
+
+## __AWS SDK for Java v2__
+ - ### Bugfixes
+ - Fix marshaller binding for input event streams when member name and shape name are not equal.
+
+## __Amazon CodeGuru Reviewer__
+ - ### Features
+ - Release GitHub Enterprise Server source provider integration
+
+## __Amazon EC2 Container Registry__
+ - ### Features
+ - Add a new parameter (ImageDigest) and a new exception (ImageDigestDoesNotMatchException) to PutImage API to support pushing image by digest.
+
+## __Amazon Elastic Compute Cloud__
+ - ### Features
+ - Added support for tag-on-create for CreateVpc, CreateEgressOnlyInternetGateway, CreateSecurityGroup, CreateSubnet, CreateNetworkInterface, CreateNetworkAcl, CreateDhcpOptions and CreateInternetGateway. You can now specify tags when creating any of these resources. For more information about tagging, see AWS Tagging Strategies.
+
+## __Amazon Relational Database Service__
+ - ### Features
+ - Documentation updates for rds
+
+# __2.13.47__ __2020-06-29__
+## __AWS CodeStar connections__
+ - ### Features
+ - Updated and new APIs in support of hosts for connections to installed provider types. New integration with the GitHub Enterprise Server provider type.
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __Amazon CodeGuru Profiler__
+ - ### Features
+ - Amazon CodeGuru Profiler is now generally available. The Profiler helps developers to optimize their software, troubleshoot issues in production, and identify their most expensive lines of code. As part of general availability, we are launching: Profiling of AWS Lambda functions, Anomaly detection in CPU profiles, Color My Code on flame graphs, Expanding presence to 10 AWS regions.
+
+## __Amazon Elastic Compute Cloud__
+ - ### Features
+ - Virtual Private Cloud (VPC) customers can now create and manage their own Prefix Lists to simplify VPC configurations.
+
+## __Auto Scaling__
+ - ### Features
+ - Documentation updates for Amazon EC2 Auto Scaling.
+
+# __2.13.46__ __2020-06-26__
+## __AWS CloudFormation__
+ - ### Features
+ - ListStackInstances and DescribeStackInstance now return a new `StackInstanceStatus` object that contains `DetailedStatus` values: a disambiguation of the more generic `Status` value. ListStackInstances output can now be filtered on `DetailedStatus` using the new `Filters` parameter.
+
+## __AWS Database Migration Service__
+ - ### Features
+ - This release contains miscellaneous API documentation updates for AWS DMS in response to several customer reported issues.
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __Amazon Cognito Identity Provider__
+ - ### Features
+ - Don't require Authorization for InitiateAuth and RespondToAuthChallenge.
+
+## __Amazon QuickSight__
+ - ### Features
+ - Added support for cross-region DataSource credentials copying.
+
+## __Amazon SageMaker Service__
+ - ### Features
+ - The new 'ModelClientConfig' parameter being added for CreateTransformJob and DescribeTransformJob api actions enable customers to configure model invocation related parameters such as timeout and retry.
+
+# __2.13.45__ __2020-06-25__
+## __AWS DynamoDB Enhanced Client__
+ - ### Bugfixes
+ - Fixed a bug causing a NullPointerException to be thrown in the enhanced DeleteItem operation if a conditionExpression was given with null attributeNames or null attributeValues.
+
+## __AWS Glue__
+ - ### Features
+ - This release adds new APIs to support column level statistics in AWS Glue Data Catalog
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __Amazon Elastic Compute Cloud__
+ - ### Features
+ - Added support for tag-on-create for Host Reservations in Dedicated Hosts. You can now specify tags when you create a Host Reservation for a Dedicated Host. For more information about tagging, see AWS Tagging Strategies.
+
+# __2.13.44__ __2020-06-24__
+## __AWS Amplify__
+ - ### Features
+ - This release of AWS Amplify Console introduces support for automatically creating custom subdomains for branches based on user-defined glob patterns, as well as automatically cleaning up Amplify branches when their corresponding git branches are deleted.
+
+## __AWS Backup__
+ - ### Features
+ - Customers can now manage and monitor their backups in a policied manner across their AWS accounts, via an integration between AWS Backup and AWS Organizations
+
+## __AWS CodeCommit__
+ - ### Features
+ - This release introduces support for reactions to CodeCommit comments. Users will be able to select from a pre-defined list of emojis to express their reaction to any comments.
+
+## __AWS Identity and Access Management__
+ - ### Features
+ - Documentation updates for iam
+
+## __AWS Organizations__
+ - ### Features
+ - This release adds support for a new backup policy type for AWS Organizations.
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __Amazon Elastic MapReduce__
+ - ### Features
+ - Amazon EMR customers can now set allocation strategies for On-Demand and Spot instances in their EMR clusters with instance fleets. These allocation strategies use real-time capacity insights to provision clusters faster and make the most efficient use of available spare capacity to allocate Spot instances to reduce interruptions.
+
+## __Amazon FSx__
+ - ### Features
+ - This release adds the capability to take highly-durable, incremental backups of your FSx for Lustre persistent file systems. This capability makes it easy to further protect your file system data and to meet business and regulatory compliance requirements.
+
+## __Amazon Honeycode__
+ - ### Features
+ - Introducing Amazon Honeycode - a fully managed service that allows you to quickly build mobile and web apps for teams without programming.
+
+## __Auto Scaling__
+ - ### Features
+ - Documentation updates for Amazon EC2 Auto Scaling.
+
+# __2.13.43__ __2020-06-23__
+## __AWS MediaTailor__
+ - ### Features
+ - AWS Elemental MediaTailor SDK now allows configuration of Bumper.
+
+## __AWS Organizations__
+ - ### Features
+ - Added a new error message to support the requirement for a Business License on AWS accounts in China to create an organization.
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+# __2.13.42__ __2020-06-22__
+## __Amazon Elastic Compute Cloud__
+ - ### Features
+ - This release adds Tag On Create feature support for the ImportImage, ImportSnapshot, ExportImage and CreateInstanceExportTask APIs.
+
+## __Amazon Elastic MapReduce__
+ - ### Features
+ - Adding support for MaximumCoreCapacityUnits parameter for EMR Managed Scaling. It allows users to control how many units/nodes are added to the CORE group/fleet. Remaining units/nodes are added to the TASK groups/fleet in the cluster.
+
+## __Amazon Rekognition__
+ - ### Features
+ - This update adds the ability to detect black frames, end credits, shots, and color bars in stored videos
+
+## __Amazon Relational Database Service__
+ - ### Features
+ - Added paginators for various APIs.
+
+## __Amazon Simple Queue Service__
+ - ### Features
+ - AWS SQS adds pagination support for ListQueues and ListDeadLetterSourceQueues APIs
+
+# __2.13.41__ __2020-06-19__
+## __AWS Elemental MediaLive__
+ - ### Features
+ - AWS Elemental MediaLive now supports Input Prepare schedule actions. This feature improves existing input switching by allowing users to prepare an input prior to switching to it.
+
+## __AWS OpsWorks CM__
+ - ### Features
+ - Documentation updates for AWS OpsWorks CM.
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __Amazon ElastiCache__
+ - ### Features
+ - Documentation updates for elasticache
+
+## __Amazon Elastic Compute Cloud__
+ - ### Features
+ - Adds support to tag elastic-gpu on the RunInstances api
+
+# __2.13.40__ __2020-06-18__
+## __AWS Elemental MediaConvert__
+ - ### Features
+ - AWS Elemental MediaConvert SDK has added support for NexGuard FileMarker SDK, which allows NexGuard partners to watermark proprietary content in mezzanine and OTT streaming contexts.
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __AWS Support__
+ - ### Features
+ - Documentation updates for support
+
+## __AWSMarketplace Metering__
+ - ### Features
+ - Documentation updates for meteringmarketplace
+
+## __Amazon Relational Database Service__
+ - ### Features
+ - Adding support for global write forwarding on secondary clusters in an Aurora global database.
+
+## __Amazon Route 53__
+ - ### Features
+ - Added a new ListHostedZonesByVPC API for customers to list all the private hosted zones that a specified VPC is associated with.
+
+## __Amazon Simple Email Service__
+ - ### Features
+ - You can now configure Amazon SES to send event notifications when the delivery of an email is delayed because of a temporary issue. For example, you can receive a notification if the recipient's inbox is full, or if there's a temporary problem with the receiving email server.
+
+## __Amazon Simple Systems Manager (SSM)__
+ - ### Features
+ - Added offset support for specifying the number of days to wait after the date and time specified by a CRON expression before running the maintenance window.
+
+# __2.13.39__ __2020-06-17__
+## __AWS App Mesh__
+ - ### Features
+ - Adds support for route and virtual node listener timeouts.
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __Amazon Elastic Compute Cloud__
+ - ### Features
+ - nvmeSupport added to DescribeInstanceTypes API
+
+## __Amazon Import/Export Snowball__
+ - ### Features
+ - AWS Snowcone is a portable, rugged and secure device for edge computing and data transfer. You can use Snowcone to collect, process, and move data to AWS, either offline by shipping the device to AWS or online by using AWS DataSync. With 2 CPUs and 4 GB RAM of compute and 8 TB of storage, Snowcone can run edge computing workloads and store data securely. Snowcone's small size (8.94" x 5.85" x 3.25" / 227 mm x 148.6 mm x 82.65 mm) allows you to set it next to machinery in a factory. Snowcone weighs about 4.5 lbs. (2 kg), so you can carry one in a backpack, use it with battery-based operation, and use the Wi-Fi interface to gather sensor data. Snowcone supports a file interface with NFS support.
+
+## __Amazon Macie 2__
+ - ### Features
+ - This is a documentation-only update to the Amazon Macie API. This update contains miscellaneous editorial improvements to various API descriptions.
+
+## __Amazon Route 53__
+ - ### Features
+ - Add PriorRequestNotComplete exception to AssociateVPCWithHostedZone API
+
+# __2.13.38__ __2020-06-16__
+## __AWS Data Exchange__
+ - ### Features
+ - This release fixes a bug in the AWS Data Exchange Python and NodeJS SDKs. The 'KmsKeyArn' field in the create-job API was configured to be required instead of optional. We updated this field to be optional in this release.
+
+## __AWS Lambda__
+ - ### Features
+ - Adds support for using Amazon Elastic File System (persistent storage) with AWS Lambda. This enables customers to share data across function invocations, read large reference data files, and write function output to a persistent and shared store.
+
+## __Amazon CloudFront__
+ - ### Features
+ - Documentation updates for CloudFront
+
+## __Amazon DynamoDB Enhanced Client__
+ - ### Bugfixes
+ - Fix an NPE in `OptionalAttributeConverter` that can happen the if the `nul()` property of the `AttributeValue` is `null`.
+
+## __Amazon Polly__
+ - ### Features
+ - Amazon Polly adds new US English child voice - Kevin. Kevin is available as Neural voice only.
+
+## __Amazon QLDB__
+ - ### Features
+ - Documentation updates for Amazon QLDB
+
+## __Auto Scaling__
+ - ### Features
+ - Introducing instance refresh, a feature that helps you update all instances in an Auto Scaling group in a rolling fashion (for example, to apply a new AMI or instance type). You can control the pace of the refresh by defining the percentage of the group that must remain running/healthy during the replacement process and the time for new instances to warm up between replacements.
+
+# __2.13.37__ __2020-06-15__
+## __AWS IoT__
+ - ### Features
+ - Added support for job executions rollout configuration, job abort configuration, and job executions timeout configuration for AWS IoT Over-the-Air (OTA) Update Feature.
+
+## __Alexa For Business__
+ - ### Features
+ - Adding support for optional tags in CreateBusinessReportSchedule, CreateProfile and CreateSkillGroup APIs
+
+## __Amazon AppConfig__
+ - ### Features
+ - This release adds a hosted configuration source provider. Customers can now store their application configurations directly in AppConfig, without the need for an external configuration source.
+
+## __Amazon Chime__
+ - ### Features
+ - feature: Chime: This release introduces the ability to create an AWS Chime SDK meeting with attendees.
+
+## __Amazon Cognito Identity Provider__
+ - ### Features
+ - Updated all AuthParameters to be sensitive.
+
+# __2.13.36__ __2020-06-12__
+## __AWS CloudFormation__
+ - ### Features
+ - The following parameters now return the organization root ID or organizational unit (OU) IDs that you specified for DeploymentTargets: the OrganizationalUnitIds parameter on StackSet and the OrganizationalUnitId parameter on StackInstance, StackInstanceSummary, and StackSetOperationResultSummary
+
+## __AWS Glue__
+ - ### Features
+ - You can now choose to crawl the entire table or just a sample of records in DynamoDB when using AWS Glue crawlers. Additionally, you can also specify a scanning rate for crawling DynamoDB tables.
+
+## __AWS SDK for Java v2 DynamoDB Enhanced Client__
+ - ### Bugfixes
+ - Added ClientRequestToken in class TransactWriteItemsEnhancedRequest.
+
+## __AWS Storage Gateway__
+ - ### Features
+ - Display EndpointType in DescribeGatewayInformation
+
+## __Amazon API Gateway__
+ - ### Features
+ - Documentation updates for Amazon API Gateway
+
+# __2.13.35__ __2020-06-11__
+## __AWS IoT Data Plane__
+ - ### Features
+ - As part of this release, we are introducing a new feature called named shadow, which extends the capability of AWS IoT Device Shadow to support multiple shadows for a single IoT device. With this release, customers can store different device state data into different shadows, and as a result access only the required state data when needed and reduce individual shadow size.
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+ - ### Bugfixes
+ - Avoid unnecessary copying in `AsyncRequestBody.fromBytes()`
+
+## __Amazon EC2 Container Service__
+ - ### Features
+ - This release adds support for deleting capacity providers.
+
+## __Amazon Lex Model Building Service__
+ - ### Features
+ - This change adds the built-in AMAZON.KendraSearchIntent that enables integration with Amazon Kendra.
+
+## __EC2 Image Builder__
+ - ### Features
+ - EC2 Image Builder now supports specifying a custom working directory for your build and test workflows. In addition, Image Builder now supports defining tags that are applied to ephemeral resources created by EC2 Image Builder as part of the image creation workflow.
+
+# __2.13.34__ __2020-06-10__
+## __AWS Compute Optimizer__
+ - ### Features
+ - Compute Optimizer supports exporting recommendations to Amazon S3.
+
+## __AWS Service Catalog__
+ - ### Features
+ - Service Catalog Documentation Update for Integration with AWS Organizations Delegated Administrator feature
+
+## __AWS Shield__
+ - ### Features
+ - Corrections to the supported format for contact phone numbers and to the description for the create subscription action.
+
+## __Amazon AppConfig__
+ - ### Features
+ - This release allows customers to choose from a list of predefined deployment strategies while starting deployments.
+
+## __Amazon Data Lifecycle Manager__
+ - ### Features
+ - Reducing the schedule name of DLM Lifecycle policy from 500 to 120 characters.
+
+## __Amazon Elastic Compute Cloud__
+ - ### Features
+ - New C6g instances powered by AWS Graviton2 processors and ideal for running advanced, compute-intensive workloads; New R6g instances powered by AWS Graviton2 processors and ideal for running memory-intensive workloads.
+
+## __Amazon Lightsail__
+ - ### Features
+ - Documentation updates for lightsail
+
+## __Amazon Macie 2__
+ - ### Features
+ - This release of the Amazon Macie API removes support for the ArchiveFindings and UnarchiveFindings operations. This release also adds UNKNOWN as an encryption type for S3 bucket metadata.
+
+## __CodeArtifact__
+ - ### Features
+ - Added support for AWS CodeArtifact.
+
+# __2.13.33__ __2020-06-09__
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __AWS Transfer Family__
+ - ### Features
+ - This release updates the API so customers can test use of Source IP to allow, deny or limit access to data in their S3 buckets after integrating their identity provider.
+
+# __2.13.32__ __2020-06-08__
+## __AWS Cloud Map__
+ - ### Features
+ - Added support for tagging Service and Namespace type resources in Cloud Map
+
+## __AWS SDK for Java v2__
+ - ### Bugfixes
+ - Update javadoc annotation for AwsBasicCredentials
+
+## __AWS Shield__
+ - ### Features
+ - This release adds the option for customers to identify a contact name and method that the DDoS Response Team can proactively engage when a Route 53 Health Check that is associated with a Shield protected resource fails.
+
+# __2.13.31__ __2020-06-05__
+## __AWS Elastic Beanstalk__
+ - ### Features
+ - These API changes enable an IAM user to associate an operations role with an Elastic Beanstalk environment, so that the IAM user can call Elastic Beanstalk actions without having access to underlying downstream AWS services that these actions call.
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __AWS Service Catalog__
+ - ### Features
+ - This release adds support for DescribeProduct and DescribeProductAsAdmin by product name, DescribeProvisioningArtifact by product name or provisioning artifact name, returning launch paths as part of DescribeProduct output and adds maximum length for provisioning artifact name and provisioning artifact description.
+
+## __Amazon API Gateway__
+ - ### Features
+ - Amazon API Gateway now allows customers of REST APIs to skip trust chain validation for backend server certificates for HTTP and VPC Link Integration. This feature enables customers to configure their REST APIs to integrate with backends that are secured with certificates vended from private certificate authorities (CA) or certificates that are self-signed.
+
+## __Amazon CloudFront__
+ - ### Features
+ - Amazon CloudFront adds support for configurable origin connection attempts and origin connection timeout.
+
+## __Amazon Personalize__
+ - ### Features
+ - [Personalize] Adds ability to create and apply filters.
+
+## __Amazon Personalize Runtime__
+ - ### Features
+ - [Personalize] Adds ability to apply filter to real-time recommendations
+
+## __Amazon Pinpoint__
+ - ### Features
+ - This release enables additional functionality for the Amazon Pinpoint journeys feature. With this release, you can send messages through additional channels, including SMS, push notifications, and custom channels.
+
+## __Amazon SageMaker Runtime__
+ - ### Features
+ - You can now specify the production variant to send the inference request to, when invoking a SageMaker Endpoint that is running two or more variants.
+
+# __2.13.30__ __2020-06-04__
+## __AWS Elemental MediaPackage VOD__
+ - ### Features
+ - You can now restrict direct access to AWS Elemental MediaPackage by securing requests for VOD content using CDN authorization. With CDN authorization, content requests require a specific HTTP header and authorization code.
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __AWSMarketplace Metering__
+ - ### Features
+ - Documentation updates for meteringmarketplace
+
+## __Amazon Elastic Compute Cloud__
+ - ### Features
+ - New C5a instances, the latest generation of EC2's compute-optimized instances featuring AMD's 2nd Generation EPYC processors. C5a instances offer up to 96 vCPUs, 192 GiB of instance memory, 20 Gbps in Network bandwidth; New G4dn.metal bare metal instance with 8 NVIDIA T4 GPUs.
+
+## __Amazon Lightsail__
+ - ### Features
+ - This release adds the BurstCapacityPercentage and BurstCapacityTime instance metrics, which allow you to track the burst capacity available to your instance.
+
+## __Amazon Simple Systems Manager (SSM)__
+ - ### Features
+ - SSM State Manager support for executing an association only at specified CRON schedule after creating/updating an association.
+
+# __2.13.29__ __2020-06-03__
+## __AWS Direct Connect__
+ - ### Features
+ - This release supports the virtual interface failover test, which allows you to verify that traffic routes over redundant virtual interfaces when you bring your primary virtual interface out of service.
+
+## __AWS Elemental MediaConvert__
+ - ### Features
+ - AWS Elemental MediaConvert SDK has added support for the encoding of VP8 or VP9 video in WebM container with Vorbis or Opus audio.
+
+## __AWS Glue__
+ - ### Features
+ - Adding databaseName in the response for GetUserDefinedFunctions() API.
+
+## __AWS Identity and Access Management__
+ - ### Features
+ - GenerateServiceLastAccessedDetails will now return ActionLastAccessed details for certain S3 control plane actions
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __Amazon ElastiCache__
+ - ### Features
+ - This release improves the Multi-AZ feature in ElastiCache by adding a separate flag and proper validations.
+
+## __Amazon Elasticsearch Service__
+ - ### Features
+ - Amazon Elasticsearch Service now offers support for cross-cluster search, enabling you to perform searches, aggregations, and visualizations across multiple Amazon Elasticsearch Service domains with a single query or from a single Kibana interface. New feature includes the ability to setup connection, required to perform cross-cluster search, between domains using an approval workflow.
+
+# __2.13.28__ __2020-06-02__
+## __Amazon GuardDuty__
+ - ### Features
+ - Amazon GuardDuty findings now include S3 bucket details under the resource section if an S3 Bucket was one of the affected resources
+
+# __2.13.27__ __2020-06-01__
+## __AWS Key Management Service__
+ - ### Features
+ - AWS Key Management Service (AWS KMS): If the GenerateDataKeyPair or GenerateDataKeyPairWithoutPlaintext APIs are called on a CMK in a custom key store (origin == AWS_CLOUDHSM), they return an UnsupportedOperationException. If a call to UpdateAlias causes a customer to exceed the Alias resource quota, the UpdateAlias API returns a LimitExceededException.
+
+## __AWS Maven Lambda Archetype__
+ - ### Features
+ - Updated the `archetype-lambda` to generate SDK client that uses region from environment variable.
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __Amazon Athena__
+ - ### Features
+ - This release adds support for connecting Athena to your own Apache Hive Metastores in addition to the AWS Glue Data Catalog. For more information, please see https://docs.aws.amazon.com/athena/latest/ug/connect-to-data-source-hive.html
+
+## __Amazon Elastic MapReduce__
+ - ### Features
+ - Amazon EMR now supports encrypting log files with AWS Key Management Service (KMS) customer managed keys.
+
+## __Amazon FSx__
+ - ### Features
+ - New capabilities to update storage capacity and throughput capacity of your file systems, providing the flexibility to grow file storage and to scale up or down the available performance as needed to meet evolving storage needs over time.
+
+## __Amazon SageMaker Service__
+ - ### Features
+ - We are releasing HumanTaskUiArn as a new parameter in CreateLabelingJob and RenderUiTemplate which can take an ARN for a system managed UI to render a task.
+
+## __Amazon WorkLink__
+ - ### Features
+ - Amazon WorkLink now supports resource tagging for fleets.
+
+# __2.13.26__ __2020-05-28__
+## __AWS Marketplace Catalog Service__
+ - ### Features
+ - AWS Marketplace Catalog now supports accessing initial change payloads with DescribeChangeSet operation.
+
+## __Amazon QLDB Session__
+ - ### Features
+ - Documentation updates for Amazon QLDB Session
+
+## __Amazon WorkMail__
+ - ### Features
+ - This release adds support for Amazon WorkMail organization-level retention policies.
+
+## __Managed Streaming for Kafka__
+ - ### Features
+ - New APIs for upgrading the Apache Kafka version of a cluster and to find out compatible upgrade paths
+
+# __2.13.25__ __2020-05-27__
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __Amazon GuardDuty__
+ - ### Features
+ - Documentation updates for GuardDuty
+
+## __Amazon S3__
+ - ### Bugfixes
+ - Check the `x-amz-content-range` header for `GetObject` responses when the `Content-Range` header is not returned by the service. Fixes [#1209](https://github.com/aws/aws-sdk-java-v2/issues/1209).
+
+## __Elastic Load Balancing__
+ - ### Features
+ - This release added support for HTTP/2 ALPN preference lists for Network Load Balancers
+
+# __2.13.24__ __2020-05-26__
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __Amazon Data Lifecycle Manager__
+ - ### Features
+ - Allowing cron expression in the DLM policy creation schedule.
+
+## __Amazon ElastiCache__
+ - ### Features
+ - Amazon ElastiCache now allows you to use resource based policies to manage access to operations performed on ElastiCache resources. Also, Amazon ElastiCache now exposes ARN (Amazon Resource Names) for ElastiCache resources such as Cache Clusters and Parameter Groups. ARNs can be used to apply IAM policies to ElastiCache resources.
+
+## __Amazon Elastic Compute Cloud__
+ - ### Features
+ - ebsOptimizedInfo, efaSupported and supportedVirtualizationTypes added to DescribeInstanceTypes API
+
+## __Amazon Macie__
+ - ### Features
+ - This is a documentation-only update to the Amazon Macie Classic API. This update corrects out-of-date references to the service name.
+
+## __Amazon QuickSight__
+ - ### Features
+ - Add DataSetArns to QuickSight DescribeDashboard API response.
+
+## __Amazon Simple Systems Manager (SSM)__
+ - ### Features
+ - The AWS Systems Manager GetOpsSummary API action now supports multiple OpsResultAttributes in the request. Currently, this feature only supports OpsResultAttributes with the following TypeNames: [AWS:EC2InstanceComputeOptimizer] or [AWS:EC2InstanceInformation, AWS:EC2InstanceComputeOptimizer]. These TypeNames can be used along with either or both of the following: [AWS:EC2InstanceRecommendation, AWS:RecommendationSource]
+
+# __2.13.23__ __2020-05-22__
+## __AWS IoT SiteWise__
+ - ### Features
+ - This release adds support for the standard deviation auto-computed aggregate and improved support for portal logo images in SiteWise.
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __Auto Scaling__
+ - ### Features
+ - Documentation updates for Amazon EC2 Auto Scaling
+
+# __2.13.22__ __2020-05-21__
+## __AWS CodeBuild__
+ - ### Features
+ - CodeBuild adds support for tagging with report groups
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+ - ### Bugfixes
+ - Fixed an issue where a service returning an unknown response event type would cause a failure.
+
+## __Amazon Elastic Compute Cloud__
+ - ### Features
+ - From this release onwards ProvisionByoipCidr publicly supports IPv6. Updated ProvisionByoipCidr API to support tags for public IPv4 and IPv6 pools. Added NetworkBorderGroup to the DescribePublicIpv4Pools response.
+
+## __Amazon Simple Storage Service__
+ - ### Features
+ - Deprecates unusable input members bound to Content-MD5 header. Updates example and documentation.
+
+## __Synthetics__
+ - ### Features
+ - AWS CloudWatch Synthetics now supports configuration of allocated memory for a canary.
+
+# __2.13.21__ __2020-05-20__
+## __AWS App Mesh__
+ - ### Features
+ - List APIs for all resources now contain additional information: when a resource was created, last updated, and its current version number.
+
+## __AWS Backup__
+ - ### Features
+ - This release allows customers to enable or disable AWS Backup support for an AWS resource type. This release also includes new APIs, update-region-settings and describe-region-settings, which can be used to opt in to a specific resource type. For all current AWS Backup customers, the default settings enable support for EBS, EC2, StorageGateway, EFS, DDB and RDS resource types.
+
+## __AWS CodeDeploy__
+ - ### Features
+ - Amazon ECS customers using application and network load balancers can use CodeDeploy BlueGreen hook to invoke a CloudFormation stack update. With this update you can view CloudFormation deployment and target details via existing APIs and use your stack Id to list or delete all deployments associated with the stack.
+
+## __AWS Elemental MediaLive__
+ - ### Features
+ - AWS Elemental MediaLive now supports the ability to ingest the content that is streaming from an AWS Elemental Link device: https://aws.amazon.com/medialive/features/link/. This release also adds support for SMPTE-2038 and input state waiters.
+
+## __AWS SecurityHub__
+ - ### Features
+ - For findings related to controls, the finding information now includes the reason behind the current status of the control. A new field for the findings original severity allows finding providers to use the severity values from the system they use to assign severity.
+
+## __Amazon Chime__
+ - ### Features
+ - Amazon Chime enterprise account administrators can now set custom retention policies on chat data in the Amazon Chime application.
+
+## __Amazon Transcribe Streaming Service__
+ - ### Features
+ - This release adds support for vocabulary filtering in streaming with which you can filter unwanted words from the real-time transcription results. Visit https://docs.aws.amazon.com/transcribe/latest/dg/how-it-works.html to learn more.
+
+## __Application Auto Scaling__
+ - ### Features
+ - Documentation updates for Application Auto Scaling
+
+# __2.13.20__ __2020-05-19__
+## __AWS Health APIs and Notifications__
+ - ### Features
+ - Feature: Health: AWS Health added a new field to differentiate Public events from Account-Specific events in the API request and response. Visit https://docs.aws.amazon.com/health/latest/APIReference/API_Event.html to learn more.
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Endpoint discovery is now enabled by default for future services that will require it. A new method 'endpointDiscoveryEnabled' has been added to client builders that support endpoint discovery allowing a true or false value to be set. 'enableEndpointDiscovery' has been deprecated on the client builders as it is now superseded by 'endpointDiscoveryEnabled'.
+ - Updated service endpoint metadata.
+
+## __Amazon Chime__
+ - ### Features
+ - You can now receive Voice Connector call events through SNS or SQS.
+
+## __Amazon Elastic Compute Cloud__
+ - ### Features
+ - This release adds support for Federated Authentication via SAML-2.0 in AWS ClientVPN.
+
+## __Amazon Transcribe Service__
+ - ### Features
+ - Documentation updates for Amazon Transcribe.
+
+# __2.13.19__ __2020-05-18__
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __Amazon Chime__
+ - ### Features
+ - Amazon Chime now supports redacting chat messages.
+
+## __Amazon DynamoDB__
+ - ### Features
+ - Documentation updates for dynamodb
+
+## __Amazon EC2 Container Service__
+ - ### Features
+ - This release adds support for specifying environment files to add environment variables to your containers.
+
+## __Amazon Elastic Compute Cloud__
+ - ### Features
+ - This release changes the RunInstances CLI and SDK's so that if you do not specify a client token, a randomly generated token is used for the request to ensure idempotency.
+
+## __Amazon Macie 2__
+ - ### Features
+ - Documentation updates for Amazon Macie
+
+## __Amazon QLDB__
+ - ### Features
+ - Amazon QLDB now supports Amazon Kinesis data streams. You can now emit QLDB journal data, via the new QLDB Streams feature, directly to Amazon Kinesis supporting event processing and analytics among related use cases.
+
+# __2.13.18__ __2020-05-15__
+## __AWS CloudFormation__
+ - ### Features
+ - This release adds support for the following features: 1. DescribeType and ListTypeVersions APIs now output a field IsDefaultVersion, indicating if a version is the default version for its type; 2. Add StackRollbackComplete waiter feature to wait until stack status is UPDATE_ROLLBACK_COMPLETE; 3. Add paginators in DescribeAccountLimits, ListChangeSets, ListStackInstances, ListStackSetOperationResults, ListStackSetOperations, ListStackSets APIs.
+
+## __AWS Glue__
+ - ### Features
+ - Starting today, you can stop the execution of Glue workflows that are running. AWS Glue workflows are directed acyclic graphs (DAGs) of Glue triggers, crawlers and jobs. Using a workflow, you can design a complex multi-job extract, transform, and load (ETL) activity that AWS Glue can execute and track as single entity.
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+ - ### Bugfixes
+ - Allow event structures to be used as operation outputs outside of streaming contexts.
+ - Fix generation for services that contain operations with the same name as the service.
+
+## __AWS Security Token Service__
+ - ### Features
+ - API updates for STS
+
+## __Amazon EC2 Container Registry__
+ - ### Features
+ - This release adds support for specifying an image manifest media type when pushing a manifest to Amazon ECR.
+
+# __2.13.17__ __2020-05-14__
+## __AWS SDK for Java v2__
+ - ### Features
+ - Expose the `extendedRequestId` from `SdkServiceException`, so it can be provided to support to investigate issues.
+ - Updated service endpoint metadata.
+
+ - ### Bugfixes
+ - Fix generation for operations that share an output shape.
+ - Fix unmarshalling of events when structure member name and shape name mismatch.
+ - Support event streams that are shared between two operations.
+
+## __Amazon Elastic Compute Cloud__
+ - ### Features
+ - Amazon EC2 now supports adding AWS resource tags for associations between VPCs and local gateways, at creation time.
+
+## __Amazon RDS__
+ - ### Features
+ - Add SourceRegion to CopyDBClusterSnapshot and CreateDBCluster operations. As with CopyDBSnapshot and CreateDBInstanceReadReplica, specifying this field will automatically populate the PresignedURL field with a valid value.
+
+## __EC2 Image Builder__
+ - ### Features
+ - This release adds a new parameter (SupportedOsVersions) to the Components API. This parameter lists the OS versions supported by a component.
+
+# __2.13.16__ __2020-05-13__
+## __AWS SDK for Java v2__
+ - ### Bugfixes
+ - Fix a race condition in `FileAsyncResponseTransformer` where the future fails to complete when onComplete event is dispatched on the same thread that executed request
+
+## __Amazon ElastiCache__
+ - ### Features
+ - Amazon ElastiCache now supports auto-update of ElastiCache clusters after the "recommended apply by date" of service update has passed. ElastiCache will use your maintenance window to schedule the auto-update of applicable clusters. For more information, see https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/Self-Service-Updates.html and https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Self-Service-Updates.html
+
+## __Amazon Macie 2__
+ - ### Features
+ - This release introduces a new major version of the Amazon Macie API. You can use this version of the API to develop tools and applications that interact with the new Amazon Macie.
+
+# __2.13.15__ __2020-05-12__
+## __AWS IoT SiteWise__
+ - ### Features
+ - Documentation updates for iot-bifrost
+
+## __Amazon WorkMail__
+ - ### Features
+ - Minor API fixes and updates to the documentation.
+
+# __2.13.14__ __2020-05-11__
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __AWSKendraFrontendService__
+ - ### Features
+ - Amazon Kendra is now generally available. As part of general availability, we are launching Metrics for query & storage utilization
+
+## __Amazon CodeGuru Reviewer__
+ - ### Features
+ - Add Bitbucket integration APIs
+
+## __Amazon Elastic Compute Cloud__
+ - ### Features
+ - M6g instances are our next-generation general purpose instances powered by AWS Graviton2 processors
+
+# __2.13.13__ __2020-05-08__
+## __AWS Resource Groups Tagging API__
+ - ### Features
+ - Documentation updates for resourcegroupstaggingapi
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - A helpful error message is now raised when an obviously-invalid region name is given to the SDK, instead of the previous NullPointerException. Fixes [#1642](https://github.com/aws/aws-sdk-java-v2/issues/1642).
+ - Updated service endpoint metadata.
+
+## __Amazon GuardDuty__
+ - ### Features
+ - Documentation updates for GuardDuty
+
+## __Amazon SageMaker Service__
+ - ### Features
+ - This release adds a new parameter (EnableInterContainerTrafficEncryption) to CreateProcessingJob API to allow for enabling inter-container traffic encryption on processing jobs.
+
+# __2.13.12__ __2020-05-07__
+## __AWS CodeBuild__
+ - ### Features
+ - Add COMMIT_MESSAGE enum for webhook filter types
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __Amazon AppConfig__
+ - ### Features
+ - The description of the AWS AppConfig GetConfiguration API action was amended to include important information about calling ClientConfigurationVersion when you configure clients to call GetConfiguration.
+
+## __Amazon CloudWatch Logs__
+ - ### Features
+ - Amazon CloudWatch Logs now offers the ability to interact with Logs Insights queries via the new PutQueryDefinition, DescribeQueryDefinitions, and DeleteQueryDefinition APIs.
+
+## __Amazon Elastic Compute Cloud__
+ - ### Features
+ - Amazon EC2 now adds warnings to identify issues when creating a launch template or launch template version.
+
+## __Amazon Lightsail__
+ - ### Features
+ - This release adds support for the following options in instance public ports: Specify source IP addresses, specify ICMP protocol like PING, and enable/disable the Lightsail browser-based SSH and RDP clients' access to your instance.
+
+## __Amazon Route 53__
+ - ### Features
+ - Amazon Route 53 now supports the EU (Milan) Region (eu-south-1) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region.
+
+## __Amazon Simple Systems Manager (SSM)__
+ - ### Features
+ - This Patch Manager release supports creating patch baselines for Oracle Linux and Debian
+
+# __2.13.11__ __2020-05-06__
+## __AWS CodeStar connections__
+ - ### Features
+ - Added support for tagging resources in AWS CodeStar Connections
+
+## __AWS Comprehend Medical__
+ - ### Features
+ - New Batch Ontology APIs for ICD-10 and RxNorm will provide batch capability of linking the information extracted by Comprehend Medical to medical ontologies. The new ontology linking APIs make it easy to detect medications and medical conditions in unstructured clinical text and link them to RxNorm and ICD-10-CM codes respectively. This new feature can help you reduce the cost, time and effort of processing large amounts of unstructured medical text with high accuracy.
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+# __2.13.10__ __2020-05-05__
+## __AWS SDJ for Java v2__
+ - ### Features
+ - Updating dependency version: Jackson 2.10.3 -> 2.10.4, and combine dependency Jackson-annotations with Jackson.
+
+## __AWS Support__
+ - ### Features
+ - Documentation updates for support
+
+## __Amazon DynamoDB__
+ - ### Bugfixes
+ - Tweaked the javadocs for Get/Update, since it was previously wrongfully copied over from Delete and mentions the "delete operation".
+
+## __Amazon Elastic Compute Cloud__
+ - ### Features
+ - With this release, you can call ModifySubnetAttribute with two new parameters: MapCustomerOwnedIpOnLaunch and CustomerOwnedIpv4Pool, to map a customerOwnedIpv4Pool to a subnet. You will also see these two new fields in the DescribeSubnets response. If your subnet has a customerOwnedIpv4Pool mapped, your network interface will get an auto assigned customerOwnedIpv4 address when placed onto an instance.
+
+## __Amazon Simple Systems Manager (SSM)__
+ - ### Features
+ - AWS Systems Manager Parameter Store launches new data type to support aliases in EC2 APIs
+
+# __2.13.9__ __2020-05-04__
+## __AWS S3 Control__
+ - ### Features
+ - Amazon S3 Batch Operations now supports Object Lock.
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __Amazon API Gateway__
+ - ### Features
+ - Documentation updates for Amazon API Gateway
+
+## __Amazon DynamoDB Enhanced Client__
+ - ### Bugfixes
+ - Bugfix for handling special characters ':' and '#' in attribute names
+
+## __Amazon Elastic Compute Cloud__
+ - ### Features
+ - With this release, you can include enriched metadata in Amazon Virtual Private Cloud (Amazon VPC) flow logs published to Amazon CloudWatch Logs or Amazon Simple Storage Service (S3). Prior to this, custom format VPC flow logs enriched with additional metadata could be published only to S3. With this launch, we are also adding additional metadata fields that provide insights about the location such as AWS Region, AWS Availability Zone, AWS Local Zone, AWS Wavelength Zone, or AWS Outpost where the network interface where flow logs are captured exists.
+
+# __2.13.8__ __2020-05-01__
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __Amazon Elastic File System__
+ - ### Features
+ - Change the TagKeys argument for UntagResource to a URL parameter to address an issue with the Java and .NET SDKs.
+
+## __Amazon Simple Systems Manager (SSM)__
+ - ### Features
+ - Added TimeoutSeconds as part of ListCommands API response.
+
+# __2.13.7__ __2020-04-30__
+## __AWS Elemental MediaConvert__
+ - ### Features
+ - AWS Elemental MediaConvert SDK has added support for including AFD signaling in MXF wrapper.
+
+## __AWS IoT__
+ - ### Features
+ - AWS IoT Core released Fleet Provisioning for scalable onboarding of IoT devices to the cloud. This release includes support for customer's Lambda functions to validate devices during onboarding. Fleet Provisioning also allows devices to send Certificate Signing Requests (CSR) to AWS IoT Core for signing and getting a unique certificate. Lastly, AWS IoT Core added a feature to register the same certificate for multiple accounts in the same region without needing to register the certificate authority (CA).
+
+## __AWS IoT Events__
+ - ### Features
+ - Doc only update to correct APIs and related descriptions
+
+## __AWS Lambda__
+ - ### Features
+ - Documentation updates for Lambda
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __AWS Storage Gateway__
+ - ### Features
+ - Adding support for S3_INTELLIGENT_TIERING as a storage class option
+
+## __Amazon DynamoDB Enhanced Client__
+ - ### Bugfixes
+ - Made OperationContext a public interface and moved it into public namespace as it was already exposed through another public interface. This will only impact extensions that have been written to reference the old internal-only class that should now switch to the approved stable public interface.
+
+## __Schemas__
+ - ### Features
+ - Add support for resource policies for Amazon EventBridge Schema Registry, which is now generally available.
+
+# __2.13.6__ __2020-04-29__
+## __AWS Cloud Map__
+ - ### Features
+ - Documentation updates for servicediscovery
+
+## __AWS IoT SiteWise__
+ - ### Features
+ - AWS IoT SiteWise is a managed service that makes it easy to collect, store, organize and monitor data from industrial equipment at scale. You can use AWS IoT SiteWise to model your physical assets, processes and facilities, quickly compute common industrial performance metrics, and create fully managed web applications to help analyze industrial equipment data, prevent costly equipment issues, and reduce production inefficiencies.
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __AWS WAF__
+ - ### Features
+ - This release add migration API for AWS WAF Classic ("waf" and "waf-regional"). The migration API will parse through your web ACL and generate a CloudFormation template into your S3 bucket. Deploying this template will create equivalent web ACL under new AWS WAF ("wafv2").
+
+## __AWS WAF Regional__
+ - ### Features
+ - This release add migration API for AWS WAF Classic ("waf" and "waf-regional"). The migration API will parse through your web ACL and generate a CloudFormation template into your S3 bucket. Deploying this template will create equivalent web ACL under new AWS WAF ("wafv2").
+
+## __Amazon Transcribe Service__
+ - ### Features
+ - With this release, you can now use Amazon Transcribe to create medical custom vocabularies and use them in both medical real-time streaming and medical batch transcription jobs.
+
+# __2.13.5__ __2020-04-28__
+## __AWS Elemental MediaLive__
+ - ### Features
+ - AWS Elemental MediaLive now supports several new features: enhanced VQ for H.264 (AVC) output encodes; passthrough of timed metadata and of Nielsen ID3 metadata in fMP4 containers in HLS outputs; the ability to generate a SCTE-35 sparse track without additional segmentation, in Microsoft Smooth outputs; the ability to select the audio from a TS input by specifying the audio track; and conversion of HDR colorspace in the input to an SDR colorspace in the output.
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __Amazon DynamoDB Enhacned__
+ - ### Bugfixes
+ - Fix NPE on EnhancedType, created with documentOf, when calling innerToString
+
+## __Amazon EC2 Container Registry__
+ - ### Features
+ - This release adds support for multi-architecture images also known as a manifest list
+
+## __Amazon Kinesis Video Streams__
+ - ### Features
+ - Add "GET_CLIP" to the list of supported API names for the GetDataEndpoint API.
+
+## __Amazon Kinesis Video Streams Archived Media__
+ - ### Features
+ - Add support for the GetClip API for retrieving media from a video stream in the MP4 format.
+
+## __Amazon Route 53__
+ - ### Features
+ - Amazon Route 53 now supports the Africa (Cape Town) Region (af-south-1) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region.
+
+## __Amazon Simple Systems Manager (SSM)__
+ - ### Features
+ - SSM State Manager support for adding list association filter for Resource Group and manual mode of managing compliance for an association.
+
+# __2.13.4__ __2020-04-27__
+## __AWS Data Exchange__
+ - ### Features
+ - This release introduces AWS Data Exchange support for configurable encryption parameters when exporting data sets to Amazon S3.
+
+## __AWS Database Migration Service__
+ - ### Features
+ - Adding minimum replication engine version for describe-endpoint-types api.
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+ - Various performance improvements.
+
+## __Access Analyzer__
+ - ### Features
+ - This release adds support for inclusion of S3 Access Point policies in IAM Access Analyzer evaluation of S3 bucket access. IAM Access Analyzer now reports findings for buckets shared through access points and identifies the access point that permits access.
+
+## __Amazon SageMaker Service__
+ - ### Features
+ - Change to the input, ResourceSpec, changing EnvironmentArn to SageMakerImageArn. This affects the following preview APIs: CreateDomain, DescribeDomain, UpdateDomain, CreateUserProfile, DescribeUserProfile, UpdateUserProfile, CreateApp and DescribeApp.
+
+# __2.13.3__ __2020-04-24__
+## __AWS IoT__
+ - ### Features
+ - This release adds a new exception type to the AWS IoT SetV2LoggingLevel API.
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+ - ### Bugfixes
+ - Fixed bean-style setter names on serializable builders to match bean-style getter names.
+
+## __Amazon Data Lifecycle Manager__
+ - ### Features
+ - Enable 1hour frequency in the schedule creation for Data LifeCycle Manager.
+
+## __Amazon Elastic Inference__
+ - ### Features
+ - This feature allows customers to describe the accelerator types and offerings on any region where Elastic Inference is available.
+
+# __2.13.2__ __2020-04-23__
+## __AWS Elemental MediaPackage VOD__
+ - ### Features
+ - Adds tagging support for PackagingGroups, PackagingConfigurations, and Assets
+
+## __AWS Resource Access Manager__
+ - ### Features
+ - AWS Resource Access Manager (RAM) provides a new ListResourceTypes action. This action lets you list the resource types that can be shared using AWS RAM.
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __AWS Storage Gateway__
+ - ### Features
+ - Added AutomaticTapeCreation APIs
+
+## __AWS Transfer Family__
+ - ### Features
+ - This release adds support for transfers over FTPS and FTP in and out of Amazon S3, which makes it easy to migrate File Transfer Protocol over SSL (FTPS) and FTP workloads to AWS, in addition to the existing support for Secure File Transfer Protocol (SFTP).
+
+## __Amazon Kinesis Firehose__
+ - ### Features
+ - You can now deliver streaming data to an Amazon Elasticsearch Service domain in an Amazon VPC. You can now compress streaming data delivered to S3 using Hadoop-Snappy in addition to Gzip, Zip and Snappy formats.
+
+## __Amazon Pinpoint__
+ - ### Features
+ - This release of the Amazon Pinpoint API enhances support for sending campaigns through custom channels to locations such as AWS Lambda functions or web applications. Campaigns can now use CustomDeliveryConfiguration and CampaignCustomMessage to configure custom channel settings for a campaign.
+
+## __Amazon Relational Database Service__
+ - ### Features
+ - Adds support for AWS Local Zones, including a new optional parameter AvailabilityZoneGroup for the DescribeOrderableDBInstanceOptions operation.
+
+## __Application Auto Scaling__
+ - ### Features
+ - This release supports Auto Scaling in Amazon Keyspaces for Apache Cassandra.
+
+# __2.13.1__ __2020-04-22__
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __Amazon CodeGuru Reviewer__
+ - ### Features
+ - Add support for code review and recommendation feedback APIs.
+
+## __Amazon Elasticsearch Service__
+ - ### Features
+ - This change adds a new field 'OptionalDeployment' to ServiceSoftwareOptions to indicate whether a service software update is optional or mandatory. If True, it indicates that the update is optional, and the service software is not automatically updated. If False, the service software is automatically updated after AutomatedUpdateDate.
+
+## __Amazon Redshift__
+ - ### Features
+ - Amazon Redshift support for usage limits
+
+## __Amazon Transcribe Streaming Service__
+ - ### Features
+ - Adding ServiceUnavailableException as one of the expected exceptions
+
+## __Firewall Management Service__
+ - ### Features
+ - This release is to support AWS Firewall Manager policy with Organizational Unit scope.
+
+# __2.13.0__ __2020-04-21__
+## __AWS Cost Explorer Service__
+ - ### Features
+ - Cost Explorer Rightsizing Recommendations integrates with Compute Optimizer and begins offering across instance family rightsizing recommendations, adding to existing support for within instance family rightsizing recommendations.
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Bump minor version to '2.13.0-SNAPSHOT' because of upgrade of Jackson version.
+ - Updated service endpoint metadata.
+ - Updating dependency version: Jackson 2.10.0 -> 2.10.3, Jackson-annotations 2.9.0 -> 2.10.0.
+
+## __Amazon Elastic MapReduce__
+ - ### Features
+ - Amazon EMR adds support for configuring a managed scaling policy for an Amazon EMR cluster. This enables automatic resizing of a cluster to optimize for job execution speed and reduced cluster cost.
+
+## __Amazon GuardDuty__
+ - ### Features
+ - AWS GuardDuty now supports using AWS Organizations delegated administrators to create and manage GuardDuty master and member accounts. The feature also allows GuardDuty to be automatically enabled on associated organization accounts.
+
+## __Amazon Route 53 Domains__
+ - ### Features
+ - You can now programmatically transfer domains between AWS accounts without having to contact AWS Support
+
+# __2.12.0__ __2020-04-20__
+## __AWS Cost Explorer Service__
+ - ### Features
+ - Cost Categories API is now General Available with new dimensions and operations support. You can map costs by account name, service, and charge type dimensions as well as use contains, starts with, and ends with operations. Cost Categories can also be used in RI and SP coverage reports.
+
+## __AWS Glue__
+ - ### Features
+ - Added a new ConnectionType "KAFKA" and a ConnectionProperty "KAFKA_BOOTSTRAP_SERVERS" to support Kafka connection.
+
+## __AWS IoT Events__
+ - ### Features
+ - API update that allows users to add AWS Iot SiteWise actions while creating Detector Model in AWS Iot Events
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __Amazon DynamoDB Enhanced Client__
+ - ### Features
+ - The Amazon DynamoDB Enhanced Client is now generally available and provides a natural and intuitive interface for developers to integrate their applications with Amazon DynamoDB by means of an adaptive API that will map inputs and results to and from Java objects modeled by the application, rather than requiring the developers to implement that transformation themselves.
+
+## __AmazonApiGatewayV2__
+ - ### Features
+ - You can now export an OpenAPI 3.0 compliant API definition file for Amazon API Gateway HTTP APIs using the Export API.
+
+## __Synthetics__
+ - ### Features
+ - Introducing CloudWatch Synthetics. This is the first public release of CloudWatch Synthetics.
+
+# __2.11.14__ __2020-04-17__
+## __AWS OpsWorks CM__
+ - ### Features
+ - Documentation updates for opsworkscm
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __Amazon Fraud Detector__
+ - ### Features
+ - Added support for a new rule engine execution mode. Customers will be able to configure their detector versions to evaluate all rules and return outcomes from all 'matched' rules in the GetPrediction API response. Added support for deleting Detectors (DeleteDetector) and Rule Versions (DeleteRuleVersion).
+
+# __2.11.13__ __2020-04-16__
+## __AWS Elemental MediaConvert__
+ - ### Features
+ - AWS Elemental MediaConvert now allows you to specify your input captions frame rate for SCC captions sources.
+
+## __AWS Glue__
+ - ### Features
+ - This release adds support for querying GetUserDefinedFunctions API without databaseName.
+
+## __AWS IoT Events__
+ - ### Features
+ - API update that allows users to customize event action payloads, and adds support for Amazon DynamoDB actions.
+
+## __AWS Lambda__
+ - ### Features
+ - Sample code for AWS Lambda operations
+
+## __AWS MediaTailor__
+ - ### Features
+ - AWS Elemental MediaTailor SDK now allows configuration of Avail Suppression.
+
+## __AWS Migration Hub__
+ - ### Features
+ - Adding ThrottlingException
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __AWS SecurityHub__
+ - ### Features
+ - Added a new BatchUpdateFindings action, which allows customers to update selected information about their findings. Security Hub customers use BatchUpdateFindings to track their investigation into a finding. BatchUpdateFindings is intended to replace the UpdateFindings action, which is deprecated.
+
+## __Amazon Augmented AI Runtime__
+ - ### Features
+ - This release updates Amazon Augmented AI ListHumanLoops and StartHumanLoop APIs.
+
+## __Amazon Elastic Compute Cloud__
+ - ### Features
+ - Amazon EC2 now supports adding AWS resource tags for placement groups and key pairs, at creation time. The CreatePlacementGroup API will now return placement group information when created successfully. The DeleteKeyPair API now supports deletion by resource ID.
+
+## __Amazon Import/Export Snowball__
+ - ### Features
+ - An update to the Snowball Edge Storage Optimized device has been launched. Like the previous version, it has 80 TB of capacity for data transfer. Now it has 40 vCPUs, 80 GiB, and a 1 TiB SATA SSD of memory for EC2 compatible compute. The 80 TB of capacity can also be used for EBS-like volumes for AMIs.
+
+## __Amazon Relational Database Service__
+ - ### Features
+ - This release adds support for Amazon RDS Proxy with PostgreSQL compatibility.
+
+## __Amazon SageMaker Service__
+ - ### Features
+ - Amazon SageMaker now supports running training jobs on ml.g4dn and ml.c5n instance types. Amazon SageMaker supports in "IN" operation for Search now.
+
+## __EC2 Image Builder__
+ - ### Features
+ - This release includes support for additional OS Versions within EC2 Image Builder.
+
+## __Netty NIO HTTP Client__
+ - ### Bugfixes
+ - Mark a connection as unreusable if there was a 5xx server error so that a new request will establish a new connection.
+
+# __2.11.12__ __2020-04-08__
+## __AWS CloudFormation__
+ - ### Features
+ - The OrganizationalUnitIds parameter on StackSet and the OrganizationalUnitId parameter on StackInstance, StackInstanceSummary, and StackSetOperationResultSummary are now reserved for internal use. No data is returned for this parameter.
+
+## __AWS Elemental MediaConvert__
+ - ### Features
+ - AWS Elemental MediaConvert SDK adds support for queue hopping. Jobs can now hop from their original queue to a specified alternate queue, based on the maximum wait time that you specify in the job settings.
+
+## __AWS Migration Hub Config__
+ - ### Features
+ - Adding ThrottlingException
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __Amazon Chime__
+ - ### Features
+ - feature: Chime: This release introduces the ability to tag Amazon Chime SDK meeting resources. You can use tags to organize and identify your resources for cost allocation.
+
+## __Amazon CodeGuru Profiler__
+ - ### Features
+ - CodeGuruProfiler adds support for resource based authorization to submit profile data.
+
+## __Amazon EC2 Container Service__
+ - ### Features
+ - This release provides native support for specifying Amazon EFS file systems as volumes in your Amazon ECS task definitions.
+
+## __Amazon Elastic Compute Cloud__
+ - ### Features
+ - This release provides the ability to include tags in EC2 event notifications.
+
+# __2.11.11__ __2020-04-07__
+## __AWS MediaConnect__
+ - ### Features
+ - You can now send content from your MediaConnect flow to your virtual private cloud (VPC) without going over the public internet.
+
+## __Amazon API Gateway__
+ - ### Features
+ - Documentation updates for Amazon API Gateway.
+
+## __Amazon CodeGuru Reviewer__
+ - ### Features
+ - API updates for CodeGuruReviewer
+
+# __2.11.10__ __2020-04-06__
+## __AWS Elastic Beanstalk__
+ - ### Features
+ - This release adds a new action, ListPlatformBranches, and updates two actions, ListPlatformVersions and DescribePlatformVersion, to support the concept of Elastic Beanstalk platform branches.
+
+## __AWS Identity and Access Management__
+ - ### Features
+ - Documentation updates for AWS Identity and Access Management (IAM).
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __Amazon Chime__
+ - ### Features
+ - Amazon Chime proxy phone sessions let you provide two users with a shared phone number to communicate via voice or text for up to 12 hours without revealing personal phone numbers. When users call or message the provided phone number, they are connected to the other party and their private phone numbers are replaced with the shared number in Caller ID.
+
+## __Amazon Transcribe Service__
+ - ### Features
+ - This release adds support for batch transcription jobs within Amazon Transcribe Medical.
+
+# __2.11.9__ __2020-04-03__
+## __AWS RoboMaker__
+ - ### Features
+ - Added support for limiting simulation unit usage, giving more predictable control over simulation cost
+
+## __AWS S3__
+ - ### Features
+ - Allow DefaultS3Presigner.Builder to take a custom S3Configuration
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __Amazon Personalize Runtime__
+ - ### Features
+ - Amazon Personalize: Add new response field "score" to each item returned by GetRecommendations and GetPersonalizedRanking (HRNN-based recipes only)
+
+# __2.11.8__ __2020-04-02__
+## __AWS Elemental MediaLive__
+ - ### Features
+ - AWS Elemental MediaLive now supports Automatic Input Failover. This feature provides resiliency upstream of the channel, before ingest starts.
+
+## __AWS SDK for Java v2__
+ - ### Features
+ - Updated service endpoint metadata.
+
+## __Amazon CloudWatch__
+ - ### Features
+ - Amazon CloudWatch Contributor Insights adds support for tags and tagging on resource creation.
+
+## __Amazon GameLift__
+ - ### Features
+ - Public preview of GameLift FleetIQ as a standalone feature. GameLift FleetIQ makes it possible to use low-cost Spot instances by limiting the chance of interruptions affecting game sessions. FleetIQ is a feature of the managed GameLift service, and can now be used with game hosting in EC2 Auto Scaling groups that you manage in your own account.
+
+## __Amazon Redshift__
+ - ### Features
+ - Documentation updates for redshift
+
+## __Amazon Relational Database Service__
+ - ### Features
+ - Documentation updates for RDS: creating read replicas is now supported for SQL Server DB instances
+
# __2.11.7__ __2020-04-01__
## __AWS IoT__
- ### Features
diff --git a/README.md b/README.md
index 9eff33ae8e04..440c63801185 100644
--- a/README.md
+++ b/README.md
@@ -49,7 +49,7 @@ To automatically manage module versions (currently all modules have the same ver
software.amazon.awssdkbom
- 2.11.7
+ 2.13.55pomimport
@@ -83,12 +83,12 @@ Alternatively you can add dependencies for the specific services you use only:
software.amazon.awssdkec2
- 2.11.7
+ 2.13.55software.amazon.awssdks3
- 2.11.7
+ 2.13.55
```
@@ -100,7 +100,7 @@ You can import the whole SDK into your project (includes *ALL* services). Please
software.amazon.awssdkaws-sdk-java
- 2.11.7
+ 2.13.55
```
diff --git a/archetypes/archetype-lambda/README.md b/archetypes/archetype-lambda/README.md
index 1992b020ddfa..5702a787b739 100755
--- a/archetypes/archetype-lambda/README.md
+++ b/archetypes/archetype-lambda/README.md
@@ -14,7 +14,7 @@ You can use `mvn archetype:generate` to generate a project using this archetype.
mvn archetype:generate \
-DarchetypeGroupId=software.amazon.awssdk \
-DarchetypeArtifactId=archetype-lambda \
- -DarchetypeVersion=2.x\
+ -DarchetypeVersion=2.x
```
- Batch mode
@@ -23,12 +23,11 @@ mvn archetype:generate \
mvn archetype:generate \
-DarchetypeGroupId=software.amazon.awssdk \
-DarchetypeArtifactId=archetype-lambda \
- -DarchetypeVersion=2.x\
+ -DarchetypeVersion=2.x \
-DgroupId=com.test \
-DartifactId=sample-project \
-Dservice=s3 \
- -Dregion=us-west-2 \
- -DinteractiveMode=false \
+ -DinteractiveMode=false
```
### Parameters
@@ -36,9 +35,9 @@ mvn archetype:generate \
Parameter Name | Default Value | Description
---|---|---
`service` (required) | n/a | Specifies the service client to be used in the lambda function, eg: s3, dynamodb. You can find available services [here][java-sdk-v2-services].
-`region` (required) | n/a | Specifies the region to be set for the SDK client in the application
`groupId`(required) | n/a | Specifies the group ID of the project
`artifactId`(required) | n/a | Specifies the artifact ID of the project
+`region` | n/a | Specifies the region to be set for the SDK client in the application
`httpClient` | url-connection-client | Specifies the http client to be used by the SDK client. Available options are `url-connection-client` (sync), `apache-client` (sync), `netty-nio-client` (async). See [http clients][sdk-http-clients]
`handlerClassName` | `"App"`| Specifies the class name of the handler, which will be used as the lambda function name. It should be camel case.
`javaSdkVersion` | Same version as the archetype version | Specifies the version of the AWS Java SDK 2.x to be used
diff --git a/archetypes/archetype-lambda/pom.xml b/archetypes/archetype-lambda/pom.xml
index 1c9d0fb32fd1..f6bf8cdc63ad 100644
--- a/archetypes/archetype-lambda/pom.xml
+++ b/archetypes/archetype-lambda/pom.xml
@@ -20,7 +20,7 @@
archetypessoftware.amazon.awssdk
- 0.2.0-PREVIEW
+ 2.13.56-SNAPSHOT4.0.0archetype-lambda
diff --git a/archetypes/archetype-lambda/src/main/resources/META-INF/maven/archetype-metadata.xml b/archetypes/archetype-lambda/src/main/resources/META-INF/maven/archetype-metadata.xml
index cae4983caaf1..82f7c91a528c 100644
--- a/archetypes/archetype-lambda/src/main/resources/META-INF/maven/archetype-metadata.xml
+++ b/archetypes/archetype-lambda/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -39,6 +39,7 @@
(url-connection-client|apache-client|netty-nio-client)
+ null^\w+-(\w+-)+\d+$
diff --git a/archetypes/archetype-lambda/src/main/resources/archetype-resources/pom.xml b/archetypes/archetype-lambda/src/main/resources/archetype-resources/pom.xml
index 035954af7d98..b51f5f667e6a 100644
--- a/archetypes/archetype-lambda/src/main/resources/archetype-resources/pom.xml
+++ b/archetypes/archetype-lambda/src/main/resources/archetype-resources/pom.xml
@@ -11,7 +11,7 @@
UTF-81.81.8
- 3.1.1
+ 3.2.13.6.11.6.0${javaSdkVersion}
@@ -93,6 +93,15 @@
false${artifactId}
+
+
+ *:*
+
+
+ module-info.class
+
+
+
diff --git a/archetypes/archetype-lambda/src/main/resources/archetype-resources/src/main/java/DependencyFactory.java b/archetypes/archetype-lambda/src/main/resources/archetype-resources/src/main/java/DependencyFactory.java
index f9f4ed2f2e3b..947a0c4d4d03 100644
--- a/archetypes/archetype-lambda/src/main/resources/archetype-resources/src/main/java/DependencyFactory.java
+++ b/archetypes/archetype-lambda/src/main/resources/archetype-resources/src/main/java/DependencyFactory.java
@@ -3,6 +3,9 @@
package ${package};
import software.amazon.awssdk.auth.credentials.EnvironmentVariableCredentialsProvider;
+#if ($region == 'null')
+import software.amazon.awssdk.core.SdkSystemSetting;
+#end
import software.amazon.awssdk.http.${httpClientPackageName};
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.${servicePackage}.${serviceClientClassName};
@@ -20,7 +23,11 @@ private DependencyFactory() {}
public static ${serviceClientClassName} ${serviceClientVariable}Client() {
return ${serviceClientClassName}.builder()
.credentialsProvider(EnvironmentVariableCredentialsProvider.create())
+#if ($region == 'null')
+ .region(Region.of(System.getenv(SdkSystemSetting.AWS_REGION.environmentVariable())))
+#else
.region(Region.${regionEnum})
+#end
.httpClientBuilder(${httpClientClassName}.builder())
.build();
}
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/archetype.properties b/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/archetype.properties
index 682c1bdf1f84..63a575c729e8 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/archetype.properties
+++ b/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/archetype.properties
@@ -5,6 +5,6 @@ package=software.amazonaws.test
service=dynamodb
httpClient=apache-client
handlerClassName=MyApacheFunction
-region=ap-southeast-1
+region=null
javaSdkVersion=2.11.0
nettyOpenSslVersion=2.0.29.Final
\ No newline at end of file
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/pom.xml b/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/pom.xml
index 2f1c10b9e1e4..d34684ea4c6d 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/pom.xml
+++ b/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/pom.xml
@@ -10,7 +10,7 @@
UTF-81.81.8
- 3.1.1
+ 3.2.13.6.11.6.02.11.0
@@ -80,6 +80,15 @@
falsetest-apache-artifact
+
+
+ *:*
+
+
+ module-info.class
+
+
+
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/src/main/java/software/amazonaws/test/DependencyFactory.java b/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/src/main/java/software/amazonaws/test/DependencyFactory.java
index f6ecbd48a31f..f79a15985d7e 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/src/main/java/software/amazonaws/test/DependencyFactory.java
+++ b/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/src/main/java/software/amazonaws/test/DependencyFactory.java
@@ -2,6 +2,7 @@
package software.amazonaws.test;
import software.amazon.awssdk.auth.credentials.EnvironmentVariableCredentialsProvider;
+import software.amazon.awssdk.core.SdkSystemSetting;
import software.amazon.awssdk.http.apache.ApacheHttpClient;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.dynamodb.DynamoDbClient;
@@ -19,7 +20,7 @@ private DependencyFactory() {}
public static DynamoDbClient dynamoDbClient() {
return DynamoDbClient.builder()
.credentialsProvider(EnvironmentVariableCredentialsProvider.create())
- .region(Region.AP_SOUTHEAST_1)
+ .region(Region.of(System.getenv(SdkSystemSetting.AWS_REGION.environmentVariable())))
.httpClientBuilder(ApacheHttpClient.builder())
.build();
}
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/reference/pom.xml b/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/reference/pom.xml
index fa7e7cce3210..e434477f8aea 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/reference/pom.xml
+++ b/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/reference/pom.xml
@@ -10,7 +10,7 @@
UTF-81.81.8
- 3.1.1
+ 3.2.13.6.11.6.02.11.0
@@ -80,6 +80,15 @@
falsetest-dynamodbstreams-artifact
+
+
+ *:*
+
+
+ module-info.class
+
+
+
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/reference/pom.xml b/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/reference/pom.xml
index 003cb97c99c7..177dfbb0440b 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/reference/pom.xml
+++ b/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/reference/pom.xml
@@ -10,7 +10,7 @@
UTF-81.81.8
- 3.1.1
+ 3.2.13.6.11.6.02.11.0
@@ -88,6 +88,15 @@
falsetest-netty-artifact
+
+
+ *:*
+
+
+ module-info.class
+
+
+
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/reference/pom.xml b/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/reference/pom.xml
index addcc8788bcb..510579f12687 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/reference/pom.xml
+++ b/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/reference/pom.xml
@@ -10,7 +10,7 @@
UTF-81.81.8
- 3.1.1
+ 3.2.13.6.11.6.02.11.0
@@ -80,6 +80,15 @@
falsetest-url-connection-client-artifact
+
+
+ *:*
+
+
+ module-info.class
+
+
+
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/pom.xml b/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/pom.xml
index 68fe5c93a944..9394f5abb2cc 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/pom.xml
+++ b/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/pom.xml
@@ -10,7 +10,7 @@
UTF-81.81.8
- 3.1.1
+ 3.2.13.6.11.6.02.11.0
@@ -80,6 +80,15 @@
falsetest-wafregional-artifact
+
+
+ *:*
+
+
+ module-info.class
+
+
+
diff --git a/archetypes/pom.xml b/archetypes/pom.xml
index 5fe7d6bf16d5..0d41d8e134de 100644
--- a/archetypes/pom.xml
+++ b/archetypes/pom.xml
@@ -20,7 +20,7 @@
aws-sdk-java-pomsoftware.amazon.awssdk
- 0.2.0-PREVIEW
+ 2.13.56-SNAPSHOT4.0.0archetypes
diff --git a/aws-sdk-java/pom.xml b/aws-sdk-java/pom.xml
index 129ce54bc04c..405959c70b1b 100644
--- a/aws-sdk-java/pom.xml
+++ b/aws-sdk-java/pom.xml
@@ -12,14 +12,12 @@
~ on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
~ express or implied. See the License for the specific language governing
~ permissions and limitations under the License.
- -->
-
-
+ -->4.0.0software.amazon.awssdkaws-sdk-java-pom
- 0.2.0-PREVIEW
+ 2.13.56-SNAPSHOT../pom.xmlaws-sdk-java
@@ -1110,6 +1108,36 @@ Amazon AutoScaling, etc).
codestarconnections${awsjavasdk.version}
+
+ software.amazon.awssdk
+ synthetics
+ ${awsjavasdk.version}
+
+
+ software.amazon.awssdk
+ iotsitewise
+ ${awsjavasdk.version}
+
+
+ software.amazon.awssdk
+ macie2
+ ${awsjavasdk.version}
+
+
+ software.amazon.awssdk
+ codeartifact
+ ${awsjavasdk.version}
+
+
+ software.amazon.awssdk
+ honeycode
+ ${awsjavasdk.version}
+
+
+ software.amazon.awssdk
+ ivs
+ ${awsjavasdk.version}
+ ${project.artifactId}-${project.version}
diff --git a/bom-internal/pom.xml b/bom-internal/pom.xml
index d2976ddca618..9f3d2d7e3fe4 100644
--- a/bom-internal/pom.xml
+++ b/bom-internal/pom.xml
@@ -20,7 +20,7 @@
aws-sdk-java-pomsoftware.amazon.awssdk
- 0.2.0-PREVIEW
+ 2.13.56-SNAPSHOT4.0.0
@@ -62,7 +62,7 @@
com.fasterxml.jackson.corejackson-annotations
- ${jackson.annotations.version}
+ ${jackson.version}com.fasterxml.jackson.dataformat
diff --git a/bom/pom.xml b/bom/pom.xml
index 300d7c1345c3..230c183e7698 100644
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@ -12,14 +12,12 @@
~ on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
~ express or implied. See the License for the specific language governing
~ permissions and limitations under the License.
- -->
-
-
+ -->4.0.0software.amazon.awssdkaws-sdk-java-pom
- 0.2.0-PREVIEW
+ 2.13.56-SNAPSHOT../pom.xmlbom
@@ -420,6 +418,11 @@
dynamodb${awsjavasdk.version}
+
+ software.amazon.awssdk
+ dynamodb-enhanced
+ ${awsjavasdk.version}
+ software.amazon.awssdkec2
@@ -1225,6 +1228,36 @@
codestarconnections${awsjavasdk.version}
+
+ software.amazon.awssdk
+ synthetics
+ ${awsjavasdk.version}
+
+
+ software.amazon.awssdk
+ iotsitewise
+ ${awsjavasdk.version}
+
+
+ software.amazon.awssdk
+ macie2
+ ${awsjavasdk.version}
+
+
+ software.amazon.awssdk
+ codeartifact
+ ${awsjavasdk.version}
+
+
+ software.amazon.awssdk
+ honeycode
+ ${awsjavasdk.version}
+
+
+ software.amazon.awssdk
+ ivs
+ ${awsjavasdk.version}
+
diff --git a/build-tools/src/main/resources/software/amazon/awssdk/checkstyle.xml b/build-tools/src/main/resources/software/amazon/awssdk/checkstyle.xml
index 1d42ef9f8f7f..05001c3fba7b 100644
--- a/build-tools/src/main/resources/software/amazon/awssdk/checkstyle.xml
+++ b/build-tools/src/main/resources/software/amazon/awssdk/checkstyle.xml
@@ -365,6 +365,14 @@
+
+
+
+
+
+
+
+
diff --git a/build-tools/src/main/resources/software/amazon/awssdk/spotbugs-suppressions.xml b/build-tools/src/main/resources/software/amazon/awssdk/spotbugs-suppressions.xml
index d1809a003d7d..82126f1a1f92 100644
--- a/build-tools/src/main/resources/software/amazon/awssdk/spotbugs-suppressions.xml
+++ b/build-tools/src/main/resources/software/amazon/awssdk/spotbugs-suppressions.xml
@@ -159,4 +159,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bundle/pom.xml b/bundle/pom.xml
index 3991c99473b2..5ec90da94bd6 100644
--- a/bundle/pom.xml
+++ b/bundle/pom.xml
@@ -21,7 +21,7 @@
software.amazon.awssdkaws-sdk-java-pom
- 0.2.0-PREVIEW
+ 2.13.56-SNAPSHOTbundlejar
diff --git a/codegen-lite-maven-plugin/pom.xml b/codegen-lite-maven-plugin/pom.xml
index 91ff930aac78..c8dbbb5360d3 100644
--- a/codegen-lite-maven-plugin/pom.xml
+++ b/codegen-lite-maven-plugin/pom.xml
@@ -22,7 +22,7 @@
software.amazon.awssdkaws-sdk-java-pom
- 0.2.0-PREVIEW
+ 2.13.56-SNAPSHOT../pom.xmlcodegen-lite-maven-plugin
diff --git a/codegen-lite/pom.xml b/codegen-lite/pom.xml
index 5ffe896a7870..f9ec817b4537 100644
--- a/codegen-lite/pom.xml
+++ b/codegen-lite/pom.xml
@@ -21,7 +21,7 @@
software.amazon.awssdkaws-sdk-java-pom
- 0.2.0-PREVIEW
+ 2.13.56-SNAPSHOTcodegen-liteAWS Java SDK :: Code Generator Lite
diff --git a/codegen-maven-plugin/pom.xml b/codegen-maven-plugin/pom.xml
index fe5a1c814810..b5151194df89 100644
--- a/codegen-maven-plugin/pom.xml
+++ b/codegen-maven-plugin/pom.xml
@@ -22,7 +22,7 @@
software.amazon.awssdkaws-sdk-java-pom
- 0.2.0-PREVIEW
+ 2.13.56-SNAPSHOT../pom.xmlcodegen-maven-plugin
diff --git a/codegen/pom.xml b/codegen/pom.xml
index 53ac4ed537cb..4a6a888ff2ee 100644
--- a/codegen/pom.xml
+++ b/codegen/pom.xml
@@ -21,7 +21,7 @@
software.amazon.awssdkaws-sdk-java-pom
- 0.2.0-PREVIEW
+ 2.13.56-SNAPSHOTcodegenAWS Java SDK :: Code Generator
@@ -57,6 +57,11 @@
http-client-spi${awsjavasdk.version}
+
+ software.amazon.awssdk
+ metrics-spi
+ ${awsjavasdk.version}
+ software.amazon.awssdkregions
diff --git a/codegen/src/main/java/software/amazon/awssdk/codegen/AddEmptyInputShape.java b/codegen/src/main/java/software/amazon/awssdk/codegen/AddEmptyInputShape.java
index 172fcbe137cd..3b1c95677796 100644
--- a/codegen/src/main/java/software/amazon/awssdk/codegen/AddEmptyInputShape.java
+++ b/codegen/src/main/java/software/amazon/awssdk/codegen/AddEmptyInputShape.java
@@ -15,7 +15,6 @@
package software.amazon.awssdk.codegen;
-import static software.amazon.awssdk.codegen.internal.Constant.REQUEST_CLASS_SUFFIX;
import static software.amazon.awssdk.codegen.internal.Utils.createInputShapeMarshaller;
import static software.amazon.awssdk.codegen.internal.Utils.unCapitalize;
@@ -62,7 +61,7 @@ private Map addEmptyInputShapes(
Input input = operation.getInput();
if (input == null) {
- String inputShape = operationName + REQUEST_CLASS_SUFFIX;
+ String inputShape = namingStrategy.getRequestClassName(operationName);
OperationModel operationModel = javaOperationMap.get(operationName);
operationModel.setInput(new VariableModel(unCapitalize(inputShape), inputShape));
diff --git a/codegen/src/main/java/software/amazon/awssdk/codegen/AddEmptyOutputShape.java b/codegen/src/main/java/software/amazon/awssdk/codegen/AddEmptyOutputShape.java
index 78ed00857022..8a9d587ace15 100644
--- a/codegen/src/main/java/software/amazon/awssdk/codegen/AddEmptyOutputShape.java
+++ b/codegen/src/main/java/software/amazon/awssdk/codegen/AddEmptyOutputShape.java
@@ -15,8 +15,6 @@
package software.amazon.awssdk.codegen;
-import static software.amazon.awssdk.codegen.internal.Constant.RESPONSE_CLASS_SUFFIX;
-
import java.util.HashMap;
import java.util.Map;
import software.amazon.awssdk.codegen.model.intermediate.OperationModel;
@@ -58,7 +56,7 @@ private Map addEmptyOutputShapes(
Output output = operation.getOutput();
if (output == null) {
- String outputShape = operationName + RESPONSE_CLASS_SUFFIX;
+ String outputShape = namingStrategy.getResponseClassName(operationName);
OperationModel operationModel = currentOperations.get(operationName);
operationModel.setReturnType(new ReturnTypeModel(outputShape));
diff --git a/codegen/src/main/java/software/amazon/awssdk/codegen/IntermediateModelBuilder.java b/codegen/src/main/java/software/amazon/awssdk/codegen/IntermediateModelBuilder.java
index 565d567cb7c9..f0ded1cd6e17 100644
--- a/codegen/src/main/java/software/amazon/awssdk/codegen/IntermediateModelBuilder.java
+++ b/codegen/src/main/java/software/amazon/awssdk/codegen/IntermediateModelBuilder.java
@@ -106,13 +106,25 @@ public IntermediateModel build() {
Map authorizers =
new HashMap<>(new AddCustomAuthorizers(this.service, getNamingStrategy()).constructAuthorizers());
+ // Iterate through every operation and build an 'endpointOperation' if at least one operation that supports
+ // endpoint discovery is found. If -any operations that require- endpoint discovery are found, then the flag
+ // 'endpointCacheRequired' will be set on the 'endpointOperation'. This 'endpointOperation' summary is then
+ // passed directly into the constructor of the intermediate model and is referred to by the codegen.
OperationModel endpointOperation = null;
+ boolean endpointCacheRequired = false;
for (OperationModel o : operations.values()) {
if (o.isEndpointOperation()) {
endpointOperation = o;
- break;
}
+
+ if (o.getEndpointDiscovery() != null && o.getEndpointDiscovery().isRequired()) {
+ endpointCacheRequired = true;
+ }
+ }
+
+ if (endpointOperation != null) {
+ endpointOperation.setEndpointCacheRequired(endpointCacheRequired);
}
for (IntermediateModelShapeProcessor processor : shapeProcessors) {
@@ -168,8 +180,7 @@ private void linkMembersToShapes(IntermediateModel model) {
for (Map.Entry entry : model.getShapes().entrySet()) {
if (entry.getValue().getMembers() != null) {
for (MemberModel member : entry.getValue().getMembers()) {
- member.setShape(
- Utils.findShapeModelByC2jNameIfExists(model, member.getC2jShape()));
+ member.setShape(Utils.findMemberShapeModelByC2jNameIfExists(model, member.getC2jShape()));
}
}
}
@@ -186,7 +197,9 @@ private void linkOperationsToInputOutputShapes(IntermediateModel model) {
if (operation.getOutput() != null) {
String outputShapeName = operation.getOutput().getShape();
- entry.getValue().setOutputShape(model.getShapeByC2jName(outputShapeName));
+ ShapeModel outputShape =
+ model.getShapeByNameAndC2jName(entry.getValue().getReturnType().getReturnType(), outputShapeName);
+ entry.getValue().setOutputShape(outputShape);
}
}
}
diff --git a/codegen/src/main/java/software/amazon/awssdk/codegen/docs/OperationDocProvider.java b/codegen/src/main/java/software/amazon/awssdk/codegen/docs/OperationDocProvider.java
index f99859b8a019..65dc3346fdda 100644
--- a/codegen/src/main/java/software/amazon/awssdk/codegen/docs/OperationDocProvider.java
+++ b/codegen/src/main/java/software/amazon/awssdk/codegen/docs/OperationDocProvider.java
@@ -25,6 +25,7 @@
import software.amazon.awssdk.codegen.model.intermediate.IntermediateModel;
import software.amazon.awssdk.codegen.model.intermediate.OperationModel;
import software.amazon.awssdk.codegen.model.intermediate.ShapeModel;
+import software.amazon.awssdk.codegen.model.service.PaginatorDefinition;
import software.amazon.awssdk.utils.Pair;
import software.amazon.awssdk.utils.StringUtils;
@@ -58,7 +59,7 @@ abstract class OperationDocProvider {
this.model = model;
this.opModel = opModel;
this.config = config;
- this.paginationDocs = new PaginationDocs(model, opModel);
+ this.paginationDocs = new PaginationDocs(model, opModel, getPaginatorDefinition());
}
/**
@@ -180,6 +181,10 @@ final void emitRequestParm(DocumentationBuilder docBuilder) {
}
}
+ private PaginatorDefinition getPaginatorDefinition() {
+ return model.getPaginators().get(opModel.getOperationName());
+ }
+
/**
* @return The interface name of the client. Will differ per {@link ClientType}.
*/
diff --git a/codegen/src/main/java/software/amazon/awssdk/codegen/docs/PaginationDocs.java b/codegen/src/main/java/software/amazon/awssdk/codegen/docs/PaginationDocs.java
index 67738c7ba8b7..485b034fbe32 100644
--- a/codegen/src/main/java/software/amazon/awssdk/codegen/docs/PaginationDocs.java
+++ b/codegen/src/main/java/software/amazon/awssdk/codegen/docs/PaginationDocs.java
@@ -23,6 +23,7 @@
import org.reactivestreams.Subscription;
import software.amazon.awssdk.codegen.model.intermediate.IntermediateModel;
import software.amazon.awssdk.codegen.model.intermediate.OperationModel;
+import software.amazon.awssdk.codegen.model.service.PaginatorDefinition;
import software.amazon.awssdk.codegen.poet.PoetExtensions;
import software.amazon.awssdk.codegen.utils.PaginatorUtils;
import software.amazon.awssdk.utils.async.SequentialSubscriber;
@@ -33,10 +34,13 @@ public class PaginationDocs {
private final OperationModel operationModel;
private final PoetExtensions poetExtensions;
+ private final PaginatorDefinition paginatorDefinition;
- public PaginationDocs(IntermediateModel intermediateModel, OperationModel operationModel) {
+ public PaginationDocs(IntermediateModel intermediateModel, OperationModel operationModel,
+ PaginatorDefinition paginatorDefinition) {
this.operationModel = operationModel;
this.poetExtensions = new PoetExtensions(intermediateModel);
+ this.paginatorDefinition = paginatorDefinition;
}
/**
@@ -149,6 +153,7 @@ private String getSyncCodeSnippets() {
.add(callOperationOnClient)
.addStatement("responses.iterator().forEachRemaining(....)")
.build()))
+ .add(noteAboutLimitConfigurationMethod())
.add(noteAboutSyncNonPaginatedMethod())
.build()
.toString();
@@ -186,6 +191,7 @@ private String getAsyncCodeSnippets() {
.build()))
.add("As the response is a publisher, it can work well with third party reactive streams implementations "
+ "like RxJava2.")
+ .add(noteAboutLimitConfigurationMethod())
.add(noteAboutSyncNonPaginatedMethod())
.build()
.toString();
@@ -238,6 +244,18 @@ private ClassName asyncPaginatedResponseType() {
return poetExtensions.getResponseClassForPaginatedAsyncOperation(operationModel.getOperationName());
}
+ private String getPaginatorLimitKeyName() {
+ return paginatorDefinition != null ? paginatorDefinition.getLimitKey() : "";
+ }
+
+ private CodeBlock noteAboutLimitConfigurationMethod() {
+ return CodeBlock.builder()
+ .add("\n
Please notice that the configuration of $L won't limit the number of results "
+ + "you get with the paginator. It only limits the number of results in each page.
- *
+ *
* As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.
*
+ * Please notice that the configuration of MaxResults won't limit the number of results you get with the
+ * paginator. It only limits the number of results in each page.
+ *
+ *
* Note: If you prefer to have control on service calls, use the
* {@link #paginatedOperationWithResultKey(software.amazon.awssdk.services.json.model.PaginatedOperationWithResultKeyRequest)}
* operation.
@@ -626,7 +724,10 @@ public PaginatedOperationWithResultKeyPublisher paginatedOperationWithResultKeyP
@Override
public CompletableFuture paginatedOperationWithoutResultKey(
PaginatedOperationWithoutResultKeyRequest paginatedOperationWithoutResultKeyRequest) {
+ MetricCollector apiCallMetricCollector = MetricCollector.create("ApiCall");
try {
+ apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Json Service");
+ apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "PaginatedOperationWithoutResultKey");
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
@@ -641,9 +742,19 @@ public CompletableFuture paginatedOp
.withOperationName("PaginatedOperationWithoutResultKey")
.withMarshaller(new PaginatedOperationWithoutResultKeyRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
- .withInput(paginatedOperationWithoutResultKeyRequest));
+ .withMetricCollector(apiCallMetricCollector).withInput(paginatedOperationWithoutResultKeyRequest));
+ AwsRequestOverrideConfiguration requestOverrideConfig = paginatedOperationWithoutResultKeyRequest
+ .overrideConfiguration().orElse(null);
+ CompletableFuture whenCompleted = executeFuture.whenComplete((r, e) -> {
+ List metricPublishers = resolveMetricPublishers(clientConfiguration, requestOverrideConfig);
+ metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
+ });
+ executeFuture = CompletableFutureUtils.forwardExceptionTo(whenCompleted, executeFuture);
return executeFuture;
} catch (Throwable t) {
+ List metricPublishers = resolveMetricPublishers(clientConfiguration,
+ paginatedOperationWithoutResultKeyRequest.overrideConfiguration().orElse(null));
+ metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
return CompletableFutureUtils.failedFuture(t);
}
}
@@ -670,7 +781,7 @@ public CompletableFuture paginatedOp
* The following are few ways to use the response class:
*
- *
+ *
* As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.
*
+ * Please notice that the configuration of MaxResults won't limit the number of results you get with the
+ * paginator. It only limits the number of results in each page.
+ *
+ * Please notice that the configuration of MaxResults won't limit the number of results you get with the
+ * paginator. It only limits the number of results in each page.
+ *
+ *
* Note: If you prefer to have control on service calls, use the
* {@link #paginatedOperationWithResultKey(software.amazon.awssdk.services.json.model.PaginatedOperationWithResultKeyRequest)}
* operation.
@@ -623,6 +627,10 @@ default PaginatedOperationWithResultKeyPublisher paginatedOperationWithResultKey
*
* As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.
*
+ * Please notice that the configuration of MaxResults won't limit the number of results you get with the
+ * paginator. It only limits the number of results in each page.
+ *
+ *
* Note: If you prefer to have control on service calls, use the
* {@link #paginatedOperationWithResultKey(software.amazon.awssdk.services.json.model.PaginatedOperationWithResultKeyRequest)}
* operation.
@@ -696,6 +704,10 @@ default PaginatedOperationWithResultKeyPublisher paginatedOperationWithResultKey
*
* As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.
*
+ * Please notice that the configuration of MaxResults won't limit the number of results you get with the
+ * paginator. It only limits the number of results in each page.
+ *
+ *
* Note: If you prefer to have control on service calls, use the
* {@link #paginatedOperationWithResultKey(software.amazon.awssdk.services.json.model.PaginatedOperationWithResultKeyRequest)}
* operation.
@@ -726,7 +738,7 @@ default PaginatedOperationWithResultKeyPublisher paginatedOperationWithResultKey
default PaginatedOperationWithResultKeyPublisher paginatedOperationWithResultKeyPaginator(
Consumer paginatedOperationWithResultKeyRequest) {
return paginatedOperationWithResultKeyPaginator(PaginatedOperationWithResultKeyRequest.builder()
- .applyMutation(paginatedOperationWithResultKeyRequest).build());
+ .applyMutation(paginatedOperationWithResultKeyRequest).build());
}
/**
@@ -783,7 +795,7 @@ default CompletableFuture paginatedO
default CompletableFuture paginatedOperationWithoutResultKey(
Consumer paginatedOperationWithoutResultKeyRequest) {
return paginatedOperationWithoutResultKey(PaginatedOperationWithoutResultKeyRequest.builder()
- .applyMutation(paginatedOperationWithoutResultKeyRequest).build());
+ .applyMutation(paginatedOperationWithoutResultKeyRequest).build());
}
/**
@@ -833,6 +845,10 @@ default CompletableFuture paginatedO
*
* As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.
*
+ * Please notice that the configuration of MaxResults won't limit the number of results you get with the
+ * paginator. It only limits the number of results in each page.
+ *
+ *
* Note: If you prefer to have control on service calls, use the
* {@link #paginatedOperationWithoutResultKey(software.amazon.awssdk.services.json.model.PaginatedOperationWithoutResultKeyRequest)}
* operation.
@@ -906,6 +922,10 @@ default PaginatedOperationWithoutResultKeyPublisher paginatedOperationWithoutRes
*
* As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.
*
+ * Please notice that the configuration of MaxResults won't limit the number of results you get with the
+ * paginator. It only limits the number of results in each page.
+ *
+ * Please notice that the configuration of MaxResults won't limit the number of results you get with the
+ * paginator. It only limits the number of results in each page.
+ *
+ *
* Note: If you prefer to have control on service calls, use the
* {@link #paginatedOperationWithResultKey(software.amazon.awssdk.services.json.model.PaginatedOperationWithResultKeyRequest)}
* operation.
@@ -309,8 +356,8 @@ public PaginatedOperationWithResultKeyResponse paginatedOperationWithResultKey(
*/
@Override
public PaginatedOperationWithResultKeyIterable paginatedOperationWithResultKeyPaginator(
- PaginatedOperationWithResultKeyRequest paginatedOperationWithResultKeyRequest) throws AwsServiceException,
- SdkClientException, JsonException {
+ PaginatedOperationWithResultKeyRequest paginatedOperationWithResultKeyRequest) throws AwsServiceException,
+ SdkClientException, JsonException {
return new PaginatedOperationWithResultKeyIterable(this, applyPaginatorUserAgent(paginatedOperationWithResultKeyRequest));
}
@@ -332,23 +379,32 @@ public PaginatedOperationWithResultKeyIterable paginatedOperationWithResultKeyPa
*/
@Override
public PaginatedOperationWithoutResultKeyResponse paginatedOperationWithoutResultKey(
- PaginatedOperationWithoutResultKeyRequest paginatedOperationWithoutResultKeyRequest) throws AwsServiceException,
- SdkClientException, JsonException {
+ PaginatedOperationWithoutResultKeyRequest paginatedOperationWithoutResultKeyRequest) throws AwsServiceException,
+ SdkClientException, JsonException {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
- .isPayloadJson(true).build();
+ .isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
- operationMetadata, PaginatedOperationWithoutResultKeyResponse::builder);
+ operationMetadata, PaginatedOperationWithoutResultKeyResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
- operationMetadata);
-
- return clientHandler
- .execute(new ClientExecutionParams()
- .withOperationName("PaginatedOperationWithoutResultKey")
- .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
- .withInput(paginatedOperationWithoutResultKeyRequest)
- .withMarshaller(new PaginatedOperationWithoutResultKeyRequestMarshaller(protocolFactory)));
+ operationMetadata);
+ MetricCollector apiCallMetricCollector = MetricCollector.create("ApiCall");
+ try {
+ apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Json Service");
+ apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "PaginatedOperationWithoutResultKey");
+
+ return clientHandler
+ .execute(new ClientExecutionParams()
+ .withOperationName("PaginatedOperationWithoutResultKey").withResponseHandler(responseHandler)
+ .withErrorResponseHandler(errorResponseHandler).withInput(paginatedOperationWithoutResultKeyRequest)
+ .withMetricCollector(apiCallMetricCollector)
+ .withMarshaller(new PaginatedOperationWithoutResultKeyRequestMarshaller(protocolFactory)));
+ } finally {
+ List metricPublishers = resolveMetricPublishers(clientConfiguration,
+ paginatedOperationWithoutResultKeyRequest.overrideConfiguration().orElse(null));
+ metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
+ }
}
/**
@@ -370,7 +426,7 @@ public PaginatedOperationWithoutResultKeyResponse paginatedOperationWithoutResul
* The following are few ways to iterate through the response pages:
*
+ * Please notice that the configuration of MaxResults won't limit the number of results you get with the
+ * paginator. It only limits the number of results in each page.
+ *
+ *
* Note: If you prefer to have control on service calls, use the
* {@link #paginatedOperationWithoutResultKey(software.amazon.awssdk.services.json.model.PaginatedOperationWithoutResultKeyRequest)}
* operation.
@@ -420,10 +480,10 @@ public PaginatedOperationWithoutResultKeyResponse paginatedOperationWithoutResul
*/
@Override
public PaginatedOperationWithoutResultKeyIterable paginatedOperationWithoutResultKeyPaginator(
- PaginatedOperationWithoutResultKeyRequest paginatedOperationWithoutResultKeyRequest) throws AwsServiceException,
- SdkClientException, JsonException {
+ PaginatedOperationWithoutResultKeyRequest paginatedOperationWithoutResultKeyRequest) throws AwsServiceException,
+ SdkClientException, JsonException {
return new PaginatedOperationWithoutResultKeyIterable(this,
- applyPaginatorUserAgent(paginatedOperationWithoutResultKeyRequest));
+ applyPaginatorUserAgent(paginatedOperationWithoutResultKeyRequest));
}
/**
@@ -434,11 +494,11 @@ public PaginatedOperationWithoutResultKeyIterable paginatedOperationWithoutResul
* The content to send to the service. A {@link RequestBody} can be created using one of several factory
* methods for various sources of data. For example, to create a request body from a file you can do the
* following.
- *
+ *
*
- *
+ *
* See documentation in {@link RequestBody} for additional details and which sources of data are supported.
* The service documentation for the request content is as follows 'This be a stream'
* @return Result of the StreamingInputOperation operation returned by the service.
@@ -455,26 +515,37 @@ public PaginatedOperationWithoutResultKeyIterable paginatedOperationWithoutResul
*/
@Override
public StreamingInputOperationResponse streamingInputOperation(StreamingInputOperationRequest streamingInputOperationRequest,
- RequestBody requestBody) throws AwsServiceException, SdkClientException, JsonException {
+ RequestBody requestBody) throws AwsServiceException, SdkClientException, JsonException {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
- .isPayloadJson(true).build();
+ .isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
- operationMetadata, StreamingInputOperationResponse::builder);
+ operationMetadata, StreamingInputOperationResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
- operationMetadata);
-
- return clientHandler.execute(new ClientExecutionParams()
- .withOperationName("StreamingInputOperation")
- .withResponseHandler(responseHandler)
- .withErrorResponseHandler(errorResponseHandler)
- .withInput(streamingInputOperationRequest)
- .withRequestBody(requestBody)
- .withMarshaller(
- StreamingRequestMarshaller.builder()
- .delegateMarshaller(new StreamingInputOperationRequestMarshaller(protocolFactory))
- .requestBody(requestBody).build()));
+ operationMetadata);
+ MetricCollector apiCallMetricCollector = MetricCollector.create("ApiCall");
+ try {
+ apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Json Service");
+ apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StreamingInputOperation");
+
+ return clientHandler
+ .execute(new ClientExecutionParams()
+ .withOperationName("StreamingInputOperation")
+ .withResponseHandler(responseHandler)
+ .withErrorResponseHandler(errorResponseHandler)
+ .withInput(streamingInputOperationRequest)
+ .withMetricCollector(apiCallMetricCollector)
+ .withRequestBody(requestBody)
+ .withMarshaller(
+ StreamingRequestMarshaller.builder()
+ .delegateMarshaller(new StreamingInputOperationRequestMarshaller(protocolFactory))
+ .requestBody(requestBody).build()));
+ } finally {
+ List metricPublishers = resolveMetricPublishers(clientConfiguration, streamingInputOperationRequest
+ .overrideConfiguration().orElse(null));
+ metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
+ }
}
/**
@@ -485,20 +556,20 @@ public StreamingInputOperationResponse streamingInputOperation(StreamingInputOpe
* The content to send to the service. A {@link RequestBody} can be created using one of several factory
* methods for various sources of data. For example, to create a request body from a file you can do the
* following.
- *
+ *
*
- *
+ *
* See documentation in {@link RequestBody} for additional details and which sources of data are supported.
* The service documentation for the request content is as follows 'This be a stream'
* @param responseTransformer
* Functional interface for processing the streamed response content. The unmarshalled
- * StreamingInputOutputOperationRequest and an InputStream to the response content are provided as parameters
- * to the callback. The callback may return a transformed type which will be the return value of this method.
- * See {@link software.amazon.awssdk.core.sync.ResponseTransformer} for details on implementing this
- * interface and for links to pre-canned implementations for common scenarios like downloading to a file. The
- * service documentation for the response content is as follows 'This be a stream'.
+ * StreamingInputOutputOperationResponse and an InputStream to the response content are provided as
+ * parameters to the callback. The callback may return a transformed type which will be the return value of
+ * this method. See {@link software.amazon.awssdk.core.sync.ResponseTransformer} for details on implementing
+ * this interface and for links to pre-canned implementations for common scenarios like downloading to a
+ * file. The service documentation for the response content is as follows 'This be a stream'.
* @return The transformed result of the ResponseTransformer.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
@@ -513,31 +584,43 @@ public StreamingInputOperationResponse streamingInputOperation(StreamingInputOpe
*/
@Override
public ReturnT streamingInputOutputOperation(
- StreamingInputOutputOperationRequest streamingInputOutputOperationRequest, RequestBody requestBody,
- ResponseTransformer responseTransformer) throws AwsServiceException,
- SdkClientException, JsonException {
+ StreamingInputOutputOperationRequest streamingInputOutputOperationRequest, RequestBody requestBody,
+ ResponseTransformer responseTransformer) throws AwsServiceException,
+ SdkClientException, JsonException {
streamingInputOutputOperationRequest = applySignerOverride(streamingInputOutputOperationRequest,
- Aws4UnsignedPayloadSigner.create());
+ Aws4UnsignedPayloadSigner.create());
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(true)
- .isPayloadJson(false).build();
+ .isPayloadJson(false).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
- operationMetadata, StreamingInputOutputOperationResponse::builder);
+ operationMetadata, StreamingInputOutputOperationResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
- operationMetadata);
-
- return clientHandler.execute(
- new ClientExecutionParams()
- .withOperationName("StreamingInputOutputOperation")
- .withResponseHandler(responseHandler)
- .withErrorResponseHandler(errorResponseHandler)
- .withInput(streamingInputOutputOperationRequest)
- .withRequestBody(requestBody)
- .withMarshaller(
- StreamingRequestMarshaller.builder()
- .delegateMarshaller(new StreamingInputOutputOperationRequestMarshaller(protocolFactory))
- .requestBody(requestBody).transferEncoding(true).build()), responseTransformer);
+ operationMetadata);
+ MetricCollector apiCallMetricCollector = MetricCollector.create("ApiCall");
+ try {
+ apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Json Service");
+ apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StreamingInputOutputOperation");
+
+ return clientHandler.execute(
+ new ClientExecutionParams()
+ .withOperationName("StreamingInputOutputOperation")
+ .withResponseHandler(responseHandler)
+ .withErrorResponseHandler(errorResponseHandler)
+ .withInput(streamingInputOutputOperationRequest)
+ .withMetricCollector(apiCallMetricCollector)
+ .withRequestBody(requestBody)
+ .withMarshaller(
+ StreamingRequestMarshaller
+ .builder()
+ .delegateMarshaller(
+ new StreamingInputOutputOperationRequestMarshaller(protocolFactory))
+ .requestBody(requestBody).transferEncoding(true).build()), responseTransformer);
+ } finally {
+ List metricPublishers = resolveMetricPublishers(clientConfiguration,
+ streamingInputOutputOperationRequest.overrideConfiguration().orElse(null));
+ metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
+ }
}
/**
@@ -546,8 +629,8 @@ public ReturnT streamingInputOutputOperation(
* @param streamingOutputOperationRequest
* @param responseTransformer
* Functional interface for processing the streamed response content. The unmarshalled
- * StreamingInputOutputOperationRequest and an InputStream to the response content are provided as parameters
- * to the callback. The callback may return a transformed type which will be the return value of this method.
+ * StreamingOutputOperationResponse and an InputStream to the response content are provided as parameters to
+ * the callback. The callback may return a transformed type which will be the return value of this method.
* See {@link software.amazon.awssdk.core.sync.ResponseTransformer} for details on implementing this
* interface and for links to pre-canned implementations for common scenarios like downloading to a file. The
* service documentation for the response content is as follows 'This be a stream'.
@@ -565,39 +648,63 @@ public ReturnT streamingInputOutputOperation(
*/
@Override
public ReturnT streamingOutputOperation(StreamingOutputOperationRequest streamingOutputOperationRequest,
- ResponseTransformer responseTransformer) throws AwsServiceException,
- SdkClientException, JsonException {
+ ResponseTransformer responseTransformer) throws AwsServiceException,
+ SdkClientException, JsonException {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(true)
- .isPayloadJson(false).build();
+ .isPayloadJson(false).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
- operationMetadata, StreamingOutputOperationResponse::builder);
+ operationMetadata, StreamingOutputOperationResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
- operationMetadata);
-
- return clientHandler.execute(
- new ClientExecutionParams()
- .withOperationName("StreamingOutputOperation")
- .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
- .withInput(streamingOutputOperationRequest)
- .withMarshaller(new StreamingOutputOperationRequestMarshaller(protocolFactory)), responseTransformer);
+ operationMetadata);
+ MetricCollector apiCallMetricCollector = MetricCollector.create("ApiCall");
+ try {
+ apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Json Service");
+ apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StreamingOutputOperation");
+
+ return clientHandler.execute(
+ new ClientExecutionParams()
+ .withOperationName("StreamingOutputOperation").withResponseHandler(responseHandler)
+ .withErrorResponseHandler(errorResponseHandler).withInput(streamingOutputOperationRequest)
+ .withMetricCollector(apiCallMetricCollector)
+ .withMarshaller(new StreamingOutputOperationRequestMarshaller(protocolFactory)), responseTransformer);
+ } finally {
+ List metricPublishers = resolveMetricPublishers(clientConfiguration, streamingOutputOperationRequest
+ .overrideConfiguration().orElse(null));
+ metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
+ }
+ }
+
+ private static List resolveMetricPublishers(SdkClientConfiguration clientConfiguration,
+ RequestOverrideConfiguration requestOverrideConfiguration) {
+ List publishers = null;
+ if (requestOverrideConfiguration != null) {
+ publishers = requestOverrideConfiguration.metricPublishers();
+ }
+ if (publishers == null || publishers.isEmpty()) {
+ publishers = clientConfiguration.option(SdkClientOption.METRIC_PUBLISHERS);
+ }
+ if (publishers == null) {
+ publishers = Collections.emptyList();
+ }
+ return publishers;
}
private HttpResponseHandler createErrorResponseHandler(BaseAwsJsonProtocolFactory protocolFactory,
- JsonOperationMetadata operationMetadata) {
+ JsonOperationMetadata operationMetadata) {
return protocolFactory.createErrorResponseHandler(operationMetadata);
}
private > T init(T builder) {
return builder
- .clientConfiguration(clientConfiguration)
- .defaultServiceExceptionSupplier(JsonException::builder)
- .protocol(AwsJsonProtocol.REST_JSON)
- .protocolVersion("1.1")
- .registerModeledException(
- ExceptionMetadata.builder().errorCode("InvalidInput")
- .exceptionBuilderSupplier(InvalidInputException::builder).httpStatusCode(400).build());
+ .clientConfiguration(clientConfiguration)
+ .defaultServiceExceptionSupplier(JsonException::builder)
+ .protocol(AwsJsonProtocol.REST_JSON)
+ .protocolVersion("1.1")
+ .registerModeledException(
+ ExceptionMetadata.builder().errorCode("InvalidInput")
+ .exceptionBuilderSupplier(InvalidInputException::builder).httpStatusCode(400).build());
}
@Override
@@ -607,10 +714,10 @@ public void close() {
private T applyPaginatorUserAgent(T request) {
Consumer userAgentApplier = b -> b.addApiName(ApiName.builder()
- .version(VersionInfo.SDK_VERSION).name("PAGINATED").build());
+ .version(VersionInfo.SDK_VERSION).name("PAGINATED").build());
AwsRequestOverrideConfiguration overrideConfiguration = request.overrideConfiguration()
- .map(c -> c.toBuilder().applyMutation(userAgentApplier).build())
- .orElse((AwsRequestOverrideConfiguration.builder().applyMutation(userAgentApplier).build()));
+ .map(c -> c.toBuilder().applyMutation(userAgentApplier).build())
+ .orElse((AwsRequestOverrideConfiguration.builder().applyMutation(userAgentApplier).build()));
return (T) request.toBuilder().overrideConfiguration(overrideConfiguration).build();
}
@@ -620,8 +727,8 @@ private T applySignerOverride(T request, Signer signer)
}
Consumer signerOverride = b -> b.signer(signer).build();
AwsRequestOverrideConfiguration overrideConfiguration = request.overrideConfiguration()
- .map(c -> c.toBuilder().applyMutation(signerOverride).build())
- .orElse((AwsRequestOverrideConfiguration.builder().applyMutation(signerOverride).build()));
+ .map(c -> c.toBuilder().applyMutation(signerOverride).build())
+ .orElse((AwsRequestOverrideConfiguration.builder().applyMutation(signerOverride).build()));
return (T) request.toBuilder().overrideConfiguration(overrideConfiguration).build();
}
@@ -630,3 +737,4 @@ public JsonUtilities utilities() {
return JsonUtilities.create(param1, param2, param3);
}
}
+
diff --git a/codegen/src/test/resources/software/amazon/awssdk/codegen/poet/client/test-json-client-interface.java b/codegen/src/test/resources/software/amazon/awssdk/codegen/poet/client/test-json-client-interface.java
index ce2d67987cce..e820c2352766 100644
--- a/codegen/src/test/resources/software/amazon/awssdk/codegen/poet/client/test-json-client-interface.java
+++ b/codegen/src/test/resources/software/amazon/awssdk/codegen/poet/client/test-json-client-interface.java
@@ -354,6 +354,10 @@ default PaginatedOperationWithResultKeyResponse paginatedOperationWithResultKey(
* }
*
*
+ * Please notice that the configuration of MaxResults won't limit the number of results you get with the
+ * paginator. It only limits the number of results in each page.
+ *
+ *
* Note: If you prefer to have control on service calls, use the
* {@link #paginatedOperationWithResultKey(software.amazon.awssdk.services.json.model.PaginatedOperationWithResultKeyRequest)}
* operation.
@@ -426,6 +430,10 @@ default PaginatedOperationWithResultKeyIterable paginatedOperationWithResultKeyP
* }
*
*
+ * Please notice that the configuration of MaxResults won't limit the number of results you get with the
+ * paginator. It only limits the number of results in each page.
+ *
+ *
* Note: If you prefer to have control on service calls, use the
* {@link #paginatedOperationWithResultKey(software.amazon.awssdk.services.json.model.PaginatedOperationWithResultKeyRequest)}
* operation.
@@ -499,6 +507,10 @@ default PaginatedOperationWithResultKeyIterable paginatedOperationWithResultKeyP
* }
*
*
+ * Please notice that the configuration of MaxResults won't limit the number of results you get with the
+ * paginator. It only limits the number of results in each page.
+ *
+ *
* Note: If you prefer to have control on service calls, use the
* {@link #paginatedOperationWithResultKey(software.amazon.awssdk.services.json.model.PaginatedOperationWithResultKeyRequest)}
* operation.
@@ -630,6 +642,10 @@ default PaginatedOperationWithoutResultKeyResponse paginatedOperationWithoutResu
* }
*
*
+ * Please notice that the configuration of MaxResults won't limit the number of results you get with the
+ * paginator. It only limits the number of results in each page.
+ *
+ *
* Note: If you prefer to have control on service calls, use the
* {@link #paginatedOperationWithoutResultKey(software.amazon.awssdk.services.json.model.PaginatedOperationWithoutResultKeyRequest)}
* operation.
@@ -703,6 +719,10 @@ default PaginatedOperationWithoutResultKeyIterable paginatedOperationWithoutResu
* }
*
*
+ * Please notice that the configuration of MaxResults won't limit the number of results you get with the
+ * paginator. It only limits the number of results in each page.
+ *
+ *
* Note: If you prefer to have control on service calls, use the
* {@link #paginatedOperationWithoutResultKey(software.amazon.awssdk.services.json.model.PaginatedOperationWithoutResultKeyRequest)}
* operation.
@@ -887,7 +907,7 @@ default StreamingInputOperationResponse streamingInputOperation(
* The service documentation for the request content is as follows 'This be a stream'
* @param responseTransformer
* Functional interface for processing the streamed response content. The unmarshalled
- * StreamingInputOutputOperationRequest and an InputStream to the response content are provided as parameters
+ * StreamingInputOutputOperationResponse and an InputStream to the response content are provided as parameters
* to the callback. The callback may return a transformed type which will be the return value of this method.
* See {@link software.amazon.awssdk.core.sync.ResponseTransformer} for details on implementing this
* interface and for links to pre-canned implementations for common scenarios like downloading to a file. The
@@ -934,7 +954,7 @@ default ReturnT streamingInputOutputOperation(
* The service documentation for the request content is as follows 'This be a stream'
* @param responseTransformer
* Functional interface for processing the streamed response content. The unmarshalled
- * StreamingInputOutputOperationRequest and an InputStream to the response content are provided as parameters
+ * StreamingInputOutputOperationResponse and an InputStream to the response content are provided as parameters
* to the callback. The callback may return a transformed type which will be the return value of this method.
* See {@link software.amazon.awssdk.core.sync.ResponseTransformer} for details on implementing this
* interface and for links to pre-canned implementations for common scenarios like downloading to a file. The
@@ -1041,7 +1061,7 @@ default StreamingInputOutputOperationResponse streamingInputOutputOperation(
* @param streamingOutputOperationRequest
* @param responseTransformer
* Functional interface for processing the streamed response content. The unmarshalled
- * StreamingInputOutputOperationRequest and an InputStream to the response content are provided as parameters
+ * StreamingOutputOperationResponse and an InputStream to the response content are provided as parameters
* to the callback. The callback may return a transformed type which will be the return value of this method.
* See {@link software.amazon.awssdk.core.sync.ResponseTransformer} for details on implementing this
* interface and for links to pre-canned implementations for common scenarios like downloading to a file. The
@@ -1076,7 +1096,7 @@ default ReturnT streamingOutputOperation(StreamingOutputOperationReque
* request.
* @param responseTransformer
* Functional interface for processing the streamed response content. The unmarshalled
- * StreamingInputOutputOperationRequest and an InputStream to the response content are provided as parameters
+ * StreamingOutputOperationResponse and an InputStream to the response content are provided as parameters
* to the callback. The callback may return a transformed type which will be the return value of this method.
* See {@link software.amazon.awssdk.core.sync.ResponseTransformer} for details on implementing this
* interface and for links to pre-canned implementations for common scenarios like downloading to a file. The
diff --git a/codegen/src/test/resources/software/amazon/awssdk/codegen/poet/client/test-query-async-client-class.java b/codegen/src/test/resources/software/amazon/awssdk/codegen/poet/client/test-query-async-client-class.java
index e6ddff92b7f4..17cda3c110f3 100644
--- a/codegen/src/test/resources/software/amazon/awssdk/codegen/poet/client/test-query-async-client-class.java
+++ b/codegen/src/test/resources/software/amazon/awssdk/codegen/poet/client/test-query-async-client-class.java
@@ -2,20 +2,28 @@
import static software.amazon.awssdk.utils.FunctionalUtils.runAndLogError;
+import java.util.Collections;
+import java.util.List;
import java.util.concurrent.CompletableFuture;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.annotations.SdkInternalApi;
+import software.amazon.awssdk.awscore.AwsRequestOverrideConfiguration;
import software.amazon.awssdk.awscore.client.handler.AwsAsyncClientHandler;
import software.amazon.awssdk.awscore.exception.AwsServiceException;
+import software.amazon.awssdk.core.RequestOverrideConfiguration;
import software.amazon.awssdk.core.async.AsyncRequestBody;
import software.amazon.awssdk.core.async.AsyncResponseTransformer;
import software.amazon.awssdk.core.client.config.SdkClientConfiguration;
+import software.amazon.awssdk.core.client.config.SdkClientOption;
import software.amazon.awssdk.core.client.handler.AsyncClientHandler;
import software.amazon.awssdk.core.client.handler.ClientExecutionParams;
import software.amazon.awssdk.core.http.HttpResponseHandler;
+import software.amazon.awssdk.core.metrics.CoreMetric;
import software.amazon.awssdk.core.runtime.transform.AsyncStreamingRequestMarshaller;
+import software.amazon.awssdk.metrics.MetricCollector;
+import software.amazon.awssdk.metrics.MetricPublisher;
import software.amazon.awssdk.protocols.core.ExceptionMetadata;
import software.amazon.awssdk.protocols.query.AwsQueryProtocolFactory;
import software.amazon.awssdk.services.query.model.APostOperationRequest;
@@ -86,23 +94,36 @@ public final String serviceName() {
*/
@Override
public CompletableFuture aPostOperation(APostOperationRequest aPostOperationRequest) {
+ MetricCollector apiCallMetricCollector = MetricCollector.create("ApiCall");
try {
+ apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Query Service");
+ apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "APostOperation");
String hostPrefix = "foo-";
String resolvedHostExpression = "foo-";
HttpResponseHandler responseHandler = protocolFactory
- .createResponseHandler(APostOperationResponse::builder);
+ .createResponseHandler(APostOperationResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
CompletableFuture executeFuture = clientHandler
- .execute(new ClientExecutionParams()
- .withOperationName("APostOperation")
- .withMarshaller(new APostOperationRequestMarshaller(protocolFactory))
- .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
- .hostPrefixExpression(resolvedHostExpression).withInput(aPostOperationRequest));
- return executeFuture;
+ .execute(new ClientExecutionParams()
+ .withOperationName("APostOperation")
+ .withMarshaller(new APostOperationRequestMarshaller(protocolFactory))
+ .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
+ .withMetricCollector(apiCallMetricCollector).hostPrefixExpression(resolvedHostExpression)
+ .withInput(aPostOperationRequest));
+ AwsRequestOverrideConfiguration requestOverrideConfig = aPostOperationRequest.overrideConfiguration().orElse(null);
+ CompletableFuture whenCompleteFuture = null;
+ whenCompleteFuture = executeFuture.whenComplete((r, e) -> {
+ List metricPublishers = resolveMetricPublishers(clientConfiguration, requestOverrideConfig);
+ metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
+ });
+ return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture);
} catch (Throwable t) {
+ List metricPublishers = resolveMetricPublishers(clientConfiguration, aPostOperationRequest
+ .overrideConfiguration().orElse(null));
+ metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
return CompletableFutureUtils.failedFuture(t);
}
}
@@ -132,22 +153,35 @@ public CompletableFuture aPostOperation(APostOperationRe
*/
@Override
public CompletableFuture aPostOperationWithOutput(
- APostOperationWithOutputRequest aPostOperationWithOutputRequest) {
+ APostOperationWithOutputRequest aPostOperationWithOutputRequest) {
+ MetricCollector apiCallMetricCollector = MetricCollector.create("ApiCall");
try {
+ apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Query Service");
+ apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "APostOperationWithOutput");
HttpResponseHandler responseHandler = protocolFactory
- .createResponseHandler(APostOperationWithOutputResponse::builder);
+ .createResponseHandler(APostOperationWithOutputResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
CompletableFuture executeFuture = clientHandler
- .execute(new ClientExecutionParams()
- .withOperationName("APostOperationWithOutput")
- .withMarshaller(new APostOperationWithOutputRequestMarshaller(protocolFactory))
- .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
- .withInput(aPostOperationWithOutputRequest));
- return executeFuture;
+ .execute(new ClientExecutionParams()
+ .withOperationName("APostOperationWithOutput")
+ .withMarshaller(new APostOperationWithOutputRequestMarshaller(protocolFactory))
+ .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
+ .withMetricCollector(apiCallMetricCollector).withInput(aPostOperationWithOutputRequest));
+ AwsRequestOverrideConfiguration requestOverrideConfig = aPostOperationWithOutputRequest.overrideConfiguration()
+ .orElse(null);
+ CompletableFuture whenCompleteFuture = null;
+ whenCompleteFuture = executeFuture.whenComplete((r, e) -> {
+ List metricPublishers = resolveMetricPublishers(clientConfiguration, requestOverrideConfig);
+ metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
+ });
+ return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture);
} catch (Throwable t) {
+ List metricPublishers = resolveMetricPublishers(clientConfiguration, aPostOperationWithOutputRequest
+ .overrideConfiguration().orElse(null));
+ metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
return CompletableFutureUtils.failedFuture(t);
}
}
@@ -178,25 +212,38 @@ public CompletableFuture aPostOperationWithOut
*/
@Override
public CompletableFuture streamingInputOperation(
- StreamingInputOperationRequest streamingInputOperationRequest, AsyncRequestBody requestBody) {
+ StreamingInputOperationRequest streamingInputOperationRequest, AsyncRequestBody requestBody) {
+ MetricCollector apiCallMetricCollector = MetricCollector.create("ApiCall");
try {
+ apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Query Service");
+ apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StreamingInputOperation");
HttpResponseHandler responseHandler = protocolFactory
- .createResponseHandler(StreamingInputOperationResponse::builder);
+ .createResponseHandler(StreamingInputOperationResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
CompletableFuture executeFuture = clientHandler
- .execute(new ClientExecutionParams()
- .withOperationName("StreamingInputOperation")
- .withMarshaller(
- AsyncStreamingRequestMarshaller.builder()
- .delegateMarshaller(new StreamingInputOperationRequestMarshaller(protocolFactory))
- .asyncRequestBody(requestBody).build()).withResponseHandler(responseHandler)
- .withErrorResponseHandler(errorResponseHandler).withAsyncRequestBody(requestBody)
- .withInput(streamingInputOperationRequest));
- return executeFuture;
+ .execute(new ClientExecutionParams()
+ .withOperationName("StreamingInputOperation")
+ .withMarshaller(
+ AsyncStreamingRequestMarshaller.builder()
+ .delegateMarshaller(new StreamingInputOperationRequestMarshaller(protocolFactory))
+ .asyncRequestBody(requestBody).build()).withResponseHandler(responseHandler)
+ .withErrorResponseHandler(errorResponseHandler).withMetricCollector(apiCallMetricCollector)
+ .withAsyncRequestBody(requestBody).withInput(streamingInputOperationRequest));
+ AwsRequestOverrideConfiguration requestOverrideConfig = streamingInputOperationRequest.overrideConfiguration()
+ .orElse(null);
+ CompletableFuture whenCompleteFuture = null;
+ whenCompleteFuture = executeFuture.whenComplete((r, e) -> {
+ List metricPublishers = resolveMetricPublishers(clientConfiguration, requestOverrideConfig);
+ metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
+ });
+ return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture);
} catch (Throwable t) {
+ List metricPublishers = resolveMetricPublishers(clientConfiguration, streamingInputOperationRequest
+ .overrideConfiguration().orElse(null));
+ metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
return CompletableFutureUtils.failedFuture(t);
}
}
@@ -227,31 +274,43 @@ public CompletableFuture streamingInputOperatio
*/
@Override
public CompletableFuture streamingOutputOperation(
- StreamingOutputOperationRequest streamingOutputOperationRequest,
- AsyncResponseTransformer asyncResponseTransformer) {
+ StreamingOutputOperationRequest streamingOutputOperationRequest,
+ AsyncResponseTransformer asyncResponseTransformer) {
+ MetricCollector apiCallMetricCollector = MetricCollector.create("ApiCall");
try {
+ apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Query Service");
+ apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StreamingOutputOperation");
HttpResponseHandler responseHandler = protocolFactory
- .createResponseHandler(StreamingOutputOperationResponse::builder);
+ .createResponseHandler(StreamingOutputOperationResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
CompletableFuture executeFuture = clientHandler.execute(
- new ClientExecutionParams()
- .withOperationName("StreamingOutputOperation")
- .withMarshaller(new StreamingOutputOperationRequestMarshaller(protocolFactory))
- .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
- .withInput(streamingOutputOperationRequest), asyncResponseTransformer);
- executeFuture.whenComplete((r, e) -> {
+ new ClientExecutionParams()
+ .withOperationName("StreamingOutputOperation")
+ .withMarshaller(new StreamingOutputOperationRequestMarshaller(protocolFactory))
+ .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
+ .withMetricCollector(apiCallMetricCollector).withInput(streamingOutputOperationRequest),
+ asyncResponseTransformer);
+ AwsRequestOverrideConfiguration requestOverrideConfig = streamingOutputOperationRequest.overrideConfiguration()
+ .orElse(null);
+ CompletableFuture whenCompleteFuture = null;
+ whenCompleteFuture = executeFuture.whenComplete((r, e) -> {
if (e != null) {
runAndLogError(log, "Exception thrown in exceptionOccurred callback, ignoring",
- () -> asyncResponseTransformer.exceptionOccurred(e));
+ () -> asyncResponseTransformer.exceptionOccurred(e));
}
+ List metricPublishers = resolveMetricPublishers(clientConfiguration, requestOverrideConfig);
+ metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
});
- return executeFuture;
+ return CompletableFutureUtils.forwardExceptionTo(whenCompleteFuture, executeFuture);
} catch (Throwable t) {
runAndLogError(log, "Exception thrown in exceptionOccurred callback, ignoring",
- () -> asyncResponseTransformer.exceptionOccurred(t));
+ () -> asyncResponseTransformer.exceptionOccurred(t));
+ List metricPublishers = resolveMetricPublishers(clientConfiguration, streamingOutputOperationRequest
+ .overrideConfiguration().orElse(null));
+ metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
return CompletableFutureUtils.failedFuture(t);
}
}
@@ -263,10 +322,26 @@ public void close() {
private AwsQueryProtocolFactory init() {
return AwsQueryProtocolFactory
- .builder()
- .registerModeledException(
- ExceptionMetadata.builder().errorCode("InvalidInput")
- .exceptionBuilderSupplier(InvalidInputException::builder).httpStatusCode(400).build())
- .clientConfiguration(clientConfiguration).defaultServiceExceptionSupplier(QueryException::builder).build();
+ .builder()
+ .registerModeledException(
+ ExceptionMetadata.builder().errorCode("InvalidInput")
+ .exceptionBuilderSupplier(InvalidInputException::builder).httpStatusCode(400).build())
+ .clientConfiguration(clientConfiguration).defaultServiceExceptionSupplier(QueryException::builder).build();
+ }
+
+ private static List resolveMetricPublishers(SdkClientConfiguration clientConfiguration,
+ RequestOverrideConfiguration requestOverrideConfiguration) {
+ List publishers = null;
+ if (requestOverrideConfiguration != null) {
+ publishers = requestOverrideConfiguration.metricPublishers();
+ }
+ if (publishers == null || publishers.isEmpty()) {
+ publishers = clientConfiguration.option(SdkClientOption.METRIC_PUBLISHERS);
+ }
+ if (publishers == null) {
+ publishers = Collections.emptyList();
+ }
+ return publishers;
}
}
+
diff --git a/codegen/src/test/resources/software/amazon/awssdk/codegen/poet/client/test-query-client-class.java b/codegen/src/test/resources/software/amazon/awssdk/codegen/poet/client/test-query-client-class.java
index f9c451e880b3..28cc96b95475 100644
--- a/codegen/src/test/resources/software/amazon/awssdk/codegen/poet/client/test-query-client-class.java
+++ b/codegen/src/test/resources/software/amazon/awssdk/codegen/poet/client/test-query-client-class.java
@@ -1,17 +1,24 @@
package software.amazon.awssdk.services.query;
+import java.util.Collections;
+import java.util.List;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.annotations.SdkInternalApi;
import software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler;
import software.amazon.awssdk.awscore.exception.AwsServiceException;
+import software.amazon.awssdk.core.RequestOverrideConfiguration;
import software.amazon.awssdk.core.client.config.SdkClientConfiguration;
+import software.amazon.awssdk.core.client.config.SdkClientOption;
import software.amazon.awssdk.core.client.handler.ClientExecutionParams;
import software.amazon.awssdk.core.client.handler.SyncClientHandler;
import software.amazon.awssdk.core.exception.SdkClientException;
import software.amazon.awssdk.core.http.HttpResponseHandler;
+import software.amazon.awssdk.core.metrics.CoreMetric;
import software.amazon.awssdk.core.runtime.transform.StreamingRequestMarshaller;
import software.amazon.awssdk.core.sync.RequestBody;
import software.amazon.awssdk.core.sync.ResponseTransformer;
+import software.amazon.awssdk.metrics.MetricCollector;
+import software.amazon.awssdk.metrics.MetricPublisher;
import software.amazon.awssdk.protocols.core.ExceptionMetadata;
import software.amazon.awssdk.protocols.query.AwsQueryProtocolFactory;
import software.amazon.awssdk.services.query.model.APostOperationRequest;
@@ -76,19 +83,29 @@ public final String serviceName() {
*/
@Override
public APostOperationResponse aPostOperation(APostOperationRequest aPostOperationRequest) throws InvalidInputException,
- AwsServiceException, SdkClientException, QueryException {
+ AwsServiceException, SdkClientException, QueryException {
String hostPrefix = "foo-";
String resolvedHostExpression = "foo-";
HttpResponseHandler responseHandler = protocolFactory
- .createResponseHandler(APostOperationResponse::builder);
+ .createResponseHandler(APostOperationResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
+ MetricCollector apiCallMetricCollector = MetricCollector.create("ApiCall");
+ try {
+ apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Query Service");
+ apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "APostOperation");
- return clientHandler.execute(new ClientExecutionParams()
- .withOperationName("APostOperation").withResponseHandler(responseHandler)
- .withErrorResponseHandler(errorResponseHandler).hostPrefixExpression(resolvedHostExpression)
- .withInput(aPostOperationRequest).withMarshaller(new APostOperationRequestMarshaller(protocolFactory)));
+ return clientHandler.execute(new ClientExecutionParams()
+ .withOperationName("APostOperation").withResponseHandler(responseHandler)
+ .withErrorResponseHandler(errorResponseHandler).hostPrefixExpression(resolvedHostExpression)
+ .withInput(aPostOperationRequest).withMetricCollector(apiCallMetricCollector)
+ .withMarshaller(new APostOperationRequestMarshaller(protocolFactory)));
+ } finally {
+ List metricPublishers = resolveMetricPublishers(clientConfiguration, aPostOperationRequest
+ .overrideConfiguration().orElse(null));
+ metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
+ }
}
/**
@@ -113,19 +130,29 @@ public APostOperationResponse aPostOperation(APostOperationRequest aPostOperatio
*/
@Override
public APostOperationWithOutputResponse aPostOperationWithOutput(
- APostOperationWithOutputRequest aPostOperationWithOutputRequest) throws InvalidInputException, AwsServiceException,
- SdkClientException, QueryException {
+ APostOperationWithOutputRequest aPostOperationWithOutputRequest) throws InvalidInputException, AwsServiceException,
+ SdkClientException, QueryException {
HttpResponseHandler responseHandler = protocolFactory
- .createResponseHandler(APostOperationWithOutputResponse::builder);
+ .createResponseHandler(APostOperationWithOutputResponse::builder);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler();
+ MetricCollector apiCallMetricCollector = MetricCollector.create("ApiCall");
+ try {
+ apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Query Service");
+ apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "APostOperationWithOutput");
- return clientHandler
- .execute(new ClientExecutionParams()
- .withOperationName("APostOperationWithOutput").withResponseHandler(responseHandler)
- .withErrorResponseHandler(errorResponseHandler).withInput(aPostOperationWithOutputRequest)
- .withMarshaller(new APostOperationWithOutputRequestMarshaller(protocolFactory)));
+ return clientHandler
+ .execute(new ClientExecutionParams()
+ .withOperationName("APostOperationWithOutput").withResponseHandler(responseHandler)
+ .withErrorResponseHandler(errorResponseHandler).withInput(aPostOperationWithOutputRequest)
+ .withMetricCollector(apiCallMetricCollector)
+ .withMarshaller(new APostOperationWithOutputRequestMarshaller(protocolFactory)));
+ } finally {
+ List metricPublishers = resolveMetricPublishers(clientConfiguration, aPostOperationWithOutputRequest
+ .overrideConfiguration().orElse(null));
+ metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect()));
+ }
}
/**
@@ -136,11 +163,11 @@ public APostOperationWithOutputResponse aPostOperationWithOutput(
* The content to send to the service. A {@link RequestBody} can be created using one of several factory
* methods for various sources of data. For example, to create a request body from a file you can do the
* following.
- *
+ *
*