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---
67 lines
1.8 KiB
JSON
67 lines
1.8 KiB
JSON
{
|
|
"name": "dynamodb",
|
|
"version": "1.0.0",
|
|
"kind": "l1",
|
|
"type": "aws:dynamodb:table",
|
|
"description": "DynamoDB table primitive (engine-agnostic stack type aws:dynamodb:table; the Terraform adapter translates to aws_dynamodb_table). Encryption + PITR enabled per v1.8 NFR defaults.",
|
|
"inputs": {
|
|
"table_name": {
|
|
"type": "string",
|
|
"description": "Globally-unique DynamoDB table name.",
|
|
"required": true
|
|
},
|
|
"region": {
|
|
"type": "string",
|
|
"description": "AWS region the table is created in.",
|
|
"required": true
|
|
},
|
|
"pk": {
|
|
"type": "string",
|
|
"description": "Partition key attribute name.",
|
|
"required": true
|
|
},
|
|
"sk": {
|
|
"type": "string",
|
|
"description": "Sort key attribute name (optional).",
|
|
"required": false
|
|
},
|
|
"billing_mode": {
|
|
"type": "string",
|
|
"default": "PAY_PER_REQUEST",
|
|
"description": "Billing mode: PAY_PER_REQUEST or PROVISIONED."
|
|
},
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Feature flag: enable/disable this module."
|
|
}
|
|
},
|
|
"outputs": {
|
|
"table_arn": {
|
|
"type": "arn",
|
|
"description": "The DynamoDB table ARN."
|
|
},
|
|
"table_name": {
|
|
"type": "string",
|
|
"description": "The table name (echoes the input)."
|
|
}
|
|
},
|
|
"nfrs": {
|
|
"encryption_enabled": {
|
|
"type": "boolean",
|
|
"description": "Enable server-side encryption (KMS).",
|
|
"default": true
|
|
},
|
|
"point_in_time_recovery": {
|
|
"type": "boolean",
|
|
"description": "Enable point-in-time recovery.",
|
|
"default": true
|
|
},
|
|
"deletion_protection": {
|
|
"type": "boolean",
|
|
"description": "Prevent resource destruction via Terraform lifecycle prevent_destroy.",
|
|
"default": true
|
|
}
|
|
}
|
|
}
|