我正在玩Terraform一段时间,我想知道这是否可行 . 最佳做法是为您在AWS上创建的每个资源分配标签(例如) . 因此,您首先要做的是提出标记策略(例如,哪个业务部门,应用程序的名称,负责它的团队,......) .
但是,在Terraform中,这意味着您必须为每个资源重复每个标记块 . 这不是很方便,如果要更新其中一个标记名称,则必须更新您创建的每个资源 .
例如:
resource "aws_vpc" "vpc" {
cidr_block = "${var.cidr}"
tags {
Name = "${var.name}"
Project = "${var.projectname}"
Environment = "${var.environment}"
}
}
如果我想在具有相同标签的VPC中创建子网和EC2,我必须重复该标签块 . 如果我想稍后更新其中一个标签名称,我必须单独更新每个资源,这非常耗时且乏味 .
是否有可能在集中位置创建一个标签块并参考?我在考虑模块,但这似乎不适合模块的定义 .
1 回答
您也可以从版本0.10.3尝试local values . 它允许您为表达式分配符号本地名称,以便在配置中多次使用它而不重复 .