用途
Terraform IBM Modules Solution Builder 面向需要为 IBM Cloud 编写 Terraform 解决方案的场景。它不直接提供模块本身,而是提供一套“解决方案构建”流程:以 IBM 官方维护的 Terraform IBM Modules(TIM)为积木,组合出一个或多个模块构成的完整 Terraform 配置,用于描述 IBM Cloud 基础设施。
主要能力
- 模块发现:通过 MCP 资源 catalog://terraform-ibm-modules-index,或通过 Terraform Registry 搜索 API(https://registry.terraform.io/v1/modules/search?q=<query>&namespace=terraform-ibm-modules),查找可用的 TIM 模块。
- 模块详情获取:使用 get_module_details("<module-id>"),或请求 https://registry.terraform.io/v1/modules/terraform-ibm-modules/<name>/ibm/<version>,了解模块能力与版本。
- 示例检索:使用 list_content 与 get_content 获取模块示例代码,或通过 GitHub API 列出 examples 目录并读取 raw 文件(例如 https://raw.githubusercontent.com/terraform-ibm-modules/<repo>/main/examples/<example>/<file>)。
- 解决方案生成:分析需求、选择模块、参照示例组合并生成标准 .tf 文件与 README。
- 验证:使用 terraform init、terraform validate、terraform plan 验证下载、语法与逻辑正确性。
使用方式
核心工作流分为五步:
- 第 1 步:检查 catalog://terraform-ibm-modules-index 资源是否可用。若可用则走 MCP 工作流;若不可用,提示用户 MCP 服务器可提供更优的搜索与缓存效果(参考 https://github.com/terraform-ibm-modules/tim-mcp),并改用 API 工作流。
- 第 2 步:发现模块。MCP 下先读取 catalog 索引,再用 search_modules 与 get_module_details;无 MCP 时改用 Terraform Registry 与 GitHub API。
- 第 3 步:检索示例。MCP 下使用 list_content 与 get_content;无 MCP 时通过 GitHub API 与 raw 链接获取。
- 第 4 步:生成解决方案,只实现用户请求的功能,避免范围蔓延。
- 第 5 步:始终验证生成的配置:terraform init、terraform validate、terraform plan(plan 可忽略认证错误)。
适用场景
适用于需要基于 TIM 模块组合构建 IBM Cloud Terraform 方案的请求,例如“创建带 VSI 的 VPC”这类需要组合多个模块的场景。模块全部公开可发现,可从 Terraform Registry(https://registry.terraform.io/namespaces/terraform-ibm-modules)与 GitHub 组织(https://github.com/terraform-ibm-modules)获取。
关键原则与限制
- 优先使用 TIM 模块,而非直接使用 IBM Cloud provider 资源。
- 必须验证模块确实存在,不得臆造模块名称。
- 以模块示例为模板,生成标准 .tf 文件(除用户要求外不生成脚本)。
- 所有代码都应经过 init/validate/plan 验证。
- 需求不明确时应提问;避免实现未请求的功能。
- MCP 不可用时功能仍可通过 API 工作流完成,但搜索与缓存效果不如 MCP。
- 关于具体的收费标准、价格、平台限制等信息,资料暂未提供。
参考文档
技能内部引用文档包括:alternative-workflows.md(无 MCP 的完整 API 工作流)、workflows.md(5 个详细工作流示例)、code-generation.md(代码生成指南与模式)、validation.md(验证、范围管理与 QA 实践)。