new-terraform-provider

作者: hashicorp

使用 Plugin Framework 建立新的 Terraform provider。生成新的 Go 模組工作區,採用標準的「terraform-provider-」命名慣例,並初始化所需的依賴項。提供遵循 HashiCorp Plugin Framework 模式的範本 main.go 檔案,並附有待辦事項標記供自訂使用。透過執行建置與測試指令來驗證設定,確保 provider 能成功編譯並通過初步檢查。在建立新的工作區前,會先確認意圖以管理工作區。

npx skills add https://github.com/hashicorp/agent-skills --skill new-terraform-provider

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).

來自 hashicorp 的更多技能

provider-framework-migration
hashicorp
將 Terraform 提供者資源與資料來源從 Plugin SDKv2 遷移到 Plugin Framework:在單一提供者中混合兩個外掛程式(terraform-plugin-mux,…
provider-configuration
hashicorp
使用 Plugin Framework 實作 Terraform provider 設定與驗證:provider schema 用於憑證(Optional + Sensitive 屬性),…
provider-ephemeral-resources
hashicorp
使用 Plugin Framework 實作 Terraform provider 臨時資源:Open/Renew/Close 生命週期、臨時 schema 設計、透過…註冊
terraform-test
hashicorp
撰寫與執行 Terraform 測試的完整指南,涵蓋斷言、模擬及模組驗證。使用 .tftest.hcl 語法編寫測試檔案,透過 run 區塊在 plan 或 apply 模式下執行,支援順序與平行執行,並可選擇隔離狀態。對資源屬性、輸出及資料來源進行條件斷言;使用 expect_failures 驗證無效輸入是否被正確拒絕。模擬提供者(Terraform 1.7.0 以上版本)可模擬基礎設施行為,無需...
terraform-policy
hashicorp
編寫、測試或轉換 Terraform Policy 檔案(.policy.hcl、.policytest.hcl、Sentinel→tfpolicy)。觸發詞:policy.hcl、policytest、convert sentinel、tfpolicy、…
terraform-search-import
hashicorp
使用 Terraform Search 查詢發現現有雲端資源,並大量匯入至 Terraform 管理。適用於將未受管理的基礎設施納入管理時…
aws-ami-builder
hashicorp
使用Packer的amazon-ebs建置器建立自訂Amazon Machine Images。透過HCL範本自動化從來源AMI建立AMI,並搭配佈建工具(Shell腳本、檔案上傳、組態管理)進行自訂。支援透過ami_regions進行多區域AMI分發,以及依名稱、擁有者和虛擬化類型進行靈活的來源AMI篩選。可透過環境變數、AWS憑證檔案或IAM執行個體設定檔進行驗證;包含範本的驗證與建置命令...
tfctl
hashicorp
使用 tfctl CLI 與 HCP Terraform / Terraform Cloud / Terraform Enterprise 互動。完整 API 覆蓋。適用於任何 HCP Terraform 或 Terraform Cloud 或…