gcloud beta terraform vet
可以替代开源 terraform-validator
项目,但存在一些细微差别。如果要迁移 CI/CD 流水线以使用 gcloud beta terraform vet
,则需要进行以下更改。
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
限制条件框架政策的说明。我们建议使用一种较新的格式编写新政策。您还可以升级现有政策以使用新格式。
对于源自 github.com/GoogleCloudPlatform/policy-library 的政策,我们建议与远程代码库保持同步。