SuperAPI AI 工具集

terraform-style-check

部署与运维

查看项目

更新于 10-15 12:05

技能介绍

用途

terraform-style-check 用于在编写、审查或生成 Terraform 代码时,遵循 HashiCorp 官方风格约定与最佳实践。它基于 HashiCorp Terraform Style Guide,帮助保持 Terraform HCL 代码的一致性和可维护性。

主要能力

该技能覆盖以下方面:

  • 代码生成策略:从 Provider 配置和版本约束开始;先创建数据源再创建依赖资源;按依赖顺序构建资源;为关键资源属性添加输出;所有可配置值使用变量。
  • 文件组织:建议按标准结构拆分文件,包括 terraform.tf(Terraform 与 Provider 版本要求)、providers.tf(Provider 配置)、main.tf(主要资源与数据源)、variables.tf(输入变量声明,按字母排序)、outputs.tf(输出值声明,按字母排序)、locals.tf(局部值声明)。
  • 代码格式化:每层嵌套使用两个空格(不使用制表符);连续参数等号对齐;参数在块之前,元参数优先;lifecycle 块放在最后。
  • 命名约定:所有名称使用小写加下划线;使用描述性名词且不包含资源类型;名称应具体且有意义。
  • 变量:每个变量必须包含 type 和 description;支持 validation 块;敏感变量使用 sensitive = true。
  • 输出:每个输出必须包含 description;敏感输出使用 sensitive = true。
  • 动态资源创建:优先使用 for_each 而非 count;count 用于条件创建。
  • 安全最佳实践:默认启用静态加密;配置私有网络;安全组遵循最小权限原则;启用日志与监控;绝不硬编码凭据或密钥;敏感输出标记 sensitive = true。
  • 版本固定:使用 required_version 和 required_providers 固定版本;支持 =、>=、~>、范围等约束操作符。
  • Provider 配置:支持 default_tags 和别名 Provider(多区域)。
  • 版本控制:不应提交 terraform.tfstate、terraform.tfstate.backup、.terraform/ 目录、*.tfplan、含敏感数据的 .tfvars 文件;应提交所有 .tf 配置文件和 .terraform.lock.hcl。
  • 验证工具:提交前运行 terraform fmt -recursive 和 terraform validate;可选用 tflint、checkov / tfsec。
  • 代码审查清单:涵盖格式化、验证、文件组织、变量与输出描述、命名、版本约束、敏感值标记、无硬编码凭据、安全实践等检查项。

使用方式

资料中未提供具体的安装命令或调用方式。该技能以风格指南和代码示例的形式呈现,可在编写、审查或生成 Terraform 代码时作为参考。

适用场景

适用于需要生成或维护 Terraform HCL 代码的团队和个人,尤其是在编写新配置、审查现有代码或希望统一 Terraform 代码风格时。

限制

资料中未提供关于收费、价格、平台支持或具体效果的信息。该技能基于 HashiCorp Terraform Style Guide,具体行为可能受实际使用环境影响。