# terraform-sap-btp

Правило задаёт рекомендации для Terraform-кода в SAP BTP: от структуры модулей до управления состоянием. Пригодится при создании и проверке инфраструктурных конфигураций.

- правило · `type=rule` · GitHub Copilot · ★ 40418
- Автор: github · официальный репозиторий GitHub
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/github/awesome-copilot/tree/HEAD/instructions/terraform-sap-btp.instructions.md
- Обновлён: 2026-10-23
- HTML: https://affpapa.org/nevibecode/rules/terraform-sap-btp

## Что делает

Правило применяется к файлам `*.tf`, `*.tfvars`, `*.tflint.hcl`, `*.tf.json` и `*.tfvars.json`. Оно задаёт стиль HCL, рекомендует делить код по логическим областям, хранить различия окружений в `.tfvars` и описывать тип и назначение каждой переменной и каждого output.

Для ресурсов SAP BTP правило советует получать ID плана через `btp_subaccount_service_plan`. Если провайдер не может определить зависимость сам, например между entitlement и запросом плана, её нужно задать через `depends_on`. Также описаны форматирование через `terraform fmt -recursive`, проверка `terraform validate`, тесты и сканирование безопасности в CI.

Секреты нельзя коммитить, а state следует хранить в удалённом backend с блокировкой. SAP BTP Object Store для этого не подходит: в правиле отмечены ограничения блокировки и безопасности. Перед `terraform plan` нужно подтвердить запуск с пользователем; для работы требуются авторизация и subdomain глобального аккаунта.

## Требования
- Работает с: Terraform

## Установка

### GitHub Copilot (родная платформа)

**Вручную: положить файлы**
- Файл: `.github/instructions/terraform-sap-btp.instructions.md` — Поле applyTo задаёт, к каким файлам применять

### Claude Code

**Вручную: положить файлы**
- Файл: `.claude/rules/terraform-sap-btp.md` — Поле paths во frontmatter ограничивает файлы: applyTo из источника → paths

### Codex

**AGENTS.md**
- Codex читает AGENTS.md: вставьте текст правила туда

### Cursor

**Вручную: положить файлы**
- Файл: `.cursor/rules/terraform-sap-btp.mdc` — Во frontmatter: description, globs, alwaysApply. applyTo из источника → globs, иначе правило само не подключится

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/rules/terraform-sap-btp.md`

### Cline

**Вручную: положить файлы**
- Файл: `.clinerules/terraform-sap-btp.md`

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/github/awesome-copilot/tree/HEAD/instructions/terraform-sap-btp.instructions.md

## Когда брать
- структурировать Terraform-код для SAP BTP
- получать ID плана сервиса через data source
- задавать зависимости между entitlement и планом
- проверять конфигурацию и секреты перед коммитом
- хранить state с блокировкой и контролем доступа

## Примеры запросов агенту
- Проверь мои Terraform-файлы SAP BTP по этому правилу и укажи нарушения.
- Добавь сервисный экземпляр SAP BTP с получением плана через data source.
- Проверь, правильно ли заданы зависимости между entitlement и планом сервиса.

Из того же набора: [github/awesome-copilot](https://affpapa.org/nevibecode/by/github/awesome-copilot.md) — 861 карточка

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
