new-terraform-provider

Создание каркаса нового провайдера Terraform с использованием Plugin Framework. Генерирует новую рабочую область модуля Go с стандартным соглашением об именовании "terraform-provider-" и инициализирует необходимые зависимости. Предоставляет шаблонный файл main.go, следующий шаблонам Plugin Framework от HashiCorp, с маркерами TODO для настройки. Проверяет настройку, выполняя команды сборки и тестирования, чтобы убедиться, что провайдер компилируется и проходит начальные проверки. Управляет рабочей областью, запрашивая подтверждение намерения перед созданием новой...

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

Больше skills от hashicorp

provider-framework-migration
hashicorp
Перенос ресурсов и источников данных провайдера Terraform с Plugin SDKv2 на Plugin Framework: объединение обоих плагинов в одном провайдере (terraform-plugin-mux, …
provider-configuration
hashicorp
Реализация конфигурации провайдера Terraform и аутентификации с помощью Plugin Framework: схема провайдера для учетных данных (атрибуты Optional + Sensitive),…
provider-ephemeral-resources
hashicorp
Реализация эфемерных ресурсов провайдера Terraform с помощью Plugin Framework: жизненный цикл Open/Renew/Close, проектирование эфемерной схемы, регистрация через…
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
Создаёт пользовательские образы Amazon Machine Images с помощью сборщика amazon-ebs из Packer. Автоматизирует создание AMI из исходных AMI с использованием HCL-шаблонов и провизионеров для настройки (скрипты оболочки, загрузка файлов, управление конфигурацией). Поддерживает многрегиональное распространение AMI через ami_regions и гибкую фильтрацию исходных AMI по имени, владельцу и типу виртуализации. Аутентифицируется через переменные окружения, файл учётных данных AWS или профили экземпляров IAM; включает команды проверки и сборки для шаблона...
tfctl
hashicorp
Взаимодействие с HCP Terraform / Terraform Cloud / Terraform Enterprise с помощью CLI tfctl. Полное покрытие API. Используйте для любого HCP Terraform или Terraform Cloud или…