feat(P02 W0): dynamodb L1 primitive — interface, terraform, registry, tests (REQ-322)
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---
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
# 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`.
|
||||
Reference in New Issue
Block a user