如何在 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
}