Terraform是一个开源的基础设施即代码工具,它允许开发人员使用简单的声明性语言定义和管理云基础设施。Terraform使用迭代组合的map和list来实现灵活的配置和部署。 迭代组合的map是指在Terraform中可以使用map数据结构来定义一组键值对,其中键和值可以是任意类型的数据。通过使用map,可以轻松地定义和管理多个资源的配置。例...
Terraform 数据类型分为 原始类型(string、number、bool) 与 复杂类型(list()、map()、set()、object、tuple),支持自定义输入变量variable、本地变量locals、输出变量output,以块的型式组织成.tf文件。 HCL是一个用于创建结构化配置语言的工具包,主要针对DevOps工具、服务器等。 HCL既有一种原生语法,旨在让人类愉快...
允许对用户输入的变量类型进行强制约束。Terraform支持许多类型约束,包括string、number、bool、list、map、set、object、tuple和any。如果未指定类型,那么Terraform会设置默认约束类型为any。 还可以使用类型约束创建更复杂的对象和元组结构类型。 也可以通过环境变量来设置输入变量初始值。命名规范是TF_VAR_,其中是你要设置...
该方式不推荐,但是当输入密码等场景时从安全角度来说可以考虑使用。 除开String类型变量,Terraform还支持List和Map类型: List的定义: variable “cidrs” { type=“list” } List的赋值: cidrs=[ “10.0.0.0/16”, “10.1.0.0/16” ] Map的定义和赋值: variable “amis” { type = “map” default = {...
HCL语言支持的数据结构 string: 字符串,比如 “hello” number: 数值。比如整数 15 ,小数 6.283185 bool:布尔值, true or false list: 列表,比如 [“cn-beijing”, “cm-shanghai”] map: 类似于字典,包含一组key,value。比如 {name = “Mabel”, age = 52}...
string number bool list set map object tuple map DNS # variable"dns_record"{ type=map(string) description="custom dns record" } 1. 2. 3. 4. 5. # terraform.tfvars dns_record={ "dev"="dev.", "stag"="stag.", "prod"="prod." ...
"{type= stringdescription ="define region name"}variable"owner"{type= stringdescription ="define owner name"}variable"environment"{type= list(string)description ="define env name"}variable"dns_record"{type= map(string)description ="define dns name"}variable"ecs_spec"{type= list(map(string))}...
variable "instance_names" { type = list(string) default = ["instance-1", "instance-2", "instance-3"]} 映射用于表示键值对的集合。映射可以使用大括号定义{},键值对用逗号分隔:variable "instance_amis" { type = map(string) default = { us-west-2 = "ami-0c55b159cbfafe1f0" ...
map(...):映射类型,以键值对(key-value pair) 的方式组合起来的数据元素集合,其中key为string类型,对应的值可以是string,number,bool等类型,且所有元素的值必须是同一类型。 list(...):列表类型,具有同类型的数据元素集合,元素可以是基本类型和块类型,列表索引从0开始。
字符串string,如"pkslow.com" 数字number,如319或5.11 布尔值bool,如true 组合类型: 列表list(),如["dev", "uat", "prod"] 集合set(),如set(...) 映射map(),如{name="Larry", age="18"} 对象object({name1=T1, name2=T2}) 元组tuple([T1,T2,T3...]) ...