【发布时间】:2019-09-21 04:10:24
【问题描述】:
我有以下代码 sn-p,其目标是创建一个随机 ID 并将其用于命名项目。
7 resource "random_id" "ent_id" {
8 byte_length = 8
9 }
10
23 variable "project_name" {
24 type = "string"
25 default = "proj-$${random_id.ent_id.hex}"
26 description = "Name of the service project"
27 }
在语法上看起来不错,但是当我运行 init 时,我得到了这个-
Error: module.folder.google_project.new_project: "proj-$${random_id.ent_id.hex}" name must be 4 to 30 characters with lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, and exclamation point.
我在这里遗漏了什么吗?是字符串“proj-$${random_id.ent_id.hex}”的错误还是出现(或至少打算出现)类似“proj-b7bb04fde7253b14”的表达式的结果
请注意表达式中的“$$”是由于这个原因-https://github.com/hashicorp/terraform/issues/18069
【问题讨论】:
-
0.12 测试版支持该行为。你用的是什么版本?
-
0.11.13。那么这是否意味着默认值中的变量插值不支持低于 0.12?
-
根据您链接到的 Github 问题:是的。在此之前,您几乎肯定必须改用
locals。 -
也不能使用 '''locals'''。因为那时我必须将局部变量分配给默认值(默认 =“${local.folder_id}”)。并且默认不支持插值。我想没有办法将默认值设置为“变量”。
标签: terraform