Ari*_*Ari 3 terraform google-cloud-run
我正在尝试在我创建的云运行模块上设置多个环境变量。我从 Terraform 中遵循的示例是静态的。是否可以动态创建这些?
\ntemplate {\n spec {\n containers {\n image = "us-docker.pkg.dev/cloudrun/container/hello"\n env {\n name = "SOURCE"\n value = "remote"\n }\n env {\n name = "TARGET"\n value = "home"\n }\n }\n }\n }\n
Run Code Online (Sandbox Code Playgroud)\n\n我试过了:
\ndynamic "env" {\n for_each = var.envs\n content {\n name = each.key\n value = each.value\n }\n}\n
Run Code Online (Sandbox Code Playgroud)\n但我收到以下错误:
\n\n\n对“each.value”的引用已在其不可用的上下文中使用,例如当配置不再包含其“for_each”表达式中\n\xe2\x94\x82 中的值时。在配置中删除对 every.value 的引用以解决此错误。
\n
编辑:完整代码示例
\nresource "google_cloud_run_service" "default" {\n name = "cloudrun-srv"\n location = "us-central1"\n\n template {\n spec {\n containers {\n image = "us-docker.pkg.dev/cloudrun/container/hello"\n env {\n name = "SOURCE"\n value = "remote"\n }\n env {\n name = "TARGET"\n value = "home"\n }\n }\n }\n }\n\n traffic {\n percent = 100\n latest_revision = true\n }\n autogenerate_revision_name = true\n}\n
Run Code Online (Sandbox Code Playgroud)\n
当您使用动态块时,不能使用each
. 它应该是:
dynamic "env" {
for_each = var.envs
content {
name = env.key
value = env.value
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3849 次 |
最近记录: |