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-actions
hashicorp
Реализуйте действия провайдера Terraform с помощью Plugin Framework. Используйте при разработке императивных операций, которые выполняются на этапах жизненного цикла (до/после…
official
new-terraform-provider
hashicorp
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…
official
terraform-test
hashicorp
Comprehensive guide for writing and running Terraform tests. Use when creating test files (.tftest.hcl), writing test scenarios with run blocks, validating…
official
terraform-test
hashicorp
Полное руководство по написанию и запуску тестов Terraform с утверждениями, мокированием и валидацией модулей. Создавайте тестовые файлы с использованием синтаксиса .tftest.hcl и блоков run, которые выполняются в режиме plan или apply, поддерживая последовательное и параллельное выполнение с опциональной изоляцией состояния. Утверждайте условия для атрибутов ресурсов, выходных данных и источников данных; используйте expect_failures для проверки корректного отклонения недопустимых входных данных. Мокируйте провайдеры (Terraform 1.7.0+) для симуляции поведения инфраструктуры без...
official
provider-actions
hashicorp
Реализация императивных действий провайдера Terraform в событиях жизненного цикла ресурсов с использованием Plugin Framework. Поддерживает триггеры жизненного цикла до/после создания и до/после обновления (события уничтожения недоступны в Terraform 1.14.0). Требует правильного определения схемы с корректными типами фреймворка, ElementType для коллекций и валидаторами для проверки входных данных. Включает отчетность о прогрессе, управление таймаутами и всестороннюю обработку ошибок для длительных операций. Реализует опрос и...
official
aws-ami-builder
hashicorp
Создаёт пользовательские образы Amazon Machine Images с помощью сборщика amazon-ebs из Packer. Автоматизирует создание AMI из исходных AMI с использованием HCL-шаблонов и провизионеров для настройки (скрипты оболочки, загрузка файлов, управление конфигурацией). Поддерживает многрегиональное распространение AMI через ami_regions и гибкую фильтрацию исходных AMI по имени, владельцу и типу виртуализации. Аутентифицируется через переменные окружения, файл учётных данных AWS или профили экземпляров IAM; включает команды проверки и сборки для шаблона...
official
azure-verified-modules
hashicorp
Требования к сертификации и лучшие практики для модулей Azure Terraform, стремящихся к соответствию AVM. Обеспечивает соблюдение ограничений версий провайдера (azurerm >= 4.0, < 5.0; azapi >= 2.0, < 3.0) и запрещает ссылки на модули на основе git в пользу закрепленных источников реестра Terraform. Требует использования нижнего регистра с подчеркиваниями для всех идентификаторов, точных типов переменных, отдельных атрибутов вывода через шаблон антикоррупционного слоя и упорядоченных по алфавиту локальных переменных. Требует переменных переключателей функций для добавляемых новых ресурсов...
official
provider-docs
hashicorp
Создание, обновление и проверка документации провайдера Terraform для Terraform Registry с использованием рекомендованных HashiCorp шаблонов, tfplugindocs шаблонов и схемы…
official