Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{
"assembly": {
"duplex": true,
"envelopeId": "economy-c5",
"features": [
"ADMAIL"
],
"paper": {
"colour": "WHITE",
"id": "paper-std-white-80",
"name": "Standard White 80gsm",
"recycled": true,
"size": "A4",
"weightGSM": 80
},
"printColour": "COLOUR"
},
"billingId": "insert-admail-colour",
"constraints": {
"blackCoveragePercentage": {
"operator": "LESS_THAN",
"value": 20
},
"colourCoveragePercentage": {
"operator": "LESS_THAN",
"value": 10
},
"deliveryDays": {
"operator": "LESS_THAN",
"value": 2
},
"sheets": {
"operator": "LESS_THAN",
"value": 5
},
"sides": {
"operator": "LESS_THAN",
"value": 10
}
},
"createdAt": "2026-01-12T00:00:00.000Z",
"description": "Admail economy tariff with whitemail envelope and colour printing",
"id": "notify-admail-colour-whitemail",
"name": "Admail (colour whitemail)",
"postage": {
"deliveryDays": 4,
"id": "admail-economy",
"maxThicknessMm": 5,
"maxWeightGrams": 100,
"size": "STANDARD"
},
"status": "PROD",
"updatedAt": "2026-01-12T00:00:00.000Z",
"version": 1
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"approval": "APPROVED",
"id": "supplier1-notify-admail-colour-whitemail",
"packSpecificationId": "notify-admail-colour-whitemail",
"status": "PROD",
"supplierId": "supplier1"
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,13 @@ resource "aws_api_gateway_base_path_mapping" "main" {
api_id = aws_api_gateway_rest_api.main.id
stage_name = aws_api_gateway_stage.main.stage_name
domain_name = aws_api_gateway_domain_name.main.domain_name

depends_on = [
aws_api_gateway_stage.main,
aws_api_gateway_domain_name.main
]

lifecycle {
replace_triggered_by = [aws_api_gateway_rest_api.main]
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ resource "aws_api_gateway_rest_api" "main" {
body = local.openapi_spec
description = "Suppliers API"
disable_execute_api_endpoint = var.disable_gateway_execute_endpoint

endpoint_configuration {
types = ["REGIONAL"]
}
lifecycle {
replace_triggered_by = [terraform_data.rest_api_security_policy]
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
locals {
rest_api_security_policy = "SecurityPolicy_TLS12_PFS_2025_EDGE"
rest_api_endpoint_access_mode = "STRICT"
# Endpoint type for the REST API
# Security policy is managed at the custom domain level (see api_gateway_domain.tf: security_policy = "TLS_1_2")
# STRICT endpoint access mode is not supported with REGIONAL endpoints
rest_api_endpoint_type = "REGIONAL"
}

resource "terraform_data" "rest_api_security_policy" {
input = {
security_policy = local.rest_api_security_policy
endpoint_access_mode = local.rest_api_endpoint_access_mode
endpoint_type = local.rest_api_endpoint_type
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -61,4 +61,8 @@ resource "aws_api_gateway_stage" "main" {
"status" : "$context.status"
})
}

lifecycle {
replace_triggered_by = [aws_api_gateway_rest_api.main]
}
}
2 changes: 0 additions & 2 deletions infrastructure/terraform/components/api/locals.tf
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ locals {
openapi_spec = templatefile("${path.module}/resources/spec.tmpl.json", {
APIG_EXECUTION_ROLE_ARN = aws_iam_role.api_gateway_execution_role.arn
AWS_REGION = var.region
SECURITY_POLICY = local.rest_api_security_policy
ENDPOINT_ACCESS_MODE = local.rest_api_endpoint_access_mode
AUTHORIZER_LAMBDA_ARN = module.authorizer_lambda.function_arn
GET_LETTER_LAMBDA_ARN = module.get_letter.function_arn
GET_LETTERS_LAMBDA_ARN = module.get_letters.function_arn
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -358,6 +358,9 @@
]
}
},
"x-amazon-apigateway-endpoint-access-mode": "${ENDPOINT_ACCESS_MODE}",
"x-amazon-apigateway-security-policy": "${SECURITY_POLICY}"
"x-amazon-apigateway-endpoint-configuration": {
"types": [
"REGIONAL"
]
}
}
Loading