コンテンツにスキップ

terratag を触ってみた

Terraform の複数リソースへラベルやタグをまとめて付ける terratag を試した。コマンドの使い方と、Google Cloud では全リソースに適用できなかったという制約を紹介する。

これは 2023 年 5 月以前に試した内容で、正確な検証日と google プロバイダーのバージョンは記録していない。

動機

当時利用していた Terraform の google プロバイダーでは、aws のdefault_tagsのように関連するリソースに一括で label を付与できなかった。この機能を求めるdefault labels on provider · Issue #7325 · hashicorp/terraform-provider-googleも参照していた。label や tag をまとめて付与する方法を探して、terratagの存在を知った。

terratag

brew install env0/terratag/terratagでインストールできる。

tag(label)の付与は次のコマンドでできる。

1
2
3
terratag -dir=foo/bar -tags={\"environment_id\": \"prod\"}
# or
terratag -dir=foo/bar -tags="environment_id=prod,some-tag=value"

使ってみて

実際に触ってみたが、Google Cloud の全てのリソースに label を付与できるわけではなかった。一部のリソースは terratag を使うと簡単に label を付与できるので、必要な場面では使う価値があると考えた。