1.4.10.1. 代码风格规范
Terraform 推荐以下代码规范:
- 使用两个空格缩进
- 同一缩进层级的多个赋值语句以等号对齐:
ami = "abc123"
instance_type = "t2.micro"
- 当块体内同时有参数赋值以及内嵌块时,请先编写参数赋值,然后是内嵌块。参数与内嵌块之间空一行分隔
- 对于同时包含参数赋值以及元参数赋值的块,请先编写元参数赋值语句,然后是参数赋值语句,之间空一行分隔。元参数块请置于块体的最后,空一行分隔:
resource "aws_instance" "example" {
count = 2 # meta-argument first
ami = "abc123"
instance_type = "t2.micro"
network_interface {
# ...
}
lifecycle { # meta-argument block last
create_before_destroy = true
}
}
- 顶层块之间应空一行分隔。内嵌块之间也应该空一行分隔,除非是相同类型的内嵌块(比如
resource
块内部多个provisioner
块) - 同类型块之间尽量避免插入其他类型块,除非不同类型块共同组成了一个有语义的家族(比方说,
aws_instnace
资源内的root_block_device
、ebs_block_device
、ephemeral_block_device
内嵌块共同构成了描述 AWS 块存储的块家族,所以他们可以被混合编写)。