是否可以将资源名称替换为变量而不是
resource "aws_instance" "example" {
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t2.micro"
}我想做这个
resource "aws_instance" "$my_box" {
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t2.micro"
}$my_box将在我的vars.tf文件中定义
发布于 2020-03-20 00:54:23
不可能使用动态资源名称。
参数名、块类型名称和大多数特定于Terraform的构造的名称,如resources、input变量等。都是标识符。标识符可以包含字母、数字、下划线(_)和连字符(-)。标识符的第一个字符不能是数字,以避免与文字数字的歧义。对于完整的标识符规则,Terraform实现了Unicode标识符语法,扩展到包含ASCII连字符-。
资源名称是编程语言中类似于函数名的标识符,据我所知,它是静态的。
如果有python函数或C函数,我们就不会期望函数名是动态的。
def function(arg):
...
void main(void){
...
}虽然Python等语言可以将函数作为对象传递并将其设置为变量,但HCL并不是这样的语言。
https://stackoverflow.com/questions/60766996
复制相似问题