如何在 terraform 中使用 aws_ssm_parameter 在 'values' 参数中输入字典结构?
How to input the dictionary structure in 'values' argument using the aws_ssm_parameter in terraform?
我在 AWS System Manager 中有一个参数,值的类型是字符串,但值具有字典结构:
值:
{"key1": "value1","key2": "value2","key3": "value3"}
现在我正在尝试使用 Terraform 创建此参数。但是当我尝试在 aws_ssm_parameter 资源:
中写入时,我收到了一个错误
resource "aws_ssm_parameter" "Paramet" {
name = "/dev/parameter/new"
description = "Sample config values"
type = "String"
value = "{key1" : "value1", "key2" : "value2", "key3" : "value3}"
}
错误:
$ terraform plan
Error: Missing newline after argument
on main.tf line 90, in resource "aws_ssm_parameter" "Paramet": 90:
value = "{key1" : "value1", "key2" : "value2", "key3" : "value3}"
An argument definition must end with a newline.
此错误与语法有关,但我不明白如何正确解决此问题。
请指教,如何在aws_ssm_parameter资源中正确输入这个值?
您可以使用 heredoc 语法来实现这一点。以下应该适合你
resource "aws_ssm_parameter" "Parameter" {
name = "/dev/parameter/new"
description = "Sample config values"
type = "String"
value = <<EOF
{
"key1" : "value1",
"key2" : "value2",
"key3" : "value3"
}
EOF
}
我在 AWS System Manager 中有一个参数,值的类型是字符串,但值具有字典结构:
值:
{"key1": "value1","key2": "value2","key3": "value3"}
现在我正在尝试使用 Terraform 创建此参数。但是当我尝试在 aws_ssm_parameter 资源:
中写入时,我收到了一个错误resource "aws_ssm_parameter" "Paramet" {
name = "/dev/parameter/new"
description = "Sample config values"
type = "String"
value = "{key1" : "value1", "key2" : "value2", "key3" : "value3}"
}
错误:
$ terraform plan
Error: Missing newline after argument
on main.tf line 90, in resource "aws_ssm_parameter" "Paramet": 90: value = "{key1" : "value1", "key2" : "value2", "key3" : "value3}"
An argument definition must end with a newline.
此错误与语法有关,但我不明白如何正确解决此问题。
请指教,如何在aws_ssm_parameter资源中正确输入这个值?
您可以使用 heredoc 语法来实现这一点。以下应该适合你
resource "aws_ssm_parameter" "Parameter" {
name = "/dev/parameter/new"
description = "Sample config values"
type = "String"
value = <<EOF
{
"key1" : "value1",
"key2" : "value2",
"key3" : "value3"
}
EOF
}