Data refresh¶
Three committed snapshots feed the tool. All have scripts; none is fetched at runtime (except explicit --refresh).
| Data | Command | Source | Notes |
|---|---|---|---|
| Icons | npm run icons:fetch |
AWS Architecture Icons package | Not committed. Update the URL for a new release. |
| Prices | npm run prices:fetch |
Public AWS Price List bulk files | data/prices/<region>.json, on-demand only, filtered per service |
| Well-Architected corpus | npm run wa:corpus or archify-aws wa corpus --refresh |
Live documentation TOC index | data/wa/*.json; validation gate before saving |
| draw.io shapes | npm run drawio:map |
jgraph/drawio Sidebar-AWS4.js |
data/drawio/aws4.json |
| Schemas | npm run schemas |
the code's own enums | no network; a test fails when stale |
Prices¶
node scripts/fetch-prices.mjs # us-east-1, all configured services
node scripts/fetch-prices.mjs --services AWSLambda,AmazonS3
node scripts/fetch-prices.mjs --region eu-west-1 # new region
node scripts/fetch-prices.mjs --skip-large # skip EC2 (459 MB)
Files are https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/<code>/current/<region>/index.json. Small files are parsed normally; EC2 goes through scanLarge, a streaming byte-level scanner. The SERVICES map in the script holds one narrow predicate per service (for example EC2: Linux, shared tenancy, NAT and gp3 only) to keep the snapshot near 2.7 MB. A new dimension means widening that predicate and re-running.
After a refresh:
npm test— cost tests read rates from the book, so they follow the new numbers.- Re-render the examples and compare the totals; large jumps deserve a look at the line items.
- Commit the data file together with regenerated examples.
Remember the provenance shown in the Cost tab: each service's publication date and the retrieval date.
Well-Architected corpus¶
A refresh fails (and saves nothing) if validateCorpus reports errors. If the AWS documentation changes shape, fix parseToc generally (no hard-coded pillars), not by patching data. Then run the tests: the rule-id test reports any evidence rule whose BP id disappeared.
draw.io shapes¶
npm run drawio:map # download Sidebar-AWS4.js
node scripts/build-drawio-map.mjs ./Sidebar-AWS4.js # or use a local copy
Check the count printed (about 890 shapes, 329 resourceIcon) and run the draw.io tests.
Release checklist¶
npm run icons:fetch && npm test- Refresh data if needed (above), re-render examples, look at the PNGs.
- Update
package.jsonversion andTHIRD_PARTY_NOTICES.md(icon release, new sources). - Merge to
main; the docs workflow publishes the site.