Skip to content

Commit 5b54d05

Browse files
authored
feat: Add support for response_parameters in integrations (#58)
1 parent 5871093 commit 5b54d05

File tree

6 files changed

+48
-9
lines changed

6 files changed

+48
-9
lines changed

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -94,13 +94,13 @@ module "api_gateway" {
9494
| Name | Version |
9595
|------|---------|
9696
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 0.13.1 |
97-
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 3.3.0 |
97+
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 3.24.0 |
9898

9999
## Providers
100100

101101
| Name | Version |
102102
|------|---------|
103-
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 3.3.0 |
103+
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 3.24.0 |
104104

105105
## Modules
106106

examples/complete-http/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Note that this example may create resources which cost money. Run `terraform des
2121
| Name | Version |
2222
|------|---------|
2323
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 0.13.1 |
24-
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 2.59 |
24+
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 3.24.0 |
2525
| <a name="requirement_null"></a> [null](#requirement\_null) | >= 2.0 |
2626
| <a name="requirement_random"></a> [random](#requirement\_random) | >= 2.0 |
2727
| <a name="requirement_tls"></a> [tls](#requirement\_tls) | >= 3.1 |
@@ -30,7 +30,7 @@ Note that this example may create resources which cost money. Run `terraform des
3030

3131
| Name | Version |
3232
|------|---------|
33-
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 2.59 |
33+
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 3.24.0 |
3434
| <a name="provider_null"></a> [null](#provider\_null) | >= 2.0 |
3535
| <a name="provider_random"></a> [random](#provider\_random) | >= 2.0 |
3636
| <a name="provider_tls"></a> [tls](#provider\_tls) | >= 3.1 |

examples/complete-http/main.tf

+16
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,22 @@ module "api_gateway" {
8484
tls_config = jsonencode({
8585
server_name_to_verify = local.domain_name
8686
})
87+
88+
response_parameters = jsonencode([
89+
{
90+
status_code = 500
91+
mappings = {
92+
"append:header.header1" = "$context.requestId"
93+
"overwrite:statuscode" = "403"
94+
}
95+
},
96+
{
97+
status_code = 404
98+
mappings = {
99+
"append:header.error" = "$stageVariables.environmentId"
100+
}
101+
}
102+
])
87103
}
88104

89105
}

examples/complete-http/versions.tf

+16-4
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,21 @@ terraform {
22
required_version = ">= 0.13.1"
33

44
required_providers {
5-
aws = ">= 2.59"
6-
random = ">= 2.0"
7-
null = ">= 2.0"
8-
tls = ">= 3.1"
5+
aws = {
6+
source = "hashicorp/aws"
7+
version = ">= 3.24.0"
8+
}
9+
random = {
10+
source = "hashicorp/random"
11+
version = ">= 2.0"
12+
}
13+
null = {
14+
source = "hashicorp/null"
15+
version = ">= 2.0"
16+
}
17+
tls = {
18+
source = "hashicorp/tls"
19+
version = ">= 3.1"
20+
}
921
}
1022
}

main.tf

+8
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,14 @@ resource "aws_apigatewayv2_integration" "this" {
162162
}
163163
}
164164

165+
dynamic "response_parameters" {
166+
for_each = flatten([try(jsondecode(each.value["response_parameters"]), each.value["response_parameters"], [])])
167+
content {
168+
status_code = response_parameters.value["status_code"]
169+
mappings = response_parameters.value["mappings"]
170+
}
171+
}
172+
165173
lifecycle {
166174
create_before_destroy = true
167175
}

versions.tf

+4-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ terraform {
22
required_version = ">= 0.13.1"
33

44
required_providers {
5-
aws = ">= 3.3.0"
5+
aws = {
6+
source = "hashicorp/aws"
7+
version = ">= 3.24.0"
8+
}
69
}
710
}

0 commit comments

Comments
 (0)