# DynamoDB L1 Primitive > Stack type: `aws:dynamodb:table` → Terraform `aws_dynamodb_table` ## Description A DynamoDB table primitive with encryption + point-in-time recovery enabled by default (per v1.8 NFR defaults). Supports a partition key (required) + optional sort key. Default billing mode is `PAY_PER_REQUEST` (on-demand). ## Inputs | Name | Type | Required | Default | Description | |---|---|---|---|---| | `table_name` | string | yes | — | Globally-unique table name | | `region` | string | yes | — | AWS region | | `pk` | string | yes | — | Partition key attribute name | | `sk` | string | no | `""` | Sort key attribute name | | `billing_mode` | string | no | `PAY_PER_REQUEST` | Billing mode | | `enabled` | boolean | no | `true` | Feature flag | ## Outputs | Name | Type | Description | |---|---|---| | `table_arn` | arn | The table ARN | | `table_name` | string | The table name | ## NFRs - **Encryption:** SSE-KMS enabled by default. - **Point-in-time recovery:** Enabled by default. - **Deletion protection:** `prevent_destroy = true` (Terraform lifecycle). ## Examples See `examples/simple.yaml`.