new-terraform-provider

Par hashicorp · agent-skills

Utilisez ceci lors de la création d'un nouveau provider Terraform avec le Plugin Framework : organisation du workspace, configuration du module Go, fichier `main.go` du serveur provider, et un `provider.go` avec le schéma et `Configure`. À utiliser également quand un utilisateur souhaite commencer à construire un provider pour une nouvelle API ou demande comment démarrer un projet `terraform-provider-*`.

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

Pour créer un nouveau provider Terraform avec Plugin Framework :

  1. Si je suis déjà dans un workspace de provider Terraform, alors confirmer que je veux créer un nouveau workspace. Si je ne veux pas créer de nouveau workspace, alors ignorer toutes les étapes suivantes.
  2. Créer un nouveau répertoire racine du workspace. Le nom du répertoire racine doit être préfixé par « terraform-provider- ». Effectuer toutes les étapes suivantes dans ce nouveau workspace.
  3. Initialiser un nouveau module Go.
  4. Exécuter go get -u github.com/hashicorp/terraform-plugin-framework@latest.
  5. Écrire un fichier main.go qui suit l'exemple.
  6. Écrire un fichier internal/provider/provider.go qui suit l'exemple. Renommer le provider demo, les variables d'environnement DEMO_* et les attributs d'authentification pour correspondre à l'API cible.
  7. Supprimer les commentaires TODO de main.go et provider.go.
  8. Exécuter go mod tidy
  9. Exécuter go build -o /dev/null
  10. Exécuter go test ./...

Le scaffold résout les credentials en tant que config explicite avec fallback sur les variables d'environnement. Pour développer cela en une chaîne complète de provider de credentials (fichiers de credentials partagés, profils, identité de plateforme, validation au moment de la configuration), utiliser la skill provider-configuration (si disponible). Pour ajouter la première resource ou data source, utiliser la skill provider-resources (si disponible).

Skills similaires