# Maguyva'da Terraform Desteği: Yapay Zeka Ajanları için Altyapı Bağlamı

Canonical source: https://maguyva.ai/tr/languages/terraform

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

Maguyva, AST ayrıştırma ve sembol çıkarımıyla Terraform'u destekler; böylece yapay zeka ajanları değişiklik önermeden önce modülleri, local'leri, değişkenleri, kaynak referanslarını ve dinamik altyapı desenlerini izleyebilir.

## Destek anlık görüntüsü

- Katman: AST ve sembol desteği
- Altyapı
- Uzantılar: .tf, .tfvars
- Sözdizimi farkında arama ve yapısal bağlam için gerçek AST ayrıştırması.
- Adlandırılmış semboller anlamsal aramayı ve çapraz referansı besler. İlişki çıkarımı etkinleştirildiğinde graf gezinmesi kullanılabilir.
- Bu dil arama için dizinlenir, ancak şu anda kod grafına kalıcı olarak kaydedilmez.
- Hem AST ayrıştırma hem de sembol çıkarma kullanılabilir.

## En uygun kullanım

- Yeniden kullanılabilir Terraform modüllerini, ortam klasörlerini ve paylaşılan altyapı desenlerini yöneten platform ekipleri.
- Uygulama kodu değişikliklerinin sıklıkla ilgili altyapı düzenlemelerini veya etki incelemesini gerektirdiği repolar.
- Altyapı tanımlarına dokunmadan önce referansları ve etki yarıçapını anlaması gereken ajan iş akışları.

## Ajan iş akışları

- Bir planı düzenlemeden önce değişkenlerin, local'lerin, modüllerin ve kaynakların nasıl bağlandığını izleyin.
- Değişikliklerin tutarlı kalması için ortam varyantlarını ve modül kullanımını karşılaştırın.
- Ajan bir altyapı değişikliği önermeden önce olası aşağı akış etkisini inceleyin.

## Terraform neden repo düzeyinde bağlam gerektiriyor

Altyapı kodu, pek çok yapay zeka aracının sessizce yüzeysel metin işlemeye geri düştüğü yerdir. Bu yeterli değildir. Terraform değişiklikleri genellikle hassastır, referans ağırlıklıdır ve modüller, local'ler, değişkenler, veri kaynakları ve ortama özgü klasörler arasında yayılır. Zor kısım, yapılandırmayı değiştirmeden önce nasıl bir arada durduğunu anlamaktır.

Bu yüzden ana uygulama kodunuz başka bir yerde yaşasa bile Terraform desteği önemlidir. Repo altyapı kodu içeriyorsa, ajanın bunu tahmin etmesi gereken bir ek değil, aynı sistemin bir parçası olarak görmesi gerekir.

## Maguyva, Terraform'da ajanların neyi anlamasına yardımcı oluyor

Maguyva, Terraform'u yapısal olarak destekler; bu, modül referanslarını, değişken akışlarını ve kaynak ilişkilerini takip etmek için yararlı bir temeldir. Bu, kod `count`, `for_each`, dinamik bloklar ve planın gerçek yapısını hızlıca gözden geçirerek anlamayı zorlaştıran paylaşılan modüller kullandığında daha da önem kazanır.

Pratik fayda, ajanın bir değişiklik önermeden önce "bu modül nerede yeniden kullanılıyor?", "bu değişkene ne bağımlı?" veya "hangi ortam klasörleri desenden sapıyor?" gibi repo düzeyinde sorulara yanıt verebilmesidir.

## Bu, Maguyva'nın dil kapsamı hakkında neyi kanıtlıyor

Terraform, dil kapsamının gerçekten yararlı olup olmadığının iyi bir testidir. Maguyva'nın uygulama kodunu, operasyonel kodu ve altyapıyı ayrı adalar yerine tek bir repo düzeyinde sorun olarak ele alıp alamadığını gösterir.

Altyapınız servis kodunun yanında yer alıyorsa, [Go kılavuzu](/tr/languages/go) en yakın arka uç eşleşmesidir. Aynı repo web veya platform paketlerini içeriyorsa, [TypeScript kılavuzu](/tr/languages/typescript) konuyu tamamlayan doğru sayfadır.

## Bu sayfa ne zaman yararlı

Soru "ajan altyapı bağlamını da tutabilir mi?" ise bu sayfayı kullanın. Bu, yalnızca uygulama dilleri hakkında sormaktan daha gerçekçi bir sorudur. Ham matris için [uyumluluk](/tr/docs/compatibility)'u kullanın.

## Motor ayrıntıları

- Import normalize etme `module` ve `source`'u kaldırır, bu da modül düzeyi referansları karşılaştırmayı kolaylaştırır.
- Terraform dil kuralları, ilişki çıkarımı için `var`, `local`, `module`, `data` ve kaynak referanslarını tanır, ancak mevcut graf politikası bunları Maguyva kod grafında kalıcı olarak saklamaz.
- `count`, `for_each` ve dinamik bloklar gibi Terraform'a özgü kontrol akışı, düz metin yerine birinci sınıf yapı olarak ele alınır.

## Yararlı MCP giriş noktaları

- `get_task_context`: Farklı parçaları bir araya getiren hızlı bir yanıta ihtiyacınız olduğunda, "VPC modülü çıktısının ECS servisini nasıl beslediğini izle" gibi promptlar için kullanın.
- `text_pattern_search`: Analizi genişletmeden önce resource adresleri, modül isimleri ya da değişken anahtarları için tam metin kullanın.
