Terraform Plan 差分をパースする GitHub Actions を作った

こんにちは。jedipunkz🚀 です。 Terraform を運用しているとたまに Plan 結果がどうしても出てしまう事があります。また Terraform を GitHub で実行する環境を運用していると Plan 結果をうまく扱って自動化したいモチベーションも湧いてきます。この場合に Plan の差分をうまく処理してくれる GitHub Action があればなと思って作ってみました。 GitHub Actions 作成した GitHub Action は下記のレポジトリで公開しています。 https://github.com/jedipunkz/tf-plan-parser 入力・オプション設定 この GitHub Action では2つの入力オプションが利用可能です: terraform-plan (必須) パース対象となる Terraform Plan の出力結果を指定します。通常は前のステップで実行した terraform plan コマンドの標準出力を渡します。 ignore-resources (オプション) 無視したいリソースタイプや特定のリソースを配列形式で指定します。デフォルトは空の配列 [] です。 指定方法の例: リソースタイプ全体を無視: ignore-resources: '["null_resource", "local_file"]' 特定のリソースインスタンスを無視: ignore-resources: '["null_resource.temporary", "local_file.cache"]' リソースタイプとインスタンスの混在: ignore-resources: '["null_resource", "aws_s3_bucket.temp", "local_file"]' 出力される情報 この Action は以下の出力を提供します。また下記は ignore-resources オプションの指定に沿って結果を出力してくれます。 diff-bool: 変更があるかどうかの真偽値(true または false) diff-count: 変更されるリソースの数 diff-resources: 変更されるリソースのアドレス一覧(カンマ区切り) diff-raw: 生の差分データ これらの出力を使って、後続のステップで条件分岐や通知の制御が可能です。 ...