Variable 输入变量参数 Terraform CLI 为变量声明定义了以下可选参数 default:配置 variable 的默认值,当配置默认值后,CLI交互时可不为变量赋值 type:声明 variable 的值类型,如果未明确指定变量类型,则默认为 string。取值分为以下几种:string number bool list( ) set( ) map( ) object( , ...) tuple([ ,...]) description:变量的备注 validation:输入值约束,可定义一个验证规则用于限制变量取值范围 sensitive:将变量定义为敏感变量,定义后,Terraform UI不会将其打印出来。取值范围为true或false nullable:控制是否可以将值分配null给该变量,默认值为true,当 nullable 为时true,null 是变量的有效值,并且模块配置必须始终考虑变量值为 null 的可能性 输入变量的引用 输入变量可以通过 var. 的形式访问,且只能在声明该变量的模块内访问: java variable "vpccidr" { type string description "the CIDR of VPC" } resource "huaweicloudvpc" "vpcexample" { name "tfvpc" cidr var.vpccidr description "terraform测试使用" enableipv6 true } 设置变量方式 通过命令行中 var 选项指定 通过变量定义文件 (.tfvars),在命令行中指定或自动加载 设置环境变量 命令行变量定义 要在命令行上指定单个变量,请 var 在运行 terraform plan 和 terraform apply 命令时使用该选项: java terraform apply var"imageidamiabc123" terraform apply var'imageidlist["amiabc123","amidef456"]' var"instancetypet2.micro" terraform apply var'imageidmap{"useast1":"amiabc123","useast2":"amidef456"}' 您可以多次使用 var 在单个命令中设置几个不同的变量。