Class S3TreeRewriter
java.lang.Object
software.amazon.smithy.rulesengine.aws.s3.S3TreeRewriter
Rewrites S3 endpoint rules to create a dramatically smaller and more efficient BDD.
This is a BDD pre-processing transform that makes the decision tree larger but enables dramatically better BDD compilation. It solves the "SSA Trap" problem where semantically identical operations appear as syntactically different expressions.
This class composes three separate transforms:
S3AzCanonicalizerTransform- Canonicalizes AZ extraction:substring(Bucket, N, M)→split(Bucket, "--")[1]S3RegionUnifierTransform- Unifies region references:Region/bucketArn#region→_signing_region/_effective_regionS3ExpressEndpointTransform- Canonicalizes S3Express endpoints: FIPS/DualStack URL variants → ITE-computed segments
Each transform is independent and can be applied separately if needed.
-
Method Summary
Modifier and TypeMethodDescriptionstatic EndpointRuleSettransform(EndpointRuleSet ruleSet) Transforms the given endpoint rule set by applying all S3 canonicalization transforms.
-
Method Details
-
transform
Transforms the given endpoint rule set by applying all S3 canonicalization transforms.- Parameters:
ruleSet- Rules to transform.- Returns:
- the transformed rule set.
-