Fabric Builder 是一个面向 Cloud Foundation Fabric (CFF) 的 Terraform 代码生成技能,依据既定最佳实践与约定生成符合 CFF 风格的代码。
【用途】 该技能用于生成调用 Cloud Foundation Fabric (CFF) 模块的 Terraform 代码。当用户要求创建 GCP 资源、使用 Fabric 模块或生成 Terraform 代码时适用。
【核心工作流】
- 理解请求:识别用户请求的 GCP 资源及其关系。
- 获取模块信息:从 GitHub 上的 modules/ 文件夹(GoogleCloudPlatform/cloud-foundation-fabric)中识别相关的 CFF 模块。
- 生成 Terraform:依据 conventions.md,输出调用 CFF 模块的 Terraform 根模块。
【重要指导】
- 约定与最佳实践:查阅 conventions.md 了解如何使用 Fabric 模块以及编写高质量、符合惯例的 Terraform 代码的准则,包括模块来源、版本约束和 provider 配置。
- 获取模块信息:不得臆造模块的输入或输出。在使用某个模块前,应使用 fabric.py 脚本从 GitHub 拉取该模块的确切细节(README、变量、示例)。
【使用方式(脚本命令)】 列出可用模块:python3 scripts/fabric.py modules 获取模块 README:python3 scripts/fabric.py fetch readme <module_name> 获取变量文件:python3 scripts/fabric.py fetch variables <module_name> 获取输出文件:python3 scripts/fabric.py fetch outputs <module_name> 获取 schema 文件(对 factories 有用):python3 scripts/fabric.py fetch schemas <module_name> 获取最新发布版本:python3 scripts/fabric.py release 若主机出现 SSL 证书问题,可使用 --no-ssl-verify 标志,例如:python3 scripts/fabric.py --no-ssl-verify fetch readme <module_name>
【输出准则】
- 根模块输出:输出必须是一个完整的 Terraform 根模块,通过调用适当的 CFF 模块来满足用户需求。
- 遵循约定:在模块来源、版本约束、provider 配置和编码风格上严格遵守 conventions.md。
- 使用 Fabric 模块:尽可能依赖 CFF 模块,而非直接使用原始 google_ 资源。
- 基于示例学习:始终参考通过 scripts/fabric.py 获取的模块 README,以了解正确的使用示例。
- 格式化与校验:确保生成的代码格式规范。如有可能,运行 terraform fmt、terraform validate 和 terraform plan 来检查工作成果。
【适用场景】 创建 GCP 资源、使用 Fabric 模块、生成符合 CFF 惯例的 Terraform 代码。
【限制】 资料未提供关于收费、价格、平台或具体效果的信息,暂未提供。