AxisDataSelections
Defined in: packages/stacks/src/composer/selections.ts:27
@axis-tech-co/axis-stacks — composer/selections.ts
Phase 3L1 — the selections contract (design §5). Exports:
- AxisSelections — compile-time face of the axis.json
selectionsblock - AxisResolvedSelections — post-context-overlay selections (same shape, frozen)
- resolveSelections — shape/enum/unknown-key/reserved-
apisvalidation (§5.2) + thefeature.<name>context overlay (§5.4)
Pure TypeScript — no CDK imports. The composer (define-axis-app.ts) calls
resolveSelections at the top of defineAxisApp with the app’s context getter;
tests call it directly with a plain map-backed getter. All failures throw
[Axis]-prefixed errors at synth time.
D4: apis is a RESERVED sibling key — v1 rejects it with a versioned message
(code, not documentation), so the future multi-API minor lands without a
compile break and old readers fail loudly, never silently.
D13: context maps to on/off ONLY. "custom" is unreachable via context —
substitution is project state, not a synth experiment. A context key
targeting a stack whose mode is "custom" throws; a kind-mismatched API
key throws naming the project’s kind.
Properties
Section titled “Properties”dynamo
Section titled “dynamo”dynamo:
boolean
Defined in: packages/stacks/src/composer/selections.ts:32
DynamoDB tables family toggle — distinct from DataStack existence (3M6).
eventBridge
Section titled “eventBridge”eventBridge:
boolean
Defined in: packages/stacks/src/composer/selections.ts:38
kms:
boolean
Defined in: packages/stacks/src/composer/selections.ts:33
mode:
"custom"|"axis"|"off"
Defined in: packages/stacks/src/composer/selections.ts:30
Tri-state (3M6): “off” ⇒ no DataStack — legal only when every data toggle (incl. dynamo) is false.
s3:
boolean
Defined in: packages/stacks/src/composer/selections.ts:34
secrets
Section titled “secrets”secrets:
boolean
Defined in: packages/stacks/src/composer/selections.ts:37
sns:
boolean
Defined in: packages/stacks/src/composer/selections.ts:36
sqs:
boolean
Defined in: packages/stacks/src/composer/selections.ts:35
© 2026 Axis Tech. Powered by axis-tech.co.