fix(infra): hash live API GW attrs for redeploy triggers

This commit is contained in:
Adam Moussa 2026-08-06 20:13:06 -04:00
parent 21e939e8e1
commit 6ac10f125e
No known key found for this signature in database

View file

@ -269,13 +269,27 @@ resource "aws_lambda_permission" "api_gateway" {
resource "aws_api_gateway_deployment" "procurement" {
rest_api_id = aws_api_gateway_rest_api.procurement.id
# Hash live method/integration/resource attributes (not just static locals)
# so path, auth, or proxy URI edits force a new stage deployment.
triggers = {
redeployment = sha1(jsonencode({
resources = local.api_resources
iam = local.api_iam_methods
none = local.api_none_methods
policy = local.api_policy
lambda_hash = data.archive_file.lambda["procurement_api"].output_base64sha256
resources = {
work_orders = aws_api_gateway_resource.work_orders
work_order_id = aws_api_gateway_resource.work_order_id
work_order_comments = aws_api_gateway_resource.work_order_comments
purchase_orders = aws_api_gateway_resource.purchase_orders
po_number = aws_api_gateway_resource.po_number
verified_sites = aws_api_gateway_resource.verified_sites
site_code = aws_api_gateway_resource.site_code
docs = aws_api_gateway_resource.docs
openapi_json = aws_api_gateway_resource.openapi_json
}
methods_iam = aws_api_gateway_method.iam
methods_none = aws_api_gateway_method.none
integrations_iam = aws_api_gateway_integration.iam
integrations_none = aws_api_gateway_integration.none
policy = local.api_policy
lambda_hash = data.archive_file.lambda["procurement_api"].output_base64sha256
}))
}