9f94103c57
New L1 module modules/l1/dynamodb/ (stack type aws:dynamodb:table). Terraform aws_dynamodb_table with PK + optional SK, PAY_PER_REQUEST default, SSE-KMS + PITR + prevent_destroy per v1.8 NFR defaults. Registry entry (kind l1), catalog row, test_adapter.py updated to 15 entries / 13 L1. 45 tests passing. ---ci--- project: acdl phase: 2 milestone: v1.26 status: execute phase_role: execution wave: 0 requirements: [REQ-322] ---/ci---
39 lines
1.1 KiB
Markdown
39 lines
1.1 KiB
Markdown
# 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`.
|