Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sugmanue/rpcv2 merge 2.27.18 snapshot #5549

Merged

Conversation

sugmanue
Copy link
Contributor

@sugmanue sugmanue commented Sep 3, 2024

Motivation and Context

Modifications

Testing

Screenshots (if appropriate)

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)

Checklist

  • I have read the CONTRIBUTING document
  • Local run of mvn install succeeds
  • My code follows the code style of this project
  • My change requires a change to the Javadoc documentation
  • I have updated the Javadoc documentation accordingly
  • I have added tests to cover my changes
  • All new and existing tests passed
  • I have added a changelog entry. Adding a new entry must be accomplished by running the scripts/new-change script and following the instructions. Commit the new file created by the script in .changes/next-release with your changes.
  • My change is to implement 1.11 parity feature and I have updated LaunchChangelog

License

  • I confirm that this pull request can be released under the Apache 2 license

AWS and others added 30 commits August 6, 2024 18:07
…dates to include password history and log export for Cognito user pools.
…pport to the ListRecommendationSummaries API.
…output traces for orchestration traces, which contain the model's raw response and usage.
…334e168fa

Pull request: release <- staging/97d1ea04-5ec6-47d4-95b7-ac8334e168fa
* Create new module for migration tool with basic recipe (#4823)

* Create new module for migration tool with basic transformation

* Test application

* Generate upgrade-sdk-depenencies recipe

* Add more tests

* Add README and fix test

* Generate bom version change

* Fix build

* Add recipe to change SDK generated types. (#5053)

* Add recipe to change SDK generated types.

* Address feedback

* Account for v1 Services Module Naming Differences (#5109)

* Account for v1 module naming differences

* Specify full path to diff csv file

* Account for v2 modules that do not exist in v1

* Account for v2 modules that do not exist in v1

* Fix checkstyle errors and suppress spotbug errors for ChangeSdkType (#5113)

* Add Region class mapping (#5118)

* Add NewV1ClassToBuilder recipe (#5115)

* Add NewV1ClassToBuilder recipe

This recipe transforms the usage of a V1 request class using the `new`
keyword to using the V2 class and its builder.

This recipe migrates many common uses for making API calls using the V1
SDK:

Creating the request outside of the API call and then passing it in as a
name variable:

```
SendMessageRequest request = new SendMessage().withQueueUrl(..);

sqs.sendMessage(request);
```

or creating it inline

```
sqs.sendMessage(new SendMessageRequest().withQueueUrl(...));
```

* Review comments

Update migration tool tests. This also means adding the the new recipe
to the main software.amazon.awssdk.UpgradeJavaSdk2 recipe.

* Only run on JDK8

* Preserve prefix when moving from new to builder (#5130)

Previously, this

SendMessageRequest sendMessage = new SendMessageRequest();

is getting transformed to this (o space after =)

SendMessageRequest sendMessage =SendMessageRequest.builder().build();

* Improve test script to log diff (#5131)

* Improve diff output when tests fail (#5152)

Use difflib's unified_diff to produce a unified diff between the
expected and actual file. This has the benefit of including the files
compared in the output which makes it easier to do further inspection on
them.

* Support code transformation for credentials related classes. (#5147)

* Support code transformation for credentials related classes.
Add NewClassToStaticFactory reciipe to convert objects creating using
constructor to static factory method
Refactor NewClassToBuilderPattern to support client classes

* Fix tests

* Flush output after writing diff (#5154)

Prevents the output from being garbled by other output.

* Add ConstructorToFluent recipe (#5145)

* Add ConstructorToFluent recipe

The ConstructorToFluent recipe takes a convenience constructor like

new GetObjectRequest(myBucket, myKey)

and transforms it to use the fluent setter style instead:

new GetObjectRequest().withBucketName(myBucket).withKey(myKey)

This allows us to take advantage of other recipes that for example
switch from using the fluent setters to using the V2-style builders.

* Update param type matching

* Review comments

* Migration Tool Client Config Part 1: map builder variations to the standard builder (#5165)

* WIP

* Add recipe to convert builder varitions to standard builder method

* Add AddCommentToMethod recipe (#5167)

* Add AddCommentToMethod recipe

* Fix build

* Add prefix to comment

* Add NumberToDuration recipe to convert numeric type to Duration (#5170)

* Add NumberToDuration recipe to convert numeric type to Duration

* Fix test

* Add S3StreamingResponseToV2 Recipe (#5173)

* Add S3StreamingResponseToV2 Recipe

This recipe transforms usages of `s3.getObject(..)` such as

```
S3Object myObject = s3.getObject(request);
```

to the equivalent in v2:

```
ResponseInputStream<GetObjectResponse> myObject = s3.getOBject(request);
```

In addition, because of the inversion of streaming and non-streaming
members when moving to ResponseInputStream, it further transforms usages
of myObject so that calls in v1 that access the stream:

```
myObject.getObjectContent().close()
```

become

```
myObject.close()
```

Likewise, methods that access the non-streaming members

```
myObject.getKey();
```

become

```
myObject.response().getKey();
```

* Review comments

* Add S3StreamingResponseToV2 to migration recipe (#5180)

Update migration tool tests.

* Add mappping for non-HTTP config settings and add comments for settings (#5181)

* Add package mapping for the new module and exclude it from javadoc exe… (#5197)

* Add brazil mapping for the new module and exclude it from javadoc execution

* Fix test

* Change package name for migration tool and update dependencies (#5200)

* Fix NumberToDuraion recipe to handle variable (#5208)

* HTTP settings mapping part 1: remove HTTP settings from client configu… (#5211)

* HTTP setting mapping part 1: remove HTTP settings from client configuration

* Fix formatting

* Prefix comment to method call (#5212)

Insert the comment to before the method call to make it easier and more
apparent what the comment is referring to. Using Space to insert
comments here is more idiomatic, and gives us more control of where the
comments appear and what they look like.

* Add V1GetterToV2 Recipe (#5260)

* Add V1GetterToV2 Recipe

* Add check for model class

* Update recipe path

* fix NPE in SdkTypeUtils (#5301)

* Fix POJO class naming mapping (#5315)

* Change auth type getters to fluent getters (#5318)

* Change auth type getters to fluent getters

* Fix session credentials

* Support HTTP settings mapping (#5308)

* Support HTTP settings migration.

* Use IdentifierUtils and add more tests

* Fix conflict

* Revert "Fix conflict"

This reverts commit 377884d.

* Fix missing space issue for ClientOverrideConfiguration (#5323)

* Add mapping for core exception types and getters (#5326)

* Wrap region string with Region.of (#5331)

* Wrap region string with Region.of

* Fix build

* Handle wildcard imports in ChangeSdkType recipe (#5336)

* Fix V1GetterToV2 to not change get method (#5338)

* Fix NPE in ChangeSdkType (#5342)

* Account for v1 package service name differences (#5353)

* Replace aws-java-sdk-core dependency (#5347)

* Replace core dependency

* Fix build

* Skip transformation for S3 Transfer Manager and DynamoDB mapper (#5364)

* Skip transformation for S3 Transfer Manager and DynamoDB mapper

* Fix tests

* Fix tests

* Remove hard-coded version in migration-tool-tests test script (#5366)

* Minor refactoring and updating readme (#5370)

* Add gradle support and add tests for gradle project (#5368)

* Transform defaultClient to create (#5374)

* Transform defaultClient to create

* Fix return type and spacing

* Add parentheses to method patterns (#5384)

* Rename module and recipes (#5377)

* Add package mapping for rewrite-java-dependencies (#5388)

* Fix import for real (#5389)

* Add enum getters and casing transforms (#5393)

* Fix enum getters and casing

* Fix enum getters and casing

* Fix enum getters and casing

* Fix unit test

* Address comments

* Address comments

* Refactor HttpSettingsToHttpClient to handler client builder without build invoked (#5406)

* Transforming S3 PUT override (#5411)

* Transforming S3 PUT override

* Fix build and add end to end tests

---------

Co-authored-by: Dongie Agnir <261310+dagnir@users.noreply.github.com>

* Fix package/file naming and test (#5426)

* Update recipe display name (#5448)

* Doc update (#5447)

* Append PREVIEW to the migration tool version and add changelog entry (#5460)

* Append PREVIEW to the migration tool version and add changelog entry

* Fix build

* Update version

---------

Co-authored-by: David Ho <70000000+davidh44@users.noreply.github.com>
Co-authored-by: Dongie Agnir <261310+dagnir@users.noreply.github.com>
…and CreateDataIntegrationAssociation API to support bulk data export from Amazon Connect Customer Profiles to the customer S3 bucket.
… a new functionality that uses ML-based solutions to detect data anomalies users have not explicitly defined rules for.
…dc86cbbd4

Pull request: release <- staging/9f335f54-de4e-4b12-9ae9-614dc86cbbd4
* Update ResponseTransformer so download attempts to a directory that does not exist or does not have write permissions are not retried

* Update ResponseTransformer so download attempts to a directory that does not exist or does not have write permissions are not retried

* Update ResponseTransformer so download attempts to a directory that does not exist or does not have write permissions are not retried

* Update ResponseTransformer so download attempts to a directory that does not exist or does not have write permissions are not retried
* Create new module for migration tool with basic recipe (#4823)

* Create new module for migration tool with basic transformation

* Test application

* Generate upgrade-sdk-depenencies recipe

* Add more tests

* Add README and fix test

* Generate bom version change

* Fix build

* Add recipe to change SDK generated types. (#5053)

* Add recipe to change SDK generated types.

* Address feedback

* Account for v1 Services Module Naming Differences (#5109)

* Account for v1 module naming differences

* Specify full path to diff csv file

* Account for v2 modules that do not exist in v1

* Account for v2 modules that do not exist in v1

* Fix checkstyle errors and suppress spotbug errors for ChangeSdkType (#5113)

* Add Region class mapping (#5118)

* Add NewV1ClassToBuilder recipe (#5115)

* Add NewV1ClassToBuilder recipe

This recipe transforms the usage of a V1 request class using the `new`
keyword to using the V2 class and its builder.

This recipe migrates many common uses for making API calls using the V1
SDK:

Creating the request outside of the API call and then passing it in as a
name variable:

```
SendMessageRequest request = new SendMessage().withQueueUrl(..);

sqs.sendMessage(request);
```

or creating it inline

```
sqs.sendMessage(new SendMessageRequest().withQueueUrl(...));
```

* Review comments

Update migration tool tests. This also means adding the the new recipe
to the main software.amazon.awssdk.UpgradeJavaSdk2 recipe.

* Only run on JDK8

* Preserve prefix when moving from new to builder (#5130)

Previously, this

SendMessageRequest sendMessage = new SendMessageRequest();

is getting transformed to this (o space after =)

SendMessageRequest sendMessage =SendMessageRequest.builder().build();

* Improve test script to log diff (#5131)

* Improve diff output when tests fail (#5152)

Use difflib's unified_diff to produce a unified diff between the
expected and actual file. This has the benefit of including the files
compared in the output which makes it easier to do further inspection on
them.

* Support code transformation for credentials related classes. (#5147)

* Support code transformation for credentials related classes.
Add NewClassToStaticFactory reciipe to convert objects creating using
constructor to static factory method
Refactor NewClassToBuilderPattern to support client classes

* Fix tests

* Flush output after writing diff (#5154)

Prevents the output from being garbled by other output.

* Add ConstructorToFluent recipe (#5145)

* Add ConstructorToFluent recipe

The ConstructorToFluent recipe takes a convenience constructor like

new GetObjectRequest(myBucket, myKey)

and transforms it to use the fluent setter style instead:

new GetObjectRequest().withBucketName(myBucket).withKey(myKey)

This allows us to take advantage of other recipes that for example
switch from using the fluent setters to using the V2-style builders.

* Update param type matching

* Review comments

* Migration Tool Client Config Part 1: map builder variations to the standard builder (#5165)

* WIP

* Add recipe to convert builder varitions to standard builder method

* Add AddCommentToMethod recipe (#5167)

* Add AddCommentToMethod recipe

* Fix build

* Add prefix to comment

* Add NumberToDuration recipe to convert numeric type to Duration (#5170)

* Add NumberToDuration recipe to convert numeric type to Duration

* Fix test

* Add S3StreamingResponseToV2 Recipe (#5173)

* Add S3StreamingResponseToV2 Recipe

This recipe transforms usages of `s3.getObject(..)` such as

```
S3Object myObject = s3.getObject(request);
```

to the equivalent in v2:

```
ResponseInputStream<GetObjectResponse> myObject = s3.getOBject(request);
```

In addition, because of the inversion of streaming and non-streaming
members when moving to ResponseInputStream, it further transforms usages
of myObject so that calls in v1 that access the stream:

```
myObject.getObjectContent().close()
```

become

```
myObject.close()
```

Likewise, methods that access the non-streaming members

```
myObject.getKey();
```

become

```
myObject.response().getKey();
```

* Review comments

* Add S3StreamingResponseToV2 to migration recipe (#5180)

Update migration tool tests.

* Add mappping for non-HTTP config settings and add comments for settings (#5181)

* Add package mapping for the new module and exclude it from javadoc exe… (#5197)

* Add brazil mapping for the new module and exclude it from javadoc execution

* Fix test

* Change package name for migration tool and update dependencies (#5200)

* Fix NumberToDuraion recipe to handle variable (#5208)

* HTTP settings mapping part 1: remove HTTP settings from client configu… (#5211)

* HTTP setting mapping part 1: remove HTTP settings from client configuration

* Fix formatting

* Prefix comment to method call (#5212)

Insert the comment to before the method call to make it easier and more
apparent what the comment is referring to. Using Space to insert
comments here is more idiomatic, and gives us more control of where the
comments appear and what they look like.

* Add V1GetterToV2 Recipe (#5260)

* Add V1GetterToV2 Recipe

* Add check for model class

* Update recipe path

* fix NPE in SdkTypeUtils (#5301)

* Fix POJO class naming mapping (#5315)

* Change auth type getters to fluent getters (#5318)

* Change auth type getters to fluent getters

* Fix session credentials

* Support HTTP settings mapping (#5308)

* Support HTTP settings migration.

* Use IdentifierUtils and add more tests

* Fix conflict

* Revert "Fix conflict"

This reverts commit 377884d.

* Fix missing space issue for ClientOverrideConfiguration (#5323)

* Add mapping for core exception types and getters (#5326)

* Wrap region string with Region.of (#5331)

* Wrap region string with Region.of

* Fix build

* Handle wildcard imports in ChangeSdkType recipe (#5336)

* Fix V1GetterToV2 to not change get method (#5338)

* Fix NPE in ChangeSdkType (#5342)

* Account for v1 package service name differences (#5353)

* Replace aws-java-sdk-core dependency (#5347)

* Replace core dependency

* Fix build

* Skip transformation for S3 Transfer Manager and DynamoDB mapper (#5364)

* Skip transformation for S3 Transfer Manager and DynamoDB mapper

* Fix tests

* Fix tests

* Remove hard-coded version in migration-tool-tests test script (#5366)

* Minor refactoring and updating readme (#5370)

* Add gradle support and add tests for gradle project (#5368)

* Transform defaultClient to create (#5374)

* Transform defaultClient to create

* Fix return type and spacing

* Add parentheses to method patterns (#5384)

* Rename module and recipes (#5377)

* Add package mapping for rewrite-java-dependencies (#5388)

* Fix import for real (#5389)

* Add enum getters and casing transforms (#5393)

* Fix enum getters and casing

* Fix enum getters and casing

* Fix enum getters and casing

* Fix unit test

* Address comments

* Address comments

* Refactor HttpSettingsToHttpClient to handler client builder without build invoked (#5406)

* Transforming S3 PUT override (#5411)

* Transforming S3 PUT override

* Fix build and add end to end tests

---------

Co-authored-by: Dongie Agnir <261310+dagnir@users.noreply.github.com>

* Fix package/file naming and test (#5426)

* Update recipe display name (#5448)

* Doc update (#5447)

* Append PREVIEW to the migration tool version and add changelog entry (#5460)

* Append PREVIEW to the migration tool version and add changelog entry

* Fix build

* Update version

* Use Java to run tests instead of python (#5482)

* Fix version

* Update to not generate upgrade-sdk-dependencies and change-enum-getters (#5483)

* Update to not generate upgrade-sdk-dependencies and change-enum-getters

* Specify java version in tests

---------

Co-authored-by: David Ho <70000000+davidh44@users.noreply.github.com>
Co-authored-by: Dongie Agnir <261310+dagnir@users.noreply.github.com>
…g for VPCs and Subnets. VPC IPAM supports the planning and monitoring of private IPv6 usage.
…tection for custom authentication in Amazon Cognito user pools.
…ber of access control tags that are allowed to be added to a security profile in Amazon Connect. You can now add up to four access control tags on a single security profile.
… status when creating or updating Glue Data Catalog Views. Also added is support for BasicCatalogTarget partition keys.
…492fd1220

Pull request: release <- staging/35247981-709a-4eb5-9cb7-d01492fd1220
Before this change, calling `close` after `abort` would raise an IOException. It's well-understood that streams should be `close`d after they're done being used. This was not possible before this change, if `abort` was called.

As a side effect of this change, `abort` now calls `close` on the underlying input stream. This is the behavior of the 1.x SDK, so it is low-risk.
AWS and others added 27 commits August 28, 2024 18:13
…PAM) now allows customers to provision IPv4 CIDR blocks and allocate Elastic IP Addresses directly from IPAM pools with public IPv4 space
…ction, which is a safety guardrail to prevent the unintentional deletion of a recently used AWS AppConfig Configuration Profile or Environment. This also includes a change to increase the maximum length of the Name parameter in UpdateConfigurationProfile.
… Automation, Built-in Explorer, remote access record, remote access replay, and web performance profile framework in ScheduleRun API.
…ting Service (AWS PCS), a new service makes it easy to setup and manage high performance computing (HPC) clusters, and build scientific and engineering models at virtually any scale on AWS.
…0e8d7d5a0

Pull request: release <- staging/acc7b3d8-29ce-4155-8399-aff0e8d7d5a0
…sis to ValidateStateMachineDefinition API, which can now return optional WARNING diagnostics for semantic errors on the definition of an Amazon States Language (ASL) state machine.
…on Bedrock KnowledgeBase RetrievalFilter array
…keModel and InvokeModelWithResponseStream.
…321035231

Pull request: release <- staging/5ae0970f-31d3-4223-b332-ff8321035231
…5543)

* Handle file upload future completed exceptionally for Java-based TransferManager and add logging

* Fix Checkstyle

* Fix logging for CrtFileUpload

* Add wiremock tests

* Remove redundant test code

* Remove redundant test code

* Update logging
…ilities of Domain Units for organization within your Data Domains, and Authorization Policies for tighter controls.
… parameter: Entity, in PutLogEvents request
…aultType and VaultState, to the DescribeBackupVault and ListBackupVaults APIs. The VaultState attribute reflects the current status of the vault, while the VaultType attribute indicates the specific category of the vault.
…t DataAPI feature for session use, customer execute query with --session-keep-alive-seconds parameter and can submit follow-up queries to same sessions with returned`session-id`
…7b9cc711b

Pull request: release <- staging/3b167d2c-eb88-4d00-8d13-8127b9cc711b
Copy link

sonarqubecloud bot commented Sep 3, 2024

Quality Gate Failed Quality Gate failed

Failed conditions
40.8% Coverage on New Code (required ≥ 80%)
C Reliability Rating on New Code (required ≥ A)

See analysis details on SonarCloud

Catch issues before they fail your Quality Gate with our IDE extension SonarLint

@sugmanue sugmanue merged commit f3ce808 into feature/master/rpcv2-cbor Sep 3, 2024
16 of 17 checks passed
@sugmanue sugmanue deleted the sugmanue/rpcv2-merge-2.27.18-SNAPSHOT branch September 3, 2024 20:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.