/** * Registry of breaking L1 CloudFormation schema changes shipped by aws-cdk-lib * releases. * * L1 resources are regenerated from public CloudFormation Resource Schemas on a * regular cadence; some regenerations remove or rename property/attribute names * that cdk-insights rules read directly off the synthesized template. This * registry feeds the `schemaDrift` template-level check so users can be alerted * when a rule's coverage may have silently degraded against their current CDK * version. */ export type SchemaChange = { /** Fully-qualified CloudFormation resource type, e.g. `AWS::S3::Bucket`. */ resourceType: string; /** * Names of CFN-level *properties* (read from `Resources.X.Properties`) that * were removed or made unavailable. Only entries here drive findings — rules * read properties off the synthesized template, so a property removal is the * direct signal of potential coverage loss. */ removedProperties?: string[]; /** * Properties that were renamed. Findings cite both names so the user can * search the rule code for the old key. */ renamedProperties?: { from: string; to: string; }[]; /** * Properties newly added in this release. Treated as a coverage *hint*, not * a regression: the `coverage-gap` finding kind only fires when the * `resourceType` is already targeted by at least one existing rule, so users * are not nagged about resources they don't analyse. Use this to capture * additions that look security-, cost-, reliability-, or compliance-relevant * and may warrant a new rule. Exhaustive coverage is explicitly not the goal. */ addedProperties?: string[]; /** * Names of GetAtt return attributes that were removed. Recorded for * completeness, but does not drive findings on its own — rules don't read * GetAtt attributes off the template. */ removedAttributes?: string[]; /** * Names of jsii TypeScript schema types that were removed (authoring-time * concept, not present in synthesized CFN). Recorded for completeness only. */ removedTypes?: string[]; /** Link to the release notes documenting the change. */ releaseUrl: string; /** Free-form human-readable note. */ notes?: string; }; /** * Map of aws-cdk-lib version → schema changes introduced in that release. * * Adding an entry: include the release tag link. Populate `removedProperties` / * `renamedProperties` for regressions that may have invalidated rule coverage, * and `addedProperties` for newly-introduced properties that look worth a new * rule (security, cost, reliability, compliance). Attributes/types are * recorded for traceability but stay silent. */ export declare const CDK_L1_SCHEMA_CHANGES: Record;