Skip to content

Commit

Permalink
Merge 'origin/master' into transfer manager branch (#2647)
Browse files Browse the repository at this point in the history
* Update javadocs release cross-linking script (#2591)

* AmplifyBackend Update: Added Sign in with Apple OAuth provider.

* Amazon Lex Model Building Service Update: Customers can now migrate bots built with Lex V1 APIs to V2 APIs. This release adds APIs to initiate and manage the migration of a bot.

* AWS Direct Connect Update: This release adds a new filed named awsLogicalDeviceId that it displays the AWS Direct Connect endpoint which terminates a physical connection's BGP Sessions.

* AWS Price List Service Update: Documentation updates for api.pricing

* Amazon Redshift Update: Release new APIs to support new Redshift feature - Authentication Profile

* Amazon DevOps Guru Update: Add paginator for GetCostEstimation

* Amazon Simple Systems Manager (SSM) Update: Changes to OpsCenter APIs to support a new feature, operational insights.

* Updated endpoints.json.

* Release 2.16.101. Updated CHANGELOG.md, README.md and all pom.xml.

* Update to next snapshot version: 2.16.102-SNAPSHOT

* Update pull request template to place motivation before description (#2589)

Pull requests read more intuitively when they begin with the motivation
before diving into a detailed description.

* Updating batch utilities decision log (#2593)

Co-authored-by: Michael Li <[email protected]>

* AWS Certificate Manager Update: Added support for RSA 3072 SSL certificate import

* AWS Glue Update: Add support for Event Driven Workflows

* Amazon HealthLake Update: General availability for Amazon HealthLake. StartFHIRImportJob and StartFHIRExportJob APIs now require AWS KMS parameter. For more information, see the Amazon HealthLake Documentation https://docs.aws.amazon.com/healthlake/index.html.

* AWS Well-Architected Tool Update: This update provides support for Well-Architected API users to mark answer choices as not applicable.

* Amazon Lightsail Update: This release adds support for the Amazon Lightsail object storage service, which allows you to create buckets and store objects.

* AWS Database Migration Service Update: Release of feature needed for ECA-Endpoint settings. This allows customer to delete a field in endpoint settings by using --exact-settings flag in modify-endpoint api. This also displays default values for certain required fields of endpoint settings in describe-endpoint-settings api.

* Release 2.16.102. Updated CHANGELOG.md, README.md and all pom.xml.

* Bypass healthlake validation

* Update to next snapshot version: 2.16.103-SNAPSHOT

* Add support for marshalling lists of strings in HTTP headers... (#2588)

* Add support for marshalling lists of strings in HTTP headers...

...for JSON/XML protocols.

## Motivation and Context

We currently lack support for marshalling lists of strings (and enums)
in HTTP headers. Other IDLs and modeling languages, e.g., Smithy, do
support such bindings and services may come to expect such support:

https://awslabs.github.io/smithy/1.0/spec/core/http-traits.html#httpheader-trait

## Description

* Add support for marshalling a list of strings to relevant JSON and XML
marshalling classes
* Consistent with the existing XML HeaderUnmarshaller map
implementation, unmarshalling only supports string value types (this can
be extended in the future if needed)
* Marshalling implementations are changed to use appendHeader rather
than putHeader
* Add convenience method SdkField#getRequiredTrait(..) to support the
common use case of ensuring a trait is present; update other existing
use cases to utilize this method
* Update relevant test classes to correctly recognize headers as a
Map<String, List<String>>
* Only wrap marshalling assertion exceptions as runtime when needed,
minimizing stack trace noise

## Testing

New tests added to:
* rest-json-input.json
* rest-json-output.json
* rest-xml-input.json
* rest-xml-output.json

* Amazon Cognito Identity Provider Update: Documentation updates for cognito-idp

* Amazon EC2 Container Service Update: Documentation updates for support of awsvpc mode on Windows.

* Amazon Lex Model Building Service Update: Lex now supports the en-IN locale

* Amazon Elastic Compute Cloud Update: This feature enables customers to specify weekly recurring time window(s) for scheduled events that reboot, stop or terminate EC2 instances.

* AWS IoT SiteWise Update: Update the default endpoint for the APIs used to manage asset models, assets, gateways, tags, and account configurations. If you have firewalls with strict egress rules, configure the rules to grant you access to api.iotsitewise.[region].amazonaws.com or api.iotsitewise.[cn-region].amazonaws.com.cn.

* Release 2.16.103. Updated CHANGELOG.md, README.md and all pom.xml.

* Update to next snapshot version: 2.16.104-SNAPSHOT

* Integration test buckets deletion failed as it had attached access points (#2596)

Co-authored-by: John Viegas <[email protected]>

* Add support for IMDS over IPv6 (#2585)

This changes implements support for the 'AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE'
environment variable and 'ec2_metadata_service_endpoint' profile file property.

When no endpoint override is set using 'AWS_EC2_METADATA_SERVICE_ENDPOINT', this
configuration controls which of the default IMDS endpoints the client will use.
Valid values are 'IPv4' or 'IPv6'.

* AWS Audit Manager Update: This release relaxes the S3 URL character restrictions in AWS Audit Manager. Regex patterns have been updated for the following attributes: s3RelativePath, destination, and s3ResourcePath. 'AWS' terms have also been replaced with entities to align with China Rebrand documentation efforts.

* Amazon AppIntegrations Service Update: Documentation update for AppIntegrations Service

* Amazon Chime Update: This SDK release adds Account Status as one of the attributes in Account API response

* Updated endpoints.json.

* Release 2.16.104. Updated CHANGELOG.md, README.md and all pom.xml.

* Documented naming conventions of when we use different class suffixes, like 'Manager', 'Client', 'Utilities', etc. (#2602)

* Update to next snapshot version: 2.16.105-SNAPSHOT

* Release preparation for removing Jackson as an external dependency (#2598)

* Moved Jackson from being an external SDK dependency to an internal dependency.

Jackson-databind was removed from being a dependency (except in the code generator). Jackson-core and
Jackson-dataformat-cbor were moved to shaded dependencies. This was done because Jackson versions
are not 100% compatible between minor versions and keeping them up to date were problematic for SDK
customers.

Customers will see a change in artifact sizes. Customers which do not use Jackson-databind outside of
the SDK today will see a ~1 MB artifact size decrease. Customers which do use Jackson-databind outside
of the SDK will see a ~0.5 MB artifact size increase.

This change required breaking inter-module (protected) APIs, so it should not be released outside of an
SDK minor version bump. Customers will not be able to use older client versions with this version of
the core libraries.

Change summary:
1. Added 'jackson-core' and 'jackson-dataformat-cbor' which contain the SDK's shaded versions with the
   Jackson packages of the same names.
2. Removed 'aws-ion-protocol' module. This was not used by any public AWS services and can be re-added when
   service support is needed.
3. Added 'json-utils', a library for reading and parsing JSON.

* Version bump to 2.17.0

* Amazon EMR Containers Update: Updated DescribeManagedEndpoint and ListManagedEndpoints to return failureReason and stateDetails in API response.

* EC2 Image Builder Update: Documentation updates for reversal of default value for additional instance configuration SSM switch, plus improved descriptions for semantic versioning.

* Amazon Location Service Update: Add five new API operations: UpdateGeofenceCollection, UpdateMap, UpdatePlaceIndex, UpdateRouteCalculator, UpdateTracker.

* AWS Direct Connect Update: Documentation updates for directconnect

* AWS RoboMaker Update: This release allows customers to create a new version of WorldTemplates with support for Doors.

* AWS Health APIs and Notifications Update: In the Health API, the maximum number of entities for the EventFilter and EntityFilter data types has changed from 100 to 99. This change is related to an internal optimization of the AWS Health service.

* Release 2.17.0. Updated CHANGELOG.md, README.md and all pom.xml.

* Update to next snapshot version: 2.17.1-SNAPSHOT

* Create javadoc jars for Jackson shaded libs

* Update to next snapshot version: 2.17.1-SNAPSHOT

* Revert "Update to next snapshot version: 2.17.1-SNAPSHOT" (#2605)

This reverts commit b2169ed.

This commit is incorrect because workflow to update to SNAPSHOT version
ran twice.

* Clean before building javadocs, because third-party-jackson-core's mvn package is not idempotent. (#2607)

This fixes an error where release-javadoc.yml fails with "Error creating shaded jar: duplicate
entry: META-INF/services/software.amazon.awssdk.thirdparty.jackson.core.JsonFactory"

* Update .brazil.json to include all import config. (#2606)

* Amazon Elastic Compute Cloud Update: Added idempotency to the CreateVolume API using the ClientToken request parameter

* AWS Compute Optimizer Update: Documentation updates for Compute Optimizer

* Release 2.17.1. Updated CHANGELOG.md, README.md and all pom.xml.

* Update to next snapshot version: 2.17.2-SNAPSHOT

* Update DecisionLog.md (#2600)

Co-authored-by: Zoe Wang <[email protected]>

* Update pom.xml (#2610)

* Amazon Relational Database Service Update: Adds the OriginalSnapshotCreateTime field to the DBSnapshot response object. This field timestamps the underlying data of a snapshot and doesn't change when the snapshot is copied.

* AWS CodeBuild Update: AWS CodeBuild now allows you to set the access permissions for build artifacts, project artifacts, and log files that are uploaded to an Amazon S3 bucket that is owned by another account.

* AWSKendraFrontendService Update: Amazon Kendra now provides a data source connector for Amazon WorkDocs. For more information, see https://docs.aws.amazon.com/kendra/latest/dg/data-source-workdocs.html

* AWS Proton Update: Documentation updates for AWS Proton

* AWS Lambda Update: New ResourceConflictException error code for PutFunctionEventInvokeConfig, UpdateFunctionEventInvokeConfig, and DeleteFunctionEventInvokeConfig operations.

* AWS Identity and Access Management Update: Documentation updates for AWS Identity and Access Management (IAM).

* Elastic Load Balancing Update: Adds support for enabling TLS protocol version and cipher suite headers to be sent to backend targets for Application Load Balancers.

* Amazon Personalize Update: My AWS Service (placeholder) - Making minProvisionedTPS an optional parameter when creating a campaign. If not provided, it defaults to 1.

* Amazon Elastic MapReduce Update: EMR now supports new DescribeReleaseLabel and ListReleaseLabel APIs. They can provide Amazon EMR release label details. You can programmatically list available releases and applications for a specific Amazon EMR release label.

* Release 2.17.2. Updated CHANGELOG.md, README.md and all pom.xml.

* Update to next snapshot version: 2.17.3-SNAPSHOT

* [S3] Add support for more user-friendly CopyObject source parameters (#2612)

* [S3] Add support for more user-friendly CopyObject source parameters

## Motivation and Context

The current S3Client interface has a cumbersome API for invoking
CopyObjectRequests. We require users to define the bucket name, key
name, and version ID in a raw string format. We require that the string
conform to the S3 API, which forces users to know the intricate details
for how to join these values together. Additionally, portions (but not
all) of the value must be URL encoded, further increasing the burden.

https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html#API_CopyObject_RequestParameters

In the Java SDK v1, users are given explicit parameters for the
different copy source attributes. But in v2, parity for this support is
clearly lacking. E.g.,

v1:
```
s3.copyObject(new CopyObjectRequest()
        .withSourceBucketName(SOURCE_BUCKET)
        .withSourceKey(key)
        .withSourceVersionId(versionId)
        .withDestinationBucketName(DESTINATION_BUCKET)
        .withDestinationKey(key));
```

v2:
```
s3.copyObject(CopyObjectRequest.builder()
        .copySource(SOURCE_BUCKET + "/" + key + "?versionId=" + versionId)
        .destinationBucket(DESTINATION_BUCKET)
        .destinationKey(key)
        .build());
```

The v1 SDK will also URL encode on the user's behalf, allowing users to
use the same input values as they would for a PutObjectRequest. The v2
code snippet above may appear to work for most users until they run into
unexpected source keys that require URL encoding, at which point they
will typically be given `NoSuchKey` errors.

This API deficiency has been called out by users in at least the
following issues:

* #1313
* #1452
* #1656
* awsdocs/aws-doc-sdk-examples#740

## Description
* For both CopyObjectRequest and UploadPartCopyRequest, add explicit
parameters for: SourceBucket, SourceKey, SourceVersionId
* If specified, these values will be used to construct a CopySource on
the user's behalf, including URL encoding the relevant portions.
* These values are introduced in a backwards compatible fashion. Users
who are already using CopySource today will see no change in behavior,
but these new fields may not be used in conjunction with CopySource.
* A follow-up PR will be submitted to propose deprecating the current
CopySource parameter. It is excluded from this PR since our current code
gen configuration lacks appropriate support.
* Add support for "DestinationBucket" & "DestinationKey" to
UploadPartCopyRequest (this support already existed for
CopyObjectRequest)
* Utility function added to detect if an ARN is for a particular S3
resource type. This is to conform with the S3 API requirements of
inserting "/object" in the path of these requests.

## Testing
* New unit tests added
* New integration tests added

* Adding design doc (#2599)

Co-authored-by: Michael Li <[email protected]>
Co-authored-by: Zoe Wang <[email protected]>

* AWS Glue DataBrew Update: This SDK release adds two new features: 1) Output to Native JDBC destinations and 2) Adding configurations to profile jobs

* AWS S3 Control Update: Documentation updates for Amazon S3-control

* AWS Elemental MediaLive Update: MediaLive now supports passing through style data on WebVTT caption outputs.

* Amazon QLDB Update: Amazon QLDB now supports ledgers encrypted with customer managed KMS keys. Changes in CreateLedger, UpdateLedger and DescribeLedger APIs to support the changes.

* Amazon Elastic Compute Cloud Update: This release allows customers to assign prefixes to their elastic network interface and to reserve IP blocks in their subnet CIDRs. These reserved blocks can be used to assign prefixes to elastic network interfaces or be excluded from auto-assignment.

* Elastic Load Balancing Update: Adds support for enabling TLS protocol version and cipher suite headers to be sent to backend targets for Application Load Balancers.

* Release 2.17.3. Updated CHANGELOG.md, README.md and all pom.xml.

* Remove unnecessary service integration

* Update to next snapshot version: 2.17.4-SNAPSHOT

* AWS SecurityHub Update: Added product name, company name, and Region fields for security findings. Added details objects for RDS event subscriptions and AWS ECS services. Added fields to the details for AWS Elasticsearch domains.

* EC2 Image Builder Update: Update to documentation to reapply missing change to SSM uninstall switch default value and improve description.

* Amazon S3 on Outposts Update: Add on-premise access type support for endpoints

* Release 2.17.4. Updated CHANGELOG.md, README.md and all pom.xml.

* Update to next snapshot version: 2.17.5-SNAPSHOT

* Annotate and document members that are modeled as deprecated... (#2622)

* Annotate and document members that are modeled as deprecated...

...and add support for using customization to override specific members
as deprecated.

## Motivation and Context

As part of a recent change to repurpose the S3 CopyObjectRequest
copySource parameter into more user-friendly parameters, we lacked the
ability in our ShapeModifiersProcessor to also deprecate the old
parameter name. Furthermore, after additional investigation, we also
appear to not have been correctly honoring the different service-2.json
models that tag certain members as deprecated. E.g., the following
parameter is marked as deprecated:

https://github.com/aws/aws-sdk-java-v2/blob/54fd5a69c74af0124e97830bef53b3690dfa2015/services/cloudwatchlogs/src/main/resources/codegen-resources/service-2.json#L1393-L1398

But the corresponding generated code and Javadoc (at the time of this
writing) do not mark any of the member's methods as deprecated, or
expose the deprecatedMessage:

https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/cloudwatchlogs/model/FilterLogEventsRequest.Builder.html#interleaved-java.lang.Boolean-

## Description

* For service-2.json members that are marked as deprecated, correctly
annotate and document these fields as deprecated in their various
accessors and builder setters.
* Add support to ShapeModifiersProcessor for customization.config files
to be able to manually modify the `deprecated` and `deprecatedMessage`
attributes.

(A follow-up PR will propose marking the before-mentioned copySource
parameter as deprecated.)

## Testing

* Add a new operation with members that are modeled as deprecated and
members that are modified as deprecated, and add accompanying expected
generated code (see expected generated code for an example of how the
fields are annotated as deprecated).

* Deprecate S3 CopySource parameter for CopyObject & UploadPartCopy (#2623)

## Motivation and Context

In #2612 we recently
introduced replacement parameters for the S3 CopySource parameter.
However, we did not officially deprecate it since our codegen tooling
lacked support for deprecated members at the time. With
#2622 we have since added
support for deprecated members to both models and model modifications
via customization.config files.

Now that this feature is fully supported, we should deprecate the
CopySource parameter to increase visibility and improve discoverability
of the new parameters that are offered. This will make users more likely
to discover the new parameters, allowing them to simplify their
application code accordingly.

## Description

* Annotate the CopySource parameter as deprecated for both CopySource
and UploadPartCopy

Co-authored-by: Bennett Lynch <[email protected]>

* AWS SSO Identity Store Update: Documentation updates for SSO API Ref.

* AWS S3 Control Update: S3 Access Point aliases can be used anywhere you use S3 bucket names to access data in S3

* Amazon Textract Update: Adds support for AnalyzeExpense, a new API to extract relevant data such as contact information, items purchased, and vendor name, from almost any invoice or receipt without the need for any templates or configuration.

* AWS Proton Update: Documentation-only update links

* Synthetics Update: CloudWatch Synthetics now supports visual testing in its canaries.

* Amazon CloudWatch Update: SDK update to support creation of Cross-Account Metric Alarms and update API documentation.

* Release 2.17.5. Updated CHANGELOG.md, README.md and all pom.xml.

* Update to next snapshot version: 2.17.6-SNAPSHOT

* AWS IoT Wireless Update: Add SidewalkManufacturingSn as an identifier to allow Customer to query WirelessDevice, in the response, AmazonId is added in the case that Sidewalk device is return.

* Amazon QuickSight Update: Add support to use row-level security with tags when embedding dashboards for users not provisioned in QuickSight

* Amazon Route 53 Update: This release adds support for the RECOVERY_CONTROL health check type to be used in conjunction with Route53 Application Recovery Controller.

* AWS Route53 Recovery Readiness Update: Amazon Route 53 Application Recovery Controller's readiness check capability continually monitors resource quotas, capacity, and network routing policies to ensure that the recovery environment is scaled and configured to take over when needed.

* AWS Batch Update: Add support for ListJob filters

* Redshift Data API Service Update: Added structures to support new Data API operation BatchExecuteStatement, used to execute multiple SQL statements within a single transaction.

* AWS Shield Update: Change name of DDoS Response Team (DRT) to Shield Response Team (SRT)

* Amazon Lex Model Building V2 Update: Add waiters that automatically poll for resource status for asynchronous operations, such as building a bot

* AWS Route53 Recovery Control Config Update: Amazon Route 53 Application Recovery Controller's routing control - Routing Control Configuration APIs help you create and delete clusters, control panels, routing controls and safety rules. State changes (On/Off) of routing controls are not part of configuration APIs.

* Route53 Recovery Cluster Update: Amazon Route 53 Application Recovery Controller's routing control - Routing Control Data Plane APIs help you update the state (On/Off) of the routing controls to reroute traffic across application replicas in a 100% available manner.

* AWS IoT Analytics Update: IoT Analytics now supports creating a dataset resource with IoT SiteWise MultiLayerStorage data stores, enabling customers to query industrial data within the service. This release includes adding JOIN functionality for customers to query multiple data sources in a dataset.

* Updated endpoints.json.

* Release 2.17.6. Updated CHANGELOG.md, README.md and all pom.xml.

* Update to next snapshot version: 2.17.7-SNAPSHOT

* AWS Single Sign-On Admin Update: Documentation updates for arn:aws:trebuchet:::service:v1:03a2216d-1cda-4696-9ece-1387cb6f6952

* AWS CloudFormation Update: SDK update to support Importing existing Stacks to new/existing Self Managed StackSet - Stack Import feature.

* Release 2.17.7. Updated CHANGELOG.md, README.md and all pom.xml.

* Update to next snapshot version: 2.17.8-SNAPSHOT

* Correctly handle multi-value headers in Aws4Signer (#2629)

* Correctly handle multi-value headers in Aws4Signer

## Motivation and Context

The current AbstractAws4Signer does not correctly handle multi-value
headers. When creating the canonical header string to sign, it was
placing each value on a separate line, when the documentation requires
that they be comma-separated (even if the actual headers are serialized
on the wire as multiple header fields).

https://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html

## Description

* Update AbstractAws4Signer to correctly join multiple header values
with a comma.
* Replace "appendCompactedString" with "trimAll", where "trimAll" is the
function name as specified in the documentation. This includes adding
String#trim() functionality.

## Result

Canonical header string example before:

```
foo:bar
foo:baz
```

after:

```
foo:bar,baz
```

## Testing

* Add new unit tests for multi-value headers
* Add new unit tests for the "Trimall" function, borrowing the example
from the docs

* AWS IoT Update: Increase maximum credential duration of role alias to 12 hours.

* AWS IoT SiteWise Update: Added support for AWS IoT SiteWise Edge. You can now create an AWS IoT SiteWise gateway that runs on AWS IoT Greengrass V2. With the gateway, you can collect local server and equipment data, process the data, and export the selected data from the edge to the AWS Cloud.

* Amazon Chime Update: Adds support for live transcription of meetings with Amazon Transcribe and Amazon Transcribe Medical. The new APIs, StartMeetingTranscription and StopMeetingTranscription, control the generation of user-attributed transcriptions sent to meeting clients via Amazon Chime SDK data messages.

* AWS Savings Plans Update: Documentation update for valid Savings Plans offering ID pattern

* Amazon Elastic Compute Cloud Update: This release adds support for G4ad xlarge and 2xlarge instances powered by AMD Radeon Pro V520 GPUs and AMD 2nd Generation EPYC processors

* Updated endpoints.json.

* Release 2.17.8. Updated CHANGELOG.md, README.md and all pom.xml.

* Update to next snapshot version: 2.17.9-SNAPSHOT

* Temporarily restore EC2MetadataUtils.getInstanceInfo for #2625, until #61 can be completed, at which time it will have to go away again. (#2630)

* AWS AppSync Update: AWS AppSync now supports a new authorization mode allowing you to define your own authorization logic using an AWS Lambda function.

* Elastic Load Balancing Update: Client Port Preservation ALB Attribute Launch

* Amazon SageMaker Service Update: API changes with respect to Lambda steps in model building pipelines. Adds several waiters to async Sagemaker Image APIs. Add more instance types to AppInstanceType field

* AWS Secrets Manager Update: Add support for KmsKeyIds in the ListSecretVersionIds API response

* Updated endpoints.json.

* Release 2.17.9. Updated CHANGELOG.md, README.md and all pom.xml.

* Update to next snapshot version: 2.17.10-SNAPSHOT

* Don't attempt to use empty session tokens (#2633)

* Don't attempt to use empty session tokens

An empty session token would never be valid. In the case that certain
environmental conditions may produce an empty session token (rather
than null), don't attempt to use it.

* Adding customized content-type since backend only accepts 'application/json' (#2631)

* AWS Systems Manager Incident Manager Contacts Update: Added new attribute in AcceptCode API. AcceptCodeValidation takes in two values - ENFORCE, IGNORE. ENFORCE forces validation of accept code and IGNORE ignores it which is also the default behavior; Corrected TagKeyList length from 200 to 50

* AWS IoT Greengrass V2 Update: This release adds support for component system resource limits and idempotent Create operations. You can now specify the maximum amount of CPU and memory resources that each component can use.

* Release 2.17.10. Updated CHANGELOG.md, README.md and all pom.xml.

* Update to next snapshot version: 2.17.11-SNAPSHOT

* Add IntelliJ .ipr project files to gitignore (#2635)

We do not store IntelliJ project files in git, but local workspaces
automatically create an aws-sdk-java-pom.ipr file, which shows up under
the default version control changelist.

* AWS Elemental MediaConvert Update: AWS Elemental MediaConvert SDK has added control over the passthrough of XDS captions metadata to outputs.

* Amazon Redshift Update: API support for Redshift Data Sharing feature.

* AWS Proton Update: Docs only add idempotent create apis

* AWS Glue Update: Add ConcurrentModificationException to create-table, delete-table, create-database, update-database, delete-database

* AWS IoT SiteWise Update: My AWS Service (placeholder) - This release introduces custom Intervals and offset for tumbling window in metric for AWS IoT SiteWise.

* Release 2.17.11. Updated CHANGELOG.md, README.md and all pom.xml.

* Update to next snapshot version: 2.17.12-SNAPSHOT

* Add customization.config support for setting default RetryMode (#2637)

This change allows for the SDK's default RetryMode to be configurable
via setting an SdkClientOption as part of the ClientBuilder's
`mergeInternalDefaults` logic, or via setting the `defaultRetryMode`
variable in an accompanying customization.config file.

Co-authored-by: Bennett Lynch <[email protected]>

* Add @transient annotation to BuilderImpl fluent setters. (#2641)

This fixes an issue where a bean-based marshaller for request and response models would fail
for fluent setters that happened to start with "set", like "settings".

The following services are fixed by this: medialive, ecs, networkfirewall, opsworks, codecommit.

* Renaming batch-utilities to batch-manager in docs, updating code snippets in design doc to reflect new decisions (#2639)

Co-authored-by: Michael Li <[email protected]>
Co-authored-by: Zoe Wang <[email protected]>

* Amazon Transcribe Service Update: This release adds support for call analytics (batch) within Amazon Transcribe.

* Amazon EventBridge Update: Documentation updates to add EC2 Image Builder as a target on PutTargets.

* AWS Systems Manager Incident Manager Update: Documentation updates for Incident Manager.

* Amazon Relational Database Service Update: This release adds AutomaticRestartTime to the DescribeDBInstances and DescribeDBClusters operations. AutomaticRestartTime indicates the time when a stopped DB instance or DB cluster is restarted automatically.

* EC2 Image Builder Update: Updated list actions to include a list of valid filters that can be used in the request.

* Updated endpoints.json.

* Release 2.17.12. Updated CHANGELOG.md, README.md and all pom.xml.

* Update to next snapshot version: 2.17.13-SNAPSHOT

* Amazon Lex Model Building V2 Update: Customers can now toggle the active field on prompts and responses.

* Auto Scaling Update: EC2 Auto Scaling adds configuration checks and Launch Template validation to Instance Refresh.

* Release 2.17.13. Updated CHANGELOG.md, README.md and all pom.xml.

* Delete file that doesn't belong in repo (#2643)

* Update to next snapshot version: 2.17.14-SNAPSHOT

* Fixed an issue where checksum validation only considered the first 4 bytes of the 16 byte checksum, creating the potential for corrupted downloads to go undetected. (#2646)

* Amazon Athena Update: Documentation updates for Athena.

* Amazon Lightsail Update: This release adds support to track when a bucket access key was last used.

* Synthetics Update: Documentation updates for Visual Monitoring feature and other doc ticket fixes.

* Amazon Connect Service Update: This release adds support for agent status and hours of operation. For details, see the Release Notes in the Amazon Connect Administrator Guide.

* Amazon Chime SDK Identity Update: The Amazon Chime SDK Identity APIs allow software developers to create and manage unique instances of their messaging applications.

* Amazon Chime SDK Messaging Update: The Amazon Chime SDK Messaging APIs allow software developers to send and receive messages in custom messaging applications.

* Updated endpoints.json.

* Release 2.17.14. Updated CHANGELOG.md, README.md and all pom.xml.

* Update to next snapshot version: 2.17.15-SNAPSHOT

* AWS WAFV2 Update: This release adds APIs to support versioning feature of AWS WAF Managed rule groups

* Amazon Simple Systems Manager (SSM) Update: Documentation updates for AWS Systems Manager.

* Amazon Rekognition Update: This release adds support for four new types of segments (opening credits, content segments, slates, and studio logos), improved accuracy for credits and shot detection and new filters to control black frame detection.

* Release 2.17.15. Updated CHANGELOG.md, README.md and all pom.xml.

* Update to next snapshot version: 2.17.16-SNAPSHOT

* Fix merge conflict

Co-authored-by: Carey Burgess <[email protected]>
Co-authored-by: AWS <>
Co-authored-by: aws-sdk-java-automation <[email protected]>
Co-authored-by: Bennett Lynch <[email protected]>
Co-authored-by: Michael Li <[email protected]>
Co-authored-by: Michael Li <[email protected]>
Co-authored-by: Dongie Agnir <[email protected]>
Co-authored-by: Dongie Agnir <[email protected]>
Co-authored-by: John Viegas <[email protected]>
Co-authored-by: John Viegas <[email protected]>
Co-authored-by: Matthew Miller <[email protected]>
Co-authored-by: Bennett Lynch <[email protected]>
Co-authored-by: Anna-Karin Salander <[email protected]>
  • Loading branch information
13 people authored Aug 9, 2021
1 parent 4e133c0 commit 150a4b1
Show file tree
Hide file tree
Showing 651 changed files with 31,172 additions and 10,631 deletions.
117 changes: 117 additions & 0 deletions .brazil.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
{
"packageVersion": "2.0",

"modules": {
"annotations": { "packageName": "AwsJavaSdk-Core-Annotations" },
"apache-client": { "packageName": "AwsJavaSdk-HttpClient-ApacheClient" },
"arns": { "packageName": "AwsJavaSdk-Core-Arns" },
"auth": { "packageName": "AwsJavaSdk-Core-Auth" },
"auth-crt": { "packageName": "AwsJavaSdk-Core-AuthCrt" },
"aws-cbor-protocol": { "packageName": "AwsJavaSdk-Core-AwsCborProtocol" },
"aws-core": { "packageName": "AwsJavaSdk-Core-AwsCore" },
"aws-crt-client": { "packageName": "AwsJavaSdk-HttpClient-CrtClient" },
"aws-ion-protocol": { "packageName": "AwsJavaSdk-Core-AwsIonProtocol" },
"aws-json-protocol": { "packageName": "AwsJavaSdk-Core-AwsJsonProtocol" },
"aws-query-protocol": { "packageName": "AwsJavaSdk-Core-AwsQueryProtocol" },
"aws-xml-protocol": { "packageName": "AwsJavaSdk-Core-AwsXmlProtocol" },
"cloudwatch-metric-publisher": { "packageName": "AwsJavaSdk-MetricPublisher-CloudWatch" },
"codegen": { "packageName": "AwsJavaSdk-Codegen" },
"dynamodb-enhanced": { "packageName": "AwsJavaSdk-DynamoDb-Enhanced" },
"http-client-spi": { "packageName": "AwsJavaSdk-HttpClient" },
"json-utils": { "packageName": "AwsJavaSdk-Core-JsonUtils" },
"metrics-spi": { "packageName": "AwsJavaSdk-Core-MetricsSpi" },
"netty-nio-client": { "packageName": "AwsJavaSdk-HttpClient-NettyNioClient" },
"profiles": { "packageName": "AwsJavaSdk-Core-Profiles" },
"protocol-core": { "packageName": "AwsJavaSdk-Core-ProtocolCore" },
"regions": { "packageName": "AwsJavaSdk-Core-Regions" },
"s3-transfer-manager": { "packageName": "AwsJavaSdk-S3-TransferManager" },
"sdk-core": { "packageName": "AwsJavaSdk-Core" },
"url-connection-client": { "packageName": "AwsJavaSdk-HttpClient-UrlConnectionClient" },
"utils": { "packageName": "AwsJavaSdk-Core-Utils" },

"dynamodb": { "packageName": "AwsJavaSdk-DynamoDb" },
"waf": { "packageName": "AwsJavaSdk-Waf" },

"third-party-jackson-core": {
"packageName": "AwsJavaSdk-ThirdParty-JacksonCore",
"artifactType": "JAR",
"includes": ["target/aws-sdk-java-third-party-jackson-core-*.jar"]
},
"third-party-jackson-dataformat-cbor": {
"packageName": "AwsJavaSdk-ThirdParty-JacksonDataformatCbor",
"artifactType": "JAR",
"includes": ["target/aws-sdk-java-third-party-jackson-dataformat-cbor-*.jar"]
},

"archetype-app-quickstart": { "skipImport": true },
"archetype-lambda": { "skipImport": true },
"archetype-tools": { "skipImport": true },
"archetypes": { "skipImport": true },
"auth-sts-testing": { "skipImport": true },
"aws-sdk-java": { "skipImport": true },
"aws-sdk-java-pom": { "skipImport": true },
"bom": { "skipImport": true },
"bom-internal": { "skipImport": true },
"build-tools": { "skipImport": true },
"bundle": { "skipImport": true },
"codegen-generated-classes-test": { "skipImport": true },
"codegen-lite": { "skipImport": true },
"codegen-lite-maven-plugin": { "skipImport": true },
"codegen-maven-plugin": { "skipImport": true },
"core": { "skipImport": true },
"dynamodbdocument-v1": { "skipImport": true },
"dynamodbmapper-v1": { "skipImport": true },
"http-client-tests": { "skipImport": true },
"http-clients": { "skipImport": true },
"metric-publishers": { "skipImport": true },
"module-path-tests": { "skipImport": true },
"protocol-tests": { "skipImport": true },
"protocol-tests-core": { "skipImport": true },
"protocols": { "skipImport": true },
"release-scripts": { "skipImport": true },
"s3-benchmarks": { "skipImport": true },
"sdk-benchmarks": { "skipImport": true },
"sdk-native-image-test": { "skipImport": true },
"service-test-utils": { "skipImport": true },
"services": { "skipImport": true },
"services-custom": { "skipImport": true },
"stability-tests": { "skipImport": true },
"test-utils": { "skipImport": true },
"tests-coverage-reporting": { "skipImport": true },
"third-party": { "skipImport": true }
},

"dependencies": {
"com.fasterxml.jackson.core:jackson-annotations": { "packageName": "Jackson-annotations", "packageVersion": "2.9.x" },
"com.fasterxml.jackson.core:jackson-core": { "packageName": "Jackson-core", "packageVersion": "2.9.x" },
"com.fasterxml.jackson.core:jackson-databind": { "packageName": "Jackson-databind", "packageVersion": "2.9.x" },
"com.fasterxml.jackson.dataformat:jackson-dataformat-cbor": { "packageName": "Jackson-dataformat-cbor", "packageVersion": "2.9.x" },
"com.fasterxml.jackson.jr:jackson-jr-objects": { "packageName": "Maven-com-fasterxml-jackson-jr_jackson-jr-objects", "packageVersion": "2.11.x" },
"com.fasterxml.jackson.jr:jackson-jr-stree": { "packageName": "Maven-com-fasterxml-jackson-jr_jackson-jr-stree", "packageVersion": "2.11.x" },
"com.jayway.jsonpath:json-path": { "packageName": "JMESPathJava", "packageVersion": "1.0" },
"com.squareup:javapoet": { "packageName": "Maven-com-squareup_javapoet", "packageVersion": "1.11.x" },
"com.typesafe.netty:netty-reactive-streams": { "packageName": "Netty4", "packageVersion": "4.1" },
"com.typesafe.netty:netty-reactive-streams-http": { "packageName": "Maven-com-typesafe-netty_netty-reactive-streams-http", "packageVersion": "2.x" },
"commons-codec:commons-codec": { "packageName": "JakartaCommons-codec", "packageVersion": "1.x" },
"io.netty:netty-buffer": { "packageName": "Netty4", "packageVersion": "4.1" },
"io.netty:netty-codec": { "packageName": "Netty4", "packageVersion": "4.1" },
"io.netty:netty-codec-http": { "packageName": "Netty4", "packageVersion": "4.1" },
"io.netty:netty-codec-http2": { "packageName": "Netty4", "packageVersion": "4.1" },
"io.netty:netty-common": { "packageName": "Netty4", "packageVersion": "4.1" },
"io.netty:netty-handler": { "packageName": "Netty4", "packageVersion": "4.1" },
"io.netty:netty-resolver": { "packageName": "Netty4", "packageVersion": "4.1" },
"io.netty:netty-transport": { "packageName": "Netty4", "packageVersion": "4.1" },
"io.netty:netty-transport-native-epoll": { "packageName": "Netty4", "packageVersion": "4.1" },
"io.netty:netty-transport-native-unix-common": { "packageName": "Netty4", "packageVersion": "4.1" },
"org.apache.httpcomponents:httpclient": { "packageName": "Apache-HttpComponents-HttpClient", "packageVersion": "4.5.x" },
"org.apache.httpcomponents:httpcore": { "packageName": "Apache-HttpComponents-HttpCore", "packageVersion": "4.4.x" },
"org.eclipse.jdt:org.eclipse.jdt.core": { "packageName": "AwsJavaSdk-Codegen-EclipseJdtDependencies", "packageVersion": "2.0" },
"org.eclipse.text:org.eclipse.text": { "packageName": "AwsJavaSdk-Codegen-EclipseJdtDependencies", "packageVersion": "2.0" },
"org.reactivestreams:reactive-streams": { "packageName": "Maven-org-reactivestreams_reactive-streams", "packageVersion": "1.x" },
"org.slf4j:slf4j-api": { "packageName": "Slf4j", "packageVersion": "1.7" },
"software.amazon.awssdk.crt:aws-crt": { "packageName": "Aws-crt-java", "packageVersion": "1.0.x" },
"software.amazon.eventstream:eventstream": { "packageName": "AwsFlowJava", "packageVersion": "1.0" },
"software.amazon.ion:ion-java": { "packageName": "Maven-software-amazon-ion_ion-java", "packageVersion": "1.x" },
"software.amazon:flow": { "packageName": "AwsFlowJava", "packageVersion": "1.0" }
}
}
54 changes: 54 additions & 0 deletions .changes/2.16.101.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
{
"version": "2.16.101",
"date": "2021-07-13",
"entries": [
{
"type": "feature",
"category": "AWS SDK for Java v2",
"contributor": "",
"description": "Updated service endpoint metadata."
},
{
"type": "feature",
"category": "Amazon Simple Systems Manager (SSM)",
"contributor": "",
"description": "Changes to OpsCenter APIs to support a new feature, operational insights."
},
{
"type": "feature",
"category": "Amazon Lex Model Building Service",
"contributor": "",
"description": "Customers can now migrate bots built with Lex V1 APIs to V2 APIs. This release adds APIs to initiate and manage the migration of a bot."
},
{
"type": "feature",
"category": "Amazon Redshift",
"contributor": "",
"description": "Release new APIs to support new Redshift feature - Authentication Profile"
},
{
"type": "feature",
"category": "AmplifyBackend",
"contributor": "",
"description": "Added Sign in with Apple OAuth provider."
},
{
"type": "feature",
"category": "AWS Direct Connect",
"contributor": "",
"description": "This release adds a new filed named awsLogicalDeviceId that it displays the AWS Direct Connect endpoint which terminates a physical connection's BGP Sessions."
},
{
"type": "feature",
"category": "AWS Price List Service",
"contributor": "",
"description": "Documentation updates for api.pricing"
},
{
"type": "feature",
"category": "Amazon DevOps Guru",
"contributor": "",
"description": "Add paginator for GetCostEstimation"
}
]
}
48 changes: 48 additions & 0 deletions .changes/2.16.102.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{
"version": "2.16.102",
"date": "2021-07-14",
"entries": [
{
"type": "feature",
"category": "AWS Certificate Manager",
"contributor": "",
"description": "Added support for RSA 3072 SSL certificate import"
},
{
"type": "feature",
"category": "Amazon Lightsail",
"contributor": "",
"description": "This release adds support for the Amazon Lightsail object storage service, which allows you to create buckets and store objects."
},
{
"type": "feature",
"category": "Amazon HealthLake",
"contributor": "",
"description": "General availability for Amazon HealthLake. StartFHIRImportJob and StartFHIRExportJob APIs now require AWS KMS parameter. For more information, see the Amazon HealthLake Documentation https://docs.aws.amazon.com/healthlake/index.html."
},
{
"type": "documentation",
"category": "AWS SDK for Java v2",
"contributor": "Bennett-Lynch",
"description": "Update pull request template to place motivation before description"
},
{
"type": "feature",
"category": "AWS Well-Architected Tool",
"contributor": "",
"description": "This update provides support for Well-Architected API users to mark answer choices as not applicable."
},
{
"type": "feature",
"category": "AWS Glue",
"contributor": "",
"description": "Add support for Event Driven Workflows"
},
{
"type": "feature",
"category": "AWS Database Migration Service",
"contributor": "",
"description": "Release of feature needed for ECA-Endpoint settings. This allows customer to delete a field in endpoint settings by using --exact-settings flag in modify-endpoint api. This also displays default values for certain required fields of endpoint settings in describe-endpoint-settings api."
}
]
}
42 changes: 42 additions & 0 deletions .changes/2.16.103.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"version": "2.16.103",
"date": "2021-07-15",
"entries": [
{
"type": "feature",
"category": "Amazon Elastic Compute Cloud",
"contributor": "",
"description": "This feature enables customers to specify weekly recurring time window(s) for scheduled events that reboot, stop or terminate EC2 instances."
},
{
"type": "feature",
"category": "AWS SDK for Java v2",
"contributor": "",
"description": "Add support for marshalling lists of strings in HTTP headers"
},
{
"type": "feature",
"category": "Amazon Cognito Identity Provider",
"contributor": "",
"description": "Documentation updates for cognito-idp"
},
{
"type": "feature",
"category": "Amazon Lex Model Building Service",
"contributor": "",
"description": "Lex now supports the en-IN locale"
},
{
"type": "feature",
"category": "Amazon EC2 Container Service",
"contributor": "",
"description": "Documentation updates for support of awsvpc mode on Windows."
},
{
"type": "feature",
"category": "AWS IoT SiteWise",
"contributor": "",
"description": "Update the default endpoint for the APIs used to manage asset models, assets, gateways, tags, and account configurations. If you have firewalls with strict egress rules, configure the rules to grant you access to api.iotsitewise.[region].amazonaws.com or api.iotsitewise.[cn-region].amazonaws.com.cn."
}
]
}
36 changes: 36 additions & 0 deletions .changes/2.16.104.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"version": "2.16.104",
"date": "2021-07-16",
"entries": [
{
"type": "feature",
"category": "AWS Audit Manager",
"contributor": "",
"description": "This release relaxes the S3 URL character restrictions in AWS Audit Manager. Regex patterns have been updated for the following attributes: s3RelativePath, destination, and s3ResourcePath. 'AWS' terms have also been replaced with entities to align with China Rebrand documentation efforts."
},
{
"type": "feature",
"category": "AWS SDK for Java v2",
"contributor": "",
"description": "Updated service endpoint metadata."
},
{
"type": "feature",
"category": "Amazon Chime",
"contributor": "",
"description": "This SDK release adds Account Status as one of the attributes in Account API response"
},
{
"type": "feature",
"category": "AWS SDK for Java v2",
"contributor": "",
"description": "This changes implements support for the `AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE` environment variable and\n`ec2_metadata_service_endpoint` profile file property.\n\nWhen no endpoint override is set using `AWS_EC2_METADATA_SERVICE_ENDPOINT`, this configuration controls which of the default\nIMDS endpoints the client will use. Valid values are `IPv4` or `IPv6`"
},
{
"type": "feature",
"category": "Amazon AppIntegrations Service",
"contributor": "",
"description": "Documentation update for AppIntegrations Service"
}
]
}
48 changes: 48 additions & 0 deletions .changes/2.17.0.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{
"version": "2.17.0",
"date": "2021-07-19",
"entries": [
{
"type": "feature",
"category": "AWS RoboMaker",
"contributor": "",
"description": "This release allows customers to create a new version of WorldTemplates with support for Doors."
},
{
"type": "feature",
"category": "Amazon Location Service",
"contributor": "",
"description": "Add five new API operations: UpdateGeofenceCollection, UpdateMap, UpdatePlaceIndex, UpdateRouteCalculator, UpdateTracker."
},
{
"type": "feature",
"category": "Amazon EMR Containers",
"contributor": "",
"description": "Updated DescribeManagedEndpoint and ListManagedEndpoints to return failureReason and stateDetails in API response."
},
{
"type": "feature",
"category": "AWS SDK for Java v2",
"contributor": "",
"description": "Moved Jackson from an external SDK dependency to an internal dependency: https://aws.amazon.com/blogs/developer/the-aws-sdk-for-java-2-17-removes-its-external-dependency-on-jackson/"
},
{
"type": "feature",
"category": "AWS Health APIs and Notifications",
"contributor": "",
"description": "In the Health API, the maximum number of entities for the EventFilter and EntityFilter data types has changed from 100 to 99. This change is related to an internal optimization of the AWS Health service."
},
{
"type": "feature",
"category": "AWS Direct Connect",
"contributor": "",
"description": "Documentation updates for directconnect"
},
{
"type": "feature",
"category": "EC2 Image Builder",
"contributor": "",
"description": "Documentation updates for reversal of default value for additional instance configuration SSM switch, plus improved descriptions for semantic versioning."
}
]
}
18 changes: 18 additions & 0 deletions .changes/2.17.1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"version": "2.17.1",
"date": "2021-07-20",
"entries": [
{
"type": "feature",
"category": "Amazon Elastic Compute Cloud",
"contributor": "",
"description": "Added idempotency to the CreateVolume API using the ClientToken request parameter"
},
{
"type": "feature",
"category": "AWS Compute Optimizer",
"contributor": "",
"description": "Documentation updates for Compute Optimizer"
}
]
}
Loading

0 comments on commit 150a4b1

Please sign in to comment.