new-terraform-provider
โดย hashicorp
สร้างโครงร่างผู้ให้บริการ Terraform ใหม่โดยใช้ Plugin Framework สร้างพื้นที่ทำงานโมดูล Go ใหม่ตามรูปแบบการตั้งชื่อมาตรฐาน "terraform-provider-" และเริ่มต้นการพึ่งพาที่จำเป็น ให้ไฟล์ main.go ต้นแบบตามรูปแบบ Plugin Framework ของ HashiCorp พร้อมเครื่องหมาย TODO สำหรับการปรับแต่ง ตรวจสอบการตั้งค่าโดยรันคำสั่ง build และ test เพื่อให้แน่ใจว่าผู้ให้บริการคอมไพล์และผ่านการตรวจสอบเบื้องต้น จัดการพื้นที่ทำงานโดยยืนยันความตั้งใจก่อนสร้างใหม่...
npx skills add https://github.com/hashicorp/agent-skills --skill new-terraform-providerTo scaffold a new Terraform provider with Plugin Framework:
- 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.
- Create a new workspace root directory. The root directory name should be prefixed with "terraform-provider-". Perform all subsequent steps in this new workspace.
- Initialize a new Go module.
- Run
go get -u github.com/hashicorp/terraform-plugin-framework@latest. - Write a main.go file that follows the example.
- Write an
internal/provider/provider.gofile that follows the example. Rename thedemoprovider, theDEMO_*environment variables, and the authentication attributes to match the target API. - Remove TODO comments from
main.goandprovider.go. - Run
go mod tidy - Run
go build -o /dev/null - 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 theprovider-configurationskill (if available). To add the first resource or data source, use theprovider-resourcesskill (if available).