リソースブロック属性の順序を統一する
ルール
The order of resource block attributes should be as follows: 1. If present, The count or for_each meta-argument, 2. Resource-specific non-block parameters, 3. Resource-specific block parameters, 4. If required, a lifecycle block, 5. If required, the depends_on parameter. No other constraints apply.
(リソースブロック属性の順序は以下の通りとする:1. 存在する場合、countまたはfor_eachメタ引数、2. リソース固有の非ブロックパラメータ、3. リソース固有のブロックパラメータ、4. 必要な場合、lifecycleブロック、5. 必要な場合、depends_onパラメータ。その他の制約は適用しない)
解説
Terraform公式スタイルガイドに従っています。
決めの問題ですが、ある程度フォーマットされているだけでも読みやすさが上がります。
サンプルコード
resource "aws_instance" "web" {
# 1. メタ引数
count = var.instance_count
# 2. 非ブロックパラメータ
ami = data.aws_ami.ubuntu.id
instance_type = "t4g.micro"
subnet_id = aws_subnet.main.id
# 3. ブロックパラメータ
tags = {
Name = "web-server-${count.index}"
}
# 4. lifecycle
lifecycle {
create_before_destroy = true
}
# 5. depends_on
depends_on = [aws_security_group.web]
}
参考リンク
Show Text to Shareリソースブロック属性の順序を統一する https://www.tricrow.com/infrastructure/development-guidline/coding_standards.style.order_resource.html

