Terraform 如何遍历地图以创建资源

Terraform 如何遍历地图以创建资源,terraform,terraform0.12+,Terraform,Terraform0.12+,我正在使用Terraform v0.14.10 我希望根据部署图以动态方式创建一些资源 从这样的本地vars输出 + server_module_outputs = { + list_env_groups = [ + { + "grp1" = { + envs = [ + "stg-a1",

我正在使用Terraform v0.14.10 我希望根据部署图以动态方式创建一些资源

从这样的本地vars输出

+ server_module_outputs = {
      + list_env_groups = [
          + {
              + "grp1" = {
                  + envs = [
                      + "stg-a1",
                      + "stg-b1",
                    ]
                  + host = [
                      + "example.co.uk",
                    ]
                }
              + "grp2" = {
                  + envs = [
                      + "stg-e1",
                      + "stg-f1",
                    ]
                  + host = [
                      + "example.co.uk",
                    ]
                }
            },
          + {
              + "grp1" = {
                  + envs = [
                      + "stg-a2",
                      + "stg-b2",
                    ]
                  + host = [
                      + "example.com",
                    ]
                }
            },
        ]
      + list_envs       = [
          + "stg-a1",
          + "stg-b1",
          + "stg-e1",
          + "stg-f1",
          + "stg-a2",
          + "stg-b2",
        ]
      + list_zones      = [
          + "eu-west2-c",
          + "us-east1-a",
        ]
    }
resource "google_apigee_environment" "apigee" {
  for_each =  local.list_env_groups (don't know what to put here)
  name         = each.value // would like to pass grp1 or grp2

  provisioner "local-exec" {
    when    = create
    command = <<EOF
curl -i -H "Authorization: Bearer ${data.google_client_config.current.access_token}"\
  "https://apigee.googleapis.com/v1/envgroups/***${respective_group}***/attachments" \
  -X POST -H "content-type:application/json" \
  -d '{"environment":"****current_environment****"}'
EOF
  }
  
}
我想创建类似这样的环境(stg-a1、stg-b1…),并使用本地exec基于列表环境组列表链接到相应的组(grp1、grp2),类似这样

+ server_module_outputs = {
      + list_env_groups = [
          + {
              + "grp1" = {
                  + envs = [
                      + "stg-a1",
                      + "stg-b1",
                    ]
                  + host = [
                      + "example.co.uk",
                    ]
                }
              + "grp2" = {
                  + envs = [
                      + "stg-e1",
                      + "stg-f1",
                    ]
                  + host = [
                      + "example.co.uk",
                    ]
                }
            },
          + {
              + "grp1" = {
                  + envs = [
                      + "stg-a2",
                      + "stg-b2",
                    ]
                  + host = [
                      + "example.com",
                    ]
                }
            },
        ]
      + list_envs       = [
          + "stg-a1",
          + "stg-b1",
          + "stg-e1",
          + "stg-f1",
          + "stg-a2",
          + "stg-b2",
        ]
      + list_zones      = [
          + "eu-west2-c",
          + "us-east1-a",
        ]
    }
resource "google_apigee_environment" "apigee" {
  for_each =  local.list_env_groups (don't know what to put here)
  name         = each.value // would like to pass grp1 or grp2

  provisioner "local-exec" {
    when    = create
    command = <<EOF
curl -i -H "Authorization: Bearer ${data.google_client_config.current.access_token}"\
  "https://apigee.googleapis.com/v1/envgroups/***${respective_group}***/attachments" \
  -X POST -H "content-type:application/json" \
  -d '{"environment":"****current_environment****"}'
EOF
  }
  
}
resource“google\u apigee\u环境”“apigee”{
for_each=local.list_env_组(不知道在这里放什么)
name=each.value//希望通过grp1或grp2
供应人“本地执行官”{
何时=创建

command=地图的转换版本是什么?嗨@Marcin我不想转换地图。让我编辑问题并问一个小问题。