リソースブロック属性の順序を統一する

ルール

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
この記事を書いた人
T.Nakamura
T.Nakamura
SRE | セキュリティ前提の設計・運用・監査対応(PCI DSS) | ドキュメント整備と仕組み化で開発・運用を整えます | AWS SAP / 日商簿記一級フォローはこちら

カテゴリ

タグ