360 Secure SkillHub
360 安全技能中心

new-terraform-provider

指导从零搭建一个 Terraform Provider 项目:创建以 terraform-provider- 为前缀的工作区、初始化 Go module、引入 terraform-plugin-framework、按示例写出 main.go 与 internal/provider/provider.go、清理 TODO 并执行 go mod tidy、go build 与 go test 验证。…

hashicorp
热度 0.00
最近更新 2026-10-18 22:13:55
分类:开发依赖:代码执行 / 读写文件应用场景:代码生成 / API 集成

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add hashicorp/agent-skills/new-terraform-provider
Metadata
name
new-terraform-provider
description
Use this when scaffolding a new Terraform provider with the Plugin Framework: workspace layout, go module setup, provider server main.go, and a provider.go with schema and Configure. Also use when a user wants to start building a provider for a new API or asks how to begin a terraform-provider-* project.
license
MPL-2.0
metadata
{"lifecycle-status":"active","copyright":"Copyright IBM Corp. 2026","version":"0.0.1"}

To scaffold a new Terraform provider with Plugin Framework:

  1. If I am already in a Terraform provider workspace, then confirm that I want to create a new workspace. If I do not want to create a new workspace, then skip all remaining steps.
  2. Create a new workspace root directory. The root directory name should be prefixed with "terraform-provider-". Perform all subsequent steps in this new workspace.
  3. Initialize a new Go module.
  4. Run go get -u github.com/hashicorp/terraform-plugin-framework@latest.
  5. Write a main.go file that follows the example.
  6. Write an internal/provider/provider.go file that follows the example. Rename the demo provider, the DEMO_* environment variables, and the authentication attributes to match the target API.
  7. Remove TODO comments from main.go and provider.go.
  8. Run go mod tidy
  9. Run go build -o /dev/null
  10. Run go test ./... The scaffold resolves credentials as explicit config with environment variable fallback. To grow that into a full credential provider chain (shared credentials files, profiles, platform identity, configure-time validation), use the provider-configuration skill (if available). To add the first resource or data source, use the provider-resources skill (if available).