本地变量即模块中的临时变量,用于配置中有重复定义相同值或表达式的场景,可以减少代码冗余,易于修改。本地变量仅作用在所声明的模块内,通过关键字"local"进行声明。
说明
建议您适度使用本地变量,过多使用会因大量的变量实际值被隐藏,导致代码晦涩不利于维护。
按照Terraform的约定,输出变量通常在variables.tf
文件中声明。示例如下:
locals { vpc_name = "tf-test-vpc" }
除定义为字符和数值常量外,您还可以使用输入变量、资源属性或其他本地变量的引用和表达式结果:
locals { dns_servers = concat(volcengine_vpc.foo1.dns_servers, volcengine_vpc.foo2.dns_servers) } locals { common_names = { name = local.vpc_name } }
引用本地变量时,格式为:local.<变量名称>。示例如下:
resource "volcengine_vpc" "foo" { ... vpc_name = local.vpc_name dns_servers = local.dns_servers }