DynamoTableConfig
Defined in: packages/core/src/config/types.ts:363
Config shape for declaring a DynamoDB table.
Extends CDK TableProps so every CDK table option is available directly. Axis controls: constructId, baseName, partitionKey, sortKey, removalPolicy, tableName. Everything else (contributorInsights, tableClass, importSource, etc.) passes through to CDK.
Example with CDK passthrough: export const myTable: DynamoTableConfig = { constructId: “MyTable”, baseName: “my-table”, partitionKey: { name: “pk”, type: “S” }, // ── CDK TableProps — all available ──── tableClass: TableClass.STANDARD_INFREQUENT_ACCESS, contributorInsightsEnabled: true, encryption: TableEncryption.AWS_MANAGED, };
Indexable
Section titled “Indexable”[
cdkProp:string]:unknown
Any additional CDK TableProps not covered by Axis shorthand. These pass through directly to the CDK Table construct.
Note: tableName, partitionKey, sortKey, removalPolicy are Axis-controlled and cannot be overridden here.
Properties
Section titled “Properties”baseName
Section titled “baseName”baseName:
string
Defined in: packages/core/src/config/types.ts:373
Physical table name = ${baseName}-${stageName}
billingMode?
Section titled “billingMode?”
optionalbillingMode?:"PAY_PER_REQUEST"|"PROVISIONED"
Defined in: packages/core/src/config/types.ts:379
constructId
Section titled “constructId”constructId:
string
Defined in: packages/core/src/config/types.ts:368
CloudFormation logical ID — MUST be stable once deployed in prod. Changing this will cause table replacement!
optionalgsis?:DynamoGsiSpec[]
Defined in: packages/core/src/config/types.ts:382
partitionKey
Section titled “partitionKey”partitionKey:
object
Defined in: packages/core/src/config/types.ts:375
name:
string
type:
"S"|"N"|"B"
pointInTimeRecovery?
Section titled “pointInTimeRecovery?”
optionalpointInTimeRecovery?:boolean
Defined in: packages/core/src/config/types.ts:385
Point-in-time recovery — defaults to true in prod
registryKey?
Section titled “registryKey?”
optionalregistryKey?:string
Defined in: packages/core/src/config/types.ts:391
Phase 3M9 — composer registry logical key (e.g. “main”). Read by defineAxisApp’s deriveRegistryPlan; pure metadata, never a CFN property.
sortKey?
Section titled “sortKey?”
optionalsortKey?:object
Defined in: packages/core/src/config/types.ts:376
name:
string
type:
"S"|"N"|"B"
streamViewType?
Section titled “streamViewType?”
optionalstreamViewType?:"KEYS_ONLY"|"NEW_IMAGE"|"OLD_IMAGE"|"NEW_AND_OLD_IMAGES"
Defined in: packages/core/src/config/types.ts:381
ttlAttribute?
Section titled “ttlAttribute?”
optionalttlAttribute?:string
Defined in: packages/core/src/config/types.ts:380
© 2026 Axis Tech. Powered by axis-tech.co.