I have the following:
variable "list" {
type = list(string)
default = ["value_1", "value_2", "value_3", "value_4"]
}
I need to build a ‘task-definitions’ with the following part:
...
"environment": [
{
"name": "TERM",
"value": "xterm"
},
{
"name": "PROJECT",
"value": "project"
},
{
"name": "ENVNAME",
"value": "${env_name}"
},
...
{
"name": "VARIABLE_1",
"value": "value_1"
},
{
"name": "VARIABLE_2",
"value": "value_2"
},
{
"name": "VARIABLE_3",
"value": "value_3"
},
{
"name": "VARIABLE_4",
"value": "value_4"
},
...
How to achieve it?
I tried the following:
locals {
task_def_doc = jsonencode(
[
{
environment = [
{
name = "TERM",
value = "xterm"
},
{
name = "PROJECT",
value = "project"
},
{
name = "ENVNAME",
value = "dev"
},
...
{
for i in var.list :
name = "VARIABLE_"
value = i
},
...
}
but it gives me an error:
Error: Invalid 'for' expression
on locals.tf line 55, in locals:
53: {
54: for i in var.list :
55: name = "VARIABLE_"
56: value = i
57: },
Key expression is required when building an object.
Error: Invalid 'for' expression
on locals.tf line 55, in locals:
53: {
54: for i in var.list :
55: name = "VARIABLE_"
Extra characters after the end of the 'for' expression.