gcloud beta terraform vet
はオープンソース terraform-validator
プロジェクトに代わるものですが、若干の違いがあります。gcloud beta terraform vet
を使用するように CI / CD パイプラインを移行する場合は、次の変更を行う必要があります。
1. コマンドと引数を更新する
terraform-validator validate
をgcloud beta terraform vet
に置き換えます。--policy-path
を--policy-library
に置き換えます。
基本的な例:
# Old
terraform-validator validate ./tfplan.json --policy-path=/path/to/policy-library
# New
gcloud beta terraform vet ./tfplan.json --policy-library=/path/to/policy-library
サービス アカウントの権限借用を使用した場合:
# Old
GOOGLE_IMPERSONATE_SERVICE_ACCOUNT=account@project.iam.gserviceaccount.com
terraform-validator validate ./tfplan.json --policy-path=/path/to/policy-library
# New
gcloud beta terraform vet ./tfplan.json --policy-library=/path/to/policy-library \
--impersonate-service-account=account@project.iam.gserviceaccount.com
2. (省略可)制約テンプレートをアップグレードする
terraform-validator
のドキュメントには、これまで v1alpha1
Constraint Framework ポリシーの記述方法が定められていました。新しいポリシーの作成に推奨される新しい形式があります。新しい形式を使用するように既存のポリシーをアップグレードすることもできます。
github.com/GoogleCloudPlatform/policy-library から取得したポリシーについては、リモート リポジトリと同期した状態を維持することをおすすめします。