Skip to content

Use code-generated endpoint rules - #7294

Open
S-Saranya1 wants to merge 6 commits into
masterfrom
feature/master/use-codegen-rules-by-default
Open

Use code-generated endpoint rules#7294
S-Saranya1 wants to merge 6 commits into
masterfrom
feature/master/use-codegen-rules-by-default

Conversation

@S-Saranya1

@S-Saranya1 S-Saranya1 commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Motivation and Context

Following the enablement of compiled endpoint rules for all services in PR #7265, this PR completes the cleanup by removing the legacy interpreted endpoint rules code path entirely. With compiled rules now the only supported path, the interpreted runtime, its supporting classes, and the enableGenerateCompiledEndpointRules customization flag are all dead code.

This cleanup consolidates the SDK to a single, more performant endpoint resolution mechanism and simplifies the codegen internals by:

  • Removing ~54 legacy .java.resource runtime files (DefaultRuleEngine, RuleEvaluator, Condition, Arn, etc.)
  • Removing the dual-path logic that decided between interpreted and compiled at codegen time
  • Merging the rules2/ codegen package into rules/ (since there's no longer a "rules" vs "rules2" distinction)
  • Migrating internal Arn usages in S3 and STS to the public software.amazon.awssdk.arns.Arn class

Modifications

Codegen cleanup (PR #7269):

  • Deleted EndpointProviderSpec (old interpreted) and renamed EndpointProviderSpec2 → EndpointProviderSpec
  • Moved all classes and resources from rules2/ to rules/
  • Removed dual-path selection in EndpointProviderTasks.createTasks() — always uses compiled path
  • Deleted RulesEngineRuntimeLiteGeneratorTask and RulesEngineRuntimeGeneratorTask2 (kept the single RulesEngineRuntimeGeneratorTask that copies only compiled-path files)
  • Removed enableGenerateCompiledEndpointRules field/getter/setter from CustomizationConfig
  • Removed rulesEngineResourceFiles2() from EndpointRulesSpecUtils
  • Deleted 54 legacy interpreted .java.resource files, kept only the 11 files used by compiled path

Config cleanup (PR #7268):

  • Removed enableGenerateCompiledEndpointRules entries from 344 service customization.config files and all test configs

Service/architecture cleanup (PR #7270):

  • STS: Migrated endpoints.internal.Arn → endpoints.internal.RuleArn in StsGetFederationTokenCredentialsProvider and StsAuthUtils
  • S3: Deleted S3EndpointAuthSchemeStrategyFactory; trimmed KnownS3ExpressEndpointProperty to just the BACKEND constant
  • Architecture test: Removed obsolete suppression entries in NamingConventionWithSuppressionTest
  • Deleted 11 legacy rule engine test files in codegen-generated-classes-test

Testing

  • All existing tests pass
  • Triggered dry run build to live with the changes.

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

…and delete legacy runtime resources (#7269)

* Remove old interpreted endpoint rules path, merge rules2 into rules, and delete legacy runtime resources

* Minor cleanup
…actory, and delete old rule engine tests (#7270)

* Migrate STS from Arn to RuleArn, remove S3EndpointAuthSchemeStrategyFactory, and delete old rule engine tests

* Remove unused supplier naming suppression
@S-Saranya1
S-Saranya1 requested a review from a team as a code owner August 19, 2026 16:57
@S-Saranya1 S-Saranya1 added the no-api-surface-area-change Indicate there is no API surface area change and thus API surface area review is not required label Aug 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-api-surface-area-change Indicate there is no API surface area change and thus API surface area review is not required

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants