AxisAppProps
Defined in: packages/stacks/src/composer/define-axis-app.ts:109
Type Parameters
Section titled “Type Parameters”T extends BaseEnvConfig
Properties
Section titled “Properties”
optionalapi?:object
Defined in: packages/stacks/src/composer/define-axis-app.ts:139
Structural union — the active branch is selected by selections.api.kind
and the validator enforces the branch’s required members with [Axis]
throws. Props for unselected stacks are ignored (warning-free no-op).
apiConfigs?
Section titled “apiConfigs?”
optionalapiConfigs?:AppSyncApiConfig[]
corsAllowedOrigins?
Section titled “corsAllowedOrigins?”
optionalcorsAllowedOrigins?:string[]
Default envConfig.corsAllowedOrigins ?? [].
domain?
Section titled “domain?”
optionaldomain?:HttpApiDomainConfig
http-v2 only.
lambdaAuthorizer?
Section titled “lambdaAuthorizer?”
optionallambdaAuthorizer?:AtfLambdaAuthorizerConfig
REST v1 / HTTP v2 — the shared Lambda (REQUEST) authorizer for
authorizer:"custom" (REST) / "lambda" (v2) routes. Ratified composer
passthrough (3M7): ApiStackProps/HttpApiStackProps already carry it;
this surfaces it on the composer prop so a Custom route synths.
lambdaConfigs?
Section titled “lambdaConfigs?”
optionallambdaConfigs?:ApiLambdaConfig[] |HttpApiLambdaConfig[]
projectRoot
Section titled “projectRoot”projectRoot:
string
registryResources?
Section titled “registryResources?”
optionalregistryResources?:Omit<BuildRegistryProps,"stage">
Default {}.
optionalauth?:object
Defined in: packages/stacks/src/composer/define-axis-app.ts:130
projectRoot?
Section titled “projectRoot?”
optionalprojectRoot?:string
Default process.cwd().
triggerConfigs?
Section titled “triggerConfigs?”
optionaltriggerConfigs?:CognitoTriggerConfig[]
Default [].
budget?
Section titled “budget?”
optionalbudget?:object
Defined in: packages/stacks/src/composer/define-axis-app.ts:176
budgets
Section titled “budgets”budgets:
BudgetConfig[]
dedicatedTopic?
Section titled “dedicatedTopic?”
optionaldedicatedTopic?:boolean
Default false.
reuseTopicArnSsmParam?
Section titled “reuseTopicArnSsmParam?”
optionalreuseTopicArnSsmParam?:string
Default “observability/alertTopicArn”.
data:
object
Defined in: packages/stacks/src/composer/define-axis-app.ts:120
buckets?
Section titled “buckets?”
optionalbuckets?:S3BucketConfig[]
eventBridge?
Section titled “eventBridge?”
optionaleventBridge?:object
eventBridge.buses?
Section titled “eventBridge.buses?”
optionalbuses?:EventBusConfig[]
eventBridge.rules
Section titled “eventBridge.rules”rules:
EventBridgeRuleConfig[]
optionalkeys?:KmsKeyConfig[]
queues?
Section titled “queues?”
optionalqueues?:SqsQueueConfig[]
secrets?
Section titled “secrets?”
optionalsecrets?:SecretConfig[]
tables
Section titled “tables”tables:
DynamoTableConfig[]
Always required — the data layer is load-bearing.
topics?
Section titled “topics?”
optionaltopics?:SnsTopicConfig[]
optionalenv?:Environment
Defined in: packages/stacks/src/composer/define-axis-app.ts:118
Default: CDK_DEFAULT_ACCOUNT / CDK_DEFAULT_REGION ?? envConfig.region — exactly the incumbent template expression.
envConfig
Section titled “envConfig”envConfig:
T
Defined in: packages/stacks/src/composer/define-axis-app.ts:113
Resolved by the PROJECT-OWNED loader; the composer never reads disk for it.
envName
Section titled “envName”envName:
string
Defined in: packages/stacks/src/composer/define-axis-app.ts:111
“dev” | “prod” | … — feeds the frozen ${appName}-<role>-${envName} stackNames.
observability?
Section titled “observability?”
optionalobservability?:object
Defined in: packages/stacks/src/composer/define-axis-app.ts:165
apiNames?
Section titled “apiNames?”
optionalapiNames?:string[]
appsyncApiNames?
Section titled “appsyncApiNames?”
optionalappsyncApiNames?:string[]
config
Section titled “config”config:
ObservabilityConfig
httpApiNames?
Section titled “httpApiNames?”
optionalhttpApiNames?:string[]
lambdaConfigs
Section titled “lambdaConfigs”lambdaConfigs:
BaseLambdaConfig[]
projectRoot
Section titled “projectRoot”projectRoot:
string
sesIdentityBaseNames?
Section titled “sesIdentityBaseNames?”
optionalsesIdentityBaseNames?:string[]
sqsBaseNames?
Section titled “sqsBaseNames?”
optionalsqsBaseNames?:string[]
wafBaseNames?
Section titled “wafBaseNames?”
optionalwafBaseNames?:string[]
overrides?
Section titled “overrides?”
optionaloverrides?:AxisAppOverrides<T>
Defined in: packages/stacks/src/composer/define-axis-app.ts:191
security?
Section titled “security?”
optionalsecurity?:object
Defined in: packages/stacks/src/composer/define-axis-app.ts:157
apiWebAclBaseName?
Section titled “apiWebAclBaseName?”
optionalapiWebAclBaseName?:string
Which WebACL baseName protects the selected API.
associateAppsyncBaseName?
Section titled “associateAppsyncBaseName?”
optionalassociateAppsyncBaseName?:string
graphql only; default: first apiConfigs entry’s baseName.
identities?
Section titled “identities?”
optionalidentities?:SesIdentityConfig[]
webAcls?
Section titled “webAcls?”
optionalwebAcls?:WafConfig[]
selections
Section titled “selections”selections:
AxisSelections
Defined in: packages/stacks/src/composer/define-axis-app.ts:115
§5 — from axis.json via resolveJsonModule; validated at synth, [Axis] throws.
worker?
Section titled “worker?”
optionalworker?:object
Defined in: packages/stacks/src/composer/define-axis-app.ts:185
W1 — standalone worker + cron Lambdas (owned by WorkerStack). Required when selections.worker is “axis”.
configs
Section titled “configs”configs: (
WorkerLambdaConfig|CronLambdaConfig)[]
projectRoot
Section titled “projectRoot”projectRoot:
string
registryResources?
Section titled “registryResources?”
optionalregistryResources?:Omit<BuildRegistryProps,"stage">
Default {}. Registry handles so worker env {{token}} refs resolve.
© 2026 Axis Tech. Powered by axis-tech.co.