Merge pull request #185 from Sea-Haven-Industries/fix/codify-dynamodb-pitr-deletion-protection

fix(terraform): codify dynamodb pitr and deletion protection (PLAT-49)
This commit is contained in:
Adam Moussa 2026-08-14 14:08:39 -04:00 • committed by GitHub
commit 1ad088fed2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 30 additions and 0 deletions

View file

@ -3,6 +3,8 @@ resource "aws_dynamodb_table" "purchase_orders" {
billing_mode = "PAY_PER_REQUEST" billing_mode = "PAY_PER_REQUEST"
hash_key = "po_number" hash_key = "po_number"
deletion_protection_enabled = true
attribute { attribute {
name = "po_number" name = "po_number"
type = "S" type = "S"
@ -16,6 +18,10 @@ resource "aws_dynamodb_table" "purchase_orders" {
kms_key_arn = data.aws_ssm_parameter.dynamodb_cmk_arn.value kms_key_arn = data.aws_ssm_parameter.dynamodb_cmk_arn.value
} }
point_in_time_recovery {
enabled = true
}
lifecycle { lifecycle {
prevent_destroy = true prevent_destroy = true
} }
@ -26,11 +32,17 @@ resource "aws_dynamodb_table" "verified_sites" {
billing_mode = "PAY_PER_REQUEST" billing_mode = "PAY_PER_REQUEST"
hash_key = "siteCode" hash_key = "siteCode"
deletion_protection_enabled = true
attribute { attribute {
name = "siteCode" name = "siteCode"
type = "S" type = "S"
} }
point_in_time_recovery {
enabled = true
}
lifecycle { lifecycle {
prevent_destroy = true prevent_destroy = true
} }
@ -41,11 +53,17 @@ resource "aws_dynamodb_table" "pending_site_review" {
billing_mode = "PAY_PER_REQUEST" billing_mode = "PAY_PER_REQUEST"
hash_key = "po_number" hash_key = "po_number"
deletion_protection_enabled = true
attribute { attribute {
name = "po_number" name = "po_number"
type = "S" type = "S"
} }
point_in_time_recovery {
enabled = true
}
lifecycle { lifecycle {
prevent_destroy = true prevent_destroy = true
} }

View file

@ -5,6 +5,8 @@ resource "aws_dynamodb_table" "work_orders_kebab" {
billing_mode = "PAY_PER_REQUEST" billing_mode = "PAY_PER_REQUEST"
hash_key = "work_order_id" hash_key = "work_order_id"
deletion_protection_enabled = true
attribute { attribute {
name = "work_order_id" name = "work_order_id"
type = "S" type = "S"
@ -13,6 +15,10 @@ resource "aws_dynamodb_table" "work_orders_kebab" {
stream_enabled = true stream_enabled = true
stream_view_type = "NEW_AND_OLD_IMAGES" stream_view_type = "NEW_AND_OLD_IMAGES"
point_in_time_recovery {
enabled = true
}
lifecycle { lifecycle {
prevent_destroy = true prevent_destroy = true
} }
@ -24,6 +30,8 @@ resource "aws_dynamodb_table" "work_order_comments_kebab" {
hash_key = "work_order_id" hash_key = "work_order_id"
range_key = "comment_id" range_key = "comment_id"
deletion_protection_enabled = true
attribute { attribute {
name = "work_order_id" name = "work_order_id"
type = "S" type = "S"
@ -37,6 +45,10 @@ resource "aws_dynamodb_table" "work_order_comments_kebab" {
stream_enabled = true stream_enabled = true
stream_view_type = "NEW_AND_OLD_IMAGES" stream_view_type = "NEW_AND_OLD_IMAGES"
point_in_time_recovery {
enabled = true
}
lifecycle { lifecycle {
prevent_destroy = true prevent_destroy = true
} }