我有以下代码段,目标是创建一个随机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 :(得分:0)
由于我对Terraform还是很陌生,因此不确定我是否正确理解了该问题,但是对我来说,$$将由$代替而不是对内容进行插值。您最终将得到一个变量值为“ proj-$ {random_id.ent_id.hex}”的变量,而不是预期的proj-XXXXXXXX,其中XXXXXXXX是您的随机ID。