diff --git a/terraform/po_ddb.tf b/terraform/po_ddb.tf index 0091316..8807a64 100644 --- a/terraform/po_ddb.tf +++ b/terraform/po_ddb.tf @@ -3,6 +3,8 @@ resource "aws_dynamodb_table" "purchase_orders" { billing_mode = "PAY_PER_REQUEST" hash_key = "po_number" + deletion_protection_enabled = true + attribute { name = "po_number" type = "S" @@ -16,6 +18,10 @@ resource "aws_dynamodb_table" "purchase_orders" { kms_key_arn = data.aws_ssm_parameter.dynamodb_cmk_arn.value } + point_in_time_recovery { + enabled = true + } + lifecycle { prevent_destroy = true } @@ -26,11 +32,17 @@ resource "aws_dynamodb_table" "verified_sites" { billing_mode = "PAY_PER_REQUEST" hash_key = "siteCode" + deletion_protection_enabled = true + attribute { name = "siteCode" type = "S" } + point_in_time_recovery { + enabled = true + } + lifecycle { prevent_destroy = true } @@ -41,11 +53,17 @@ resource "aws_dynamodb_table" "pending_site_review" { billing_mode = "PAY_PER_REQUEST" hash_key = "po_number" + deletion_protection_enabled = true + attribute { name = "po_number" type = "S" } + point_in_time_recovery { + enabled = true + } + lifecycle { prevent_destroy = true } diff --git a/terraform/wo_ddb.tf b/terraform/wo_ddb.tf index 6626633..f9de155 100644 --- a/terraform/wo_ddb.tf +++ b/terraform/wo_ddb.tf @@ -5,6 +5,8 @@ resource "aws_dynamodb_table" "work_orders_kebab" { billing_mode = "PAY_PER_REQUEST" hash_key = "work_order_id" + deletion_protection_enabled = true + attribute { name = "work_order_id" type = "S" @@ -13,6 +15,10 @@ resource "aws_dynamodb_table" "work_orders_kebab" { stream_enabled = true stream_view_type = "NEW_AND_OLD_IMAGES" + point_in_time_recovery { + enabled = true + } + lifecycle { prevent_destroy = true } @@ -24,6 +30,8 @@ resource "aws_dynamodb_table" "work_order_comments_kebab" { hash_key = "work_order_id" range_key = "comment_id" + deletion_protection_enabled = true + attribute { name = "work_order_id" type = "S" @@ -37,6 +45,10 @@ resource "aws_dynamodb_table" "work_order_comments_kebab" { stream_enabled = true stream_view_type = "NEW_AND_OLD_IMAGES" + point_in_time_recovery { + enabled = true + } + lifecycle { prevent_destroy = true }