You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(wafv2): decode the CFn-only SearchStringBase64 into the SDK SearchString
WAFv2WebACLProvider forwarded the Rules blob raw. SearchStringBase64 exists
only in CloudFormation -- the SDK model carries a single SearchString blob
member -- so the AWS SDK v3 serializer dropped the unknown key and CreateWebACL
failed validation on the missing required SearchString. A loud create failure
for every template using the base64 form.
ByteMatchStatement is nestable, so the conversion walks the whole statement
tree: NotStatement.Statement, And/OrStatement.Statements[], and the
ScopeDownStatement of both RateBasedStatement and ManagedRuleGroupStatement --
the complete set of nested-statement members the SDK Statement union declares.
The walk rebuilds every level, so the caller's properties object is never
mutated. Plain SearchString values are left untouched: the serializer accepts a
string at a blob member and encodes it, which is the existing working behavior.
PreParseTextTransformations, Monetize and PriceMultiplier have no member in the
installed SDK model, so no mapping exists to write -- the fix is an SDK bump,
after which the spellings already match. They cannot go in unhandledByDesign
either, which is top-level property granularity, and all three nest inside the
genuinely-handled Rules. Their drop is made loud with a warning naming them on
create and update instead of staying silent.
The wafv2 integ fixture now carries two SearchStringBase64 ByteMatchStatements
-- one under the rate-based rule's ScopeDownStatement, one under a NotStatement
-- so the deploy itself is the regression signal: pre-fix CreateWebACL rejects
the stack.
Closes#1389
vpc-lambda-cr-race 2026-07-24T11:03:24Z PASS 432 standard 0724b sweep staleness; 9 del 0 err 0 orphans incl hyperplane ENI
269
269
vpc-lookup 2026-07-24T10:55:09Z PASS 20 standard 0724b sweep staleness; context-provider loop ok; 1 del 0 err 0 orphans
270
270
vpc-nat-gateway 2026-07-22T08:08:02Z PASS standard TTL-refresh sweep; standard flow (classifier-approved direct deploy/destroy); 21 created / 21 deleted 0 err; NAT GW + VPC + EIP + ENI all gone, state gone
`WAFv2 WebACL ${logicalId}: rule property ${names} has no member in the installed AWS SDK WAFv2 model and will NOT be sent to AWS. Upgrade cdkd once its @aws-sdk/client-wafv2 dependency carries the property.`
519
+
);
520
+
}
521
+
351
522
/**
352
523
* Apply a diff between old and new CFn-shape Tags arrays via WAFv2's
353
524
* `TagResource` / `UntagResource` APIs (keyed by `ResourceARN`).
0 commit comments