Add Your Own Stack
When you need a construct beyond the framework’s surface, you don’t wait for a framework release — you add a sibling stack in raw CDK and compose it alongside the Axis stacks. The framework never blocks this.
The pattern
Section titled “The pattern”import * as cdk from "aws-cdk-lib";import { Construct } from "constructs";
export class MyCustomStack extends cdk.Stack { constructor(scope: Construct, id: string, props: cdk.StackProps) { super(scope, id, props); // …raw CDK constructs here… }}Then compose it in cdk/bin/app.ts next to the Axis stacks.
Wire it through SSM
Section titled “Wire it through SSM”Cross-stack references go through SSM Parameter Store, never CloudFormation exports — that’s the framework convention, and following it keeps your stack decoupled from the Axis stacks’ lifecycles. The framework’s BaseStack.params is the helper Axis stacks use; in your own cdk.Stack you read/write SSM directly (or extend BaseStack to inherit the registry).
When to reach for this
Section titled “When to reach for this”- A resource type Axis doesn’t model as a first-class construct.
- A CMK-encrypted table or a rule → Lambda target (the two tracked
DataStackgaps). - Any bespoke wiring you want kept out of the framework surface.
Where to go next
Section titled “Where to go next”- Extend an Abstract Stack when a framework subclass would do.
- Custom Mode in the Composer to substitute a whole stack in a composer app.
© 2026 Axis Tech. Powered by axis-tech.co.