You need to enable JavaScript to run this app.
文档中心
复制全文
下载 pdf
Terraform开发指南
代码开发
复制全文
下载 pdf
代码开发
常用语法​
required_providers​
在 terraform 块中声明项目所需的 Provider 及其版本。​
​
terraform {​
required_providers {​
volcenginecc = {​
source = "volcengine/volcenginecc"​
version = "~> 0.0.32"​
}​
}​
}​
​
provider​
配置一个已声明的 Provider。您可以为同一个 Provider 配置多个实例,并通过 alias 加以区分。​
​
provider "volcenginecc" {​
region = "cn-beijing"​
}​
​
provider "volcenginecc" {​
alias = "shanghai"​
region = "cn-shanghai"​
}​
​
variable​
定义变量参数,增强代码的灵活性和复用性。​
​
variable "instance_type" {​
type = string​
description = "The spec of the ECS instance."​
default = "ecs.g4i.large"​
}​
​
locals​
用于定义在模块内部使用的临时变量,可以简化复杂的表达式,提高代码可读性。​
​
locals {​
common_tags = {​
Owner = "my-team"​
Env = "production"​
}​
}​
​
output​
apply 成功后需要展示给用户或被其他模块引用的值。​
​
output "vpc_id" {​
description = "The ID of the created VPC."​
value = volcenginecc_vpc_vpc.main.id​
}​
​
resource​
声明一个希望创建、管理并拥有的基础设施对象​
​
resource "volcenginecc_ecs_instance" "EcsInstanceDemo" {​
instance_charge_type = "PostPaid"​
instance_name = "EcsInstanceDemo"​
// ... 其他配置​
}​
​
data​
用于读取一个已经存在的基础设施对象的信息。​
​
data "volcenginecc_ecs_instance" "EcsInstanceDemo" {​
id = "i-123456"​
}​
​
常用函数​
介绍您在使用 Terraform 过程中可能涉及的常用函数,更多类型的函数,请参见 Terraform 官网。​
数值函数​
​
函数名称​
函数说明​
示例​
运行结果​
abs​
取绝对值​
abs(-1024)​
1024​
ceil​
向上取整​
ceil(5.5)​
6​
floor​
向下取整​
floor(4.5)​
4​
log​
计算对数​
log(16,2)​
4​
pow​
计算指数幂​
pow(3,2)​
9​
max​
取最大值​
max(10,50,3)​
50​
min​
取最小值​
min(10,50,3)​
3​
​
字符串函数​
​
函数名称​
函数说明​
示例​
运行结果​
chomp​
删除字符串末尾换行符​
chomp("hello\n")​
"hello"​
format​
格式化字符串​
format("Hello, %s!", "abc")​
"Hello, abc!"​
lower​
将字符串中的字母转为小写​
lower("HELLO")​
"hello"​
upper​
将字符串中的字母转为大写​
upper("hello")​
"HELLO"​
replace​
替换字符串中的指定字符​
replace("1+2+3", "+","-")​
"1-2-3"​
join​
使用指定分隔符将列表拼接为字符串​
join(",", "one","two","three"])​
"one,two,three"​
split​
使用指定分隔符将列表拆分为字符串​
split(", ","One,Two,Three")​
["One","Two","Three"]​
substr​
通过偏移量和长度从指定字符串中提取一个子串​
substr("hello world!",0,3)​
hell​
​
集合函数​
​
函数名称​
函数说明​
示例​
运行结果​
element​
通过元素下标检索列表中对应元素值​
element(["One","Two","Three"],2)​
Three​
index​
检索元素值在列表中的下标索引,如果该值不存在将报错​
index(["a","b","c"],"b")​
1​
lookup​
指定列表中的 key 检索 value。如果 key 不存在,则返回默认值。​
lookup({a="A",b="B"},"a","C")​
lookup({a="A",b="B"}, "c","C")​
A​
C​
keys​
返回列表中的所有 key​
keys({a=1,b=2,c=3})​
["a","b","c"]​
flatten​
展开列表中的嵌套元素​
flatten([["a","b"],[],["c"]])​
["a","b","c"]​
length​
获取列表、映射或是字符串的长度​
length(["a","b","c"])​
length({a="A",b="B"})​
length("Hello,world")​
3​
2​
11​
​
类型转换函数​
​
函数名称​
函数说明​
示例​
运行结果​
toset​
将列表类型转换为集合类型​
toset(["a","b","a"])​
["a","b"]​
tolist​
将集合类型转换为列表类型​
toset(["a","b","c"])​
["a","b","c"]​
tonumber​
将字符串类型转换为数字类型​
tonumber("1")​
1​
tostring​
将数字类型转换为字符串类型​
tostring(1)​
"1"​
​
表达式​
运算符​
运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。​
  • 算数运算符:操作数和结果数均为数字类型。支持:+,-(减法),*,/(),%,-(负数)。​
  • 比较运算符:操作数为数字,结果为布尔值。支持:==,!=, >, >=, <, <=. ​
  • 逻辑运算符:操作数和结果数均为布尔值。支持:||,&&,!. ​
条件表达式​
条件表达式用于判断布尔表达式的结果,并进行二选一。​
​
condition ? one_value : two_value​
​
表达式如果 condition 为 ture,则结果为 one_value,如果为 false,则结果为 two_value。​
for 表达式​
for 表达式用于遍历一组复合类型中的元素,并对元素进行处理后输出一组新的复合类型。​
​
[for item in items : upper(item)]​
​
表达式将 items 中的每个值转换为大写。​
函数表达式​
在计算表达式时使用一些内建函数,函数调用表达式类似于操作符。例如:upper("123")。​
​
最近更新时间:2026.03.17 15:06:00
这个页面对您有帮助吗?
有用
有用
无用
无用