{
  "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
    }
  }
}
