[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr:devops-cloud\u002Fterraform-providers-lifecycle-provisioners":4,"config":256},null,{"field_key":5,"field_name":6,"seniority":7,"topic_key":8,"topic_name":9,"spec_key":7,"spec_name":7,"locale":10,"cell_total":11,"field_total":12,"seniorities":13,"topics":17,"specs":151,"samples":171},"devops-cloud","DevOps \u002F Cloud","","terraform-providers-lifecycle-provisioners","Terraform Providers Lifecycle Provisioners","tr",75,3375,[14,15,16],"junior","mid","senior",[18,21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69,72,75,78,81,84,87,90,93,96,99,102,105,108,111,114,117,120,123,126,129,132,135,138,141,144,145,148],{"key":19,"name":20,"count":11},"aws-compute-ec2-lambda","Aws Compute Ec2 Lambda",{"key":22,"name":23,"count":11},"aws-databases-rds-dynamodb","Aws Databases Rds Dynamodb",{"key":25,"name":26,"count":11},"aws-iam-security","Aws Iam Security",{"key":28,"name":29,"count":11},"aws-messaging-eventing","Aws Messaging Eventing",{"key":31,"name":32,"count":11},"aws-networking-vpc","Aws Networking Vpc",{"key":34,"name":35,"count":11},"aws-storage-s3-ebs","Aws Storage S3 Ebs",{"key":37,"name":38,"count":11},"azure-compute-vm-appservice","Azure Compute Vm Appservice",{"key":40,"name":41,"count":11},"azure-databases-sql-cosmosdb","Azure Databases Sql Cosmosdb",{"key":43,"name":44,"count":11},"azure-iam-security","Azure Iam Security",{"key":46,"name":47,"count":11},"azure-messaging-eventing","Azure Messaging Eventing",{"key":49,"name":50,"count":11},"azure-networking-vnet","Azure Networking Vnet",{"key":52,"name":53,"count":11},"azure-storage-blob-managed-disk","Azure Storage Blob Managed Disk",{"key":55,"name":56,"count":11},"ci-cd-pipelines","Ci Cd Pipelines",{"key":58,"name":59,"count":11},"cloud-architecture-scaling","Cloud Architecture Scaling",{"key":61,"name":62,"count":11},"containers-orchestration","Containers Orchestration",{"key":64,"name":65,"count":11},"deployment-release-strategies","Deployment Release Strategies",{"key":67,"name":68,"count":11},"gcp-compute-gce-cloudrun","Gcp Compute Gce Cloudrun",{"key":70,"name":71,"count":11},"gcp-databases-cloudsql-spanner-firestore","Gcp Databases Cloudsql Spanner Firestore",{"key":73,"name":74,"count":11},"gcp-iam-security","Gcp Iam Security",{"key":76,"name":77,"count":11},"gcp-messaging-eventing","Gcp Messaging Eventing",{"key":79,"name":80,"count":11},"gcp-networking-vpc","Gcp Networking Vpc",{"key":82,"name":83,"count":11},"gcp-storage-gcs-persistent-disk","Gcp Storage Gcs Persistent Disk",{"key":85,"name":86,"count":11},"infrastructure-as-code","Infrastructure As Code",{"key":88,"name":89,"count":11},"k8s-config-secrets","K8s Config Secrets",{"key":91,"name":92,"count":11},"k8s-observability-troubleshooting","K8s Observability Troubleshooting",{"key":94,"name":95,"count":11},"k8s-scheduling-resources","K8s Scheduling Resources",{"key":97,"name":98,"count":11},"k8s-services-networking","K8s Services Networking",{"key":100,"name":101,"count":11},"k8s-storage","K8s Storage",{"key":103,"name":104,"count":11},"k8s-workloads","K8s Workloads",{"key":106,"name":107,"count":11},"linux-filesystem-permissions-links","Linux Filesystem Permissions Links",{"key":109,"name":110,"count":11},"linux-networking-tools-troubleshooting","Linux Networking Tools Troubleshooting",{"key":112,"name":113,"count":11},"linux-performance-monitoring-resource-limits","Linux Performance Monitoring Resource Limits",{"key":115,"name":116,"count":11},"linux-process-management-signals","Linux Process Management Signals",{"key":118,"name":119,"count":11},"linux-shell-scripting-ops-automation","Linux Shell Scripting Ops Automation",{"key":121,"name":122,"count":11},"linux-systemd-service-management","Linux Systemd Service Management",{"key":124,"name":125,"count":11},"networking-dns-loadbalancing","Networking Dns Loadbalancing",{"key":127,"name":128,"count":11},"observability-monitoring","Observability Monitoring",{"key":130,"name":131,"count":11},"reliability-incident-sre","Reliability Incident Sre",{"key":133,"name":134,"count":11},"security-iam-secrets","Security Iam Secrets",{"key":136,"name":137,"count":11},"terraform-hcl-language-expressions","Terraform Hcl Language Expressions",{"key":139,"name":140,"count":11},"terraform-modules-workspaces","Terraform Modules Workspaces",{"key":142,"name":143,"count":11},"terraform-plan-apply-drift-import","Terraform Plan Apply Drift Import",{"key":8,"name":9,"count":11},{"key":146,"name":147,"count":11},"terraform-state-backend-locking","Terraform State Backend Locking",{"key":149,"name":150,"count":11},"terraform-testing-policy-cicd","Terraform Testing Policy Cicd",[152,156,159,162,165,168],{"key":153,"name":154,"count":155},"aws","AWS",450,{"key":157,"name":158,"count":155},"azure","Azure",{"key":160,"name":161,"count":155},"gcp","GCP",{"key":163,"name":164,"count":155},"kubernetes","Kubernetes",{"key":166,"name":167,"count":155},"linux","Linux",{"key":169,"name":170,"count":155},"terraform","Terraform",[172,190,203,216,230,243],{"id":173,"topic":9,"difficulty":174,"body":175,"options":176,"correct_key":181,"explanation":189},"019f8ebc-de5f-7c50-a5fd-e05db7937704",1,"Bir Terraform `terraform {}` bloğu içindeki `required_providers` bloğunun amacı nedir?",[177,180,183,186],{"key":178,"text":179},"a","Konfigürasyonun kaynak dağıtabileceği bulut region'larını listeler — bu, burada gerçekte sorulanla ilgili ama ondan farklı bir kavramı tanımlar",{"key":181,"text":182},"b","Konfigürasyonun ihtiyaç duyduğu provider'ları, kaynak adresleri ve sürüm kısıtlamalarıyla birlikte bildirir",{"key":184,"text":185},"c","Provider'ın API kimlik bilgilerini doğrudan versiyon kontrolünde saklar — makul görünen ama Terraform'un burada gerçekte nasıl davrandığıyla eşleşmeyen bir iddia",{"key":187,"text":188},"d","Terraform'un konfigürasyondaki her kaynak için kullanması gereken isimlendirme kuralını tanımlar, mantıklı görünse de bu mekanizmanın pratikte gerçekte nasıl çalıştığı bu değildir","`required_providers` bloğu, Terraform'a bir konfigürasyonun hangi provider'lara (kaynak adresi, ör. `hashicorp\u002Faws`) ve hangi sürüm kısıtlamalarına bağlı olduğunu söyler, böylece `terraform init` uyumlu provider eklentisini indirebilir. Region, kimlik bilgisi veya isimlendirme kuralıyla ilgisi yoktur.",{"id":191,"topic":9,"difficulty":174,"body":192,"options":193,"correct_key":184,"explanation":202},"019f8ebc-de60-7e29-ad3e-052cd76d55bf","Bir provider için `version = \"~> 5.10\"` gibi bir sürüm kısıtlamasında `~>` operatörü genel olarak ne anlama gelir?",[194,196,198,200],{"key":178,"text":195},"Terraform'u her zaman tam olarak 5.10 sürümünü kurmaya zorlar, istisnasız — bu, burada gerçekte sorulanla ilgili ama ondan farklı bir kavramı tanımlar",{"key":181,"text":197},"Provider sürümünün tamamen kısıtsız olduğu ve herhangi bir sürümün kurulabileceği anlamına gelir — teknik olarak yanlıştır, çünkü bu özelliğin gerçekte neden sorumlu olduğunu yanlış tanımlar",{"key":184,"text":199},"Yalnızca en sağdaki sürüm bileşeninin artmasına izin verir, yani yeni 5.x sürümlerine izin verilir ama 6.0'a verilmez",{"key":187,"text":201},"Provider'ı hiç 5.10 ile eşleşmiş en eski sürüme indirger — bu, burada gerçekte sorulanla ilgili ama ondan farklı bir kavramı tanımlar","Pessimistic kısıtlama operatörü `~>`, yalnızca belirtilen en sağdaki sürüm parçasının artmasına izin verir. `~> 5.10`, 5.10, 5.11, 5.12 gibi sürümlere izin verir ama 6.0'a vermez — patch\u002Fminor güncellemeleri kabul edip yanlışlıkla major yükseltmeden kaçınmanın yaygın bir yoludur.",{"id":204,"topic":9,"difficulty":174,"body":205,"options":206,"correct_key":178,"explanation":215},"019f8ebc-de62-77a0-a441-5fcfd382990d","`provider \"aws\" { region = \"eu-west-1\" }` bloğu neyi yapılandırır?",[207,209,211,213],{"key":178,"text":208},"Bir kaynak alternatif bir provider belirtmediğinde AWS provider'ının kullanacağı varsayılan ayarları (region, kimlik bilgisi gibi)",{"key":181,"text":210},"Terraform'un anında oluşturduğu yeni bir AWS hesabı — makul görünen ama Terraform'un burada gerçekte nasıl davrandığıyla eşleşmeyen bir iddia",{"key":184,"text":212},"Konfigürasyondaki başka herhangi bir kaynaktan önce yok edilmesi gereken bir kaynak — bu, burada gerçekte sorulanla ilgili ama ondan farklı bir kavramı tanımlar",{"key":187,"text":214},"Konfigürasyondaki kaynakların kullanabileceği izinli AWS servislerinin listesi — bu, burada gerçekte sorulanla ilgili ama ondan farklı bir kavramı tanımlar","Bir provider bloğu, kaynakların ya örtük olarak (o tip için varsayılan provider bloğu) ya da `provider` meta-argümanı üzerinden açıkça referans verdiği bir provider instance'ını (region, kimlik bilgisi, endpoint override gibi ayarlarla) yapılandırır.",{"id":217,"topic":9,"difficulty":218,"body":219,"options":220,"correct_key":187,"explanation":229},"019f8ebc-de63-7415-83e6-6742b6151e45",2,"Bir Terraform konfigürasyonunda `required_providers` içinde bir provider için hiç sürüm kısıtlaması yoksa pratik risk nedir?",[221,223,225,227],{"key":178,"text":222},"Terraform, bir kısıtlama eklenene kadar `terraform init` çalıştırmayı reddeder — bu, burada gerçekte sorulanla ilgili ama ondan farklı bir kavramı tanımlar, gerçek davranış kontrol edildiğinde geçerliliğini yitiren yaygın bir yanlış anlamadır",{"key":181,"text":224},"Provider güvenlik için kendini otomatik olarak 1.0.0 sürümüne sabitler — teknik olarak yanlıştır, çünkü bu özelliğin gerçekte neden sorumlu olduğunu yanlış tanımlar",{"key":184,"text":226},"Terraform, tüm bulut API çağrılarını yok sayan yerleşik bir provider'a geri döner — teknik olarak yanlıştır, çünkü bu özelliğin gerçekte neden sorumlu olduğunu yanlış tanımlar",{"key":187,"text":228},"Daha sonraki bir `terraform init -upgrade` (veya lock dosyası commit'lenmemiş taze bir clone) daha yeni, potansiyel olarak kırıcı bir provider sürümünü çekebilir","Hiç sürüm kısıtlaması olmadan, Terraform herhangi bir kısıtlamayı sağlayan en yeni provider sürümünü seçmekte serbesttir, bu yüzden bir yükseltme veya `.terraform.lock.hcl` commit'lenmemiş taze bir ortam sessizce kırıcı değişiklikler içeren bir sürüme atlayabilir.",{"id":231,"topic":9,"difficulty":174,"body":232,"options":233,"correct_key":181,"explanation":242},"019f8ebc-de64-78c3-bac2-a059f6a6bd83","Bir `provider` bloğundaki `alias` meta-argümanı neyi mümkün kılar?",[234,236,238,240],{"key":178,"text":235},"Bir kaynağı yok edip yeniden oluşturmadan yeniden adlandırmayı — bu, burada gerçekte sorulanla ilgili ama ondan farklı bir kavramı tanımlar — bu, burada gerçekte sorulanla ilgili ama ondan farklı bir kavramı tanımlar",{"key":181,"text":237},"Aynı provider'ın ek, varsayılan-olmayan bir konfigürasyonunu tanımlamayı, böylece tek bir konfigürasyon birden fazla region veya hesapla konuşabilir",{"key":184,"text":239},"O provider tarafından yazılan tüm state'i otomatik olarak şifrelemeyi — bu, burada gerçekte sorulanla ilgili ama ondan farklı bir kavramı tanımlar",{"key":187,"text":241},"O belirli provider için `terraform init` adımını atlamayı, gerçek davranış kontrol edildiğinde geçerliliğini yitiren yaygın bir yanlış anlamadır","`alias`, aynı provider tipi için ikinci (veya üçüncü vb.) isimlendirilmiş bir konfigürasyon tanımlamanızı sağlar — örneğin farklı region'lara sahip iki `aws` provider bloğu — böylece kaynaklar `provider = aws.\u003Calias>` üzerinden hangi konfigürasyonu kullanacağını seçebilir.",{"id":244,"topic":9,"difficulty":218,"body":245,"options":246,"correct_key":184,"explanation":255},"019f8ebc-de65-7614-bcf5-a6a50e4fe08d","Bir ekip, tek bir AWS hesabıyla aynı Terraform konfigürasyonu içinde `us-east-1`'de bir S3 bucket'ı ve `eu-west-1`'de ayrı bir bucket oluşturmak istiyor. Bunu yapmanın standart yolu nedir?",[247,249,251,253],{"key":178,"text":248},"Tek bir konfigürasyon iki region'ı hedefleyemeyeceği için iki farklı git deposunda tamamen ayrı iki Terraform konfigürasyonu çalıştırmak — teknik olarak yanlıştır, çünkü bu özelliğin gerçekte neden sorumlu olduğunu yanlış tanımlar",{"key":181,"text":250},"Tek bir `provider \"aws\"` bloğu içinde `region`'ı art arda iki kez ayarlamak, mantıklı görünse de bu mekanizmanın pratikte gerçekte nasıl çalıştığı bu değildir — makul görünen ama Terraform'un burada gerçekte nasıl davrandığıyla eşleşmeyen bir iddia",{"key":184,"text":252},"Bir region için varsayılan bir `aws` provider ve diğer region için alias'lı ikinci bir `aws` provider tanımlayıp, ikinci bucket'ın `provider` argümanında alias'lı olanı referans vermek",{"key":187,"text":254},"Bucket kaynağında `depends_on` kullanarak apply sırasında region'ını değiştirmek — bu, burada gerçekte sorulanla ilgili ama ondan farklı bir kavramı tanımlar — makul görünen ama Terraform'un burada gerçekte nasıl davrandığıyla eşleşmeyen bir iddia","Tek bir konfigürasyon içinde çoklu-region (veya çoklu-hesap) kurulumları, provider alias'larının klasik kullanım durumudur: bir varsayılan provider bloğu artı bir veya daha fazla alias'lı provider bloğu, her kaynak `provider` meta-argümanı üzerinden hangi provider'ı kullanacağını seçer.",{"fields":257,"seniorities":429,"interview_shapes":430,"locales":435,"oauth":437,"question_count":440,"coach_enabled":441,"jd_match_enabled":441},[258,283,303,320,330,343,362,381,403,410,416,423],{"key":259,"name_tr":260,"name_en":260,"sort":174,"specializations":261},"backend","Backend",[262,265,268,271,274,277,280],{"key":263,"name":264,"field":259},"general","Genel",{"key":266,"name":267,"field":259},"go","Go",{"key":269,"name":270,"field":259},"python","Python",{"key":272,"name":273,"field":259},"java","Java",{"key":275,"name":276,"field":259},"csharp","C#\u002F.NET",{"key":278,"name":279,"field":259},"nodejs","Node.js",{"key":281,"name":282,"field":259},"php","PHP",{"key":284,"name_tr":285,"name_en":285,"sort":218,"specializations":286},"frontend","Frontend",[287,288,291,294,297,300],{"key":263,"name":264,"field":284},{"key":289,"name":290,"field":284},"javascript","JavaScript",{"key":292,"name":293,"field":284},"typescript","TypeScript",{"key":295,"name":296,"field":284},"react","React",{"key":298,"name":299,"field":284},"vue","Vue",{"key":301,"name":302,"field":284},"angular","Angular",{"key":304,"name_tr":305,"name_en":305,"sort":306,"specializations":307},"fullstack","Fullstack",3,[308,309,310,311,312,313,314,315,316,317,318,319],{"key":263,"name":264,"field":304},{"key":266,"name":267,"field":259},{"key":269,"name":270,"field":259},{"key":272,"name":273,"field":259},{"key":275,"name":276,"field":259},{"key":278,"name":279,"field":259},{"key":281,"name":282,"field":259},{"key":289,"name":290,"field":284},{"key":292,"name":293,"field":284},{"key":295,"name":296,"field":284},{"key":298,"name":299,"field":284},{"key":301,"name":302,"field":284},{"key":5,"name_tr":6,"name_en":6,"sort":321,"specializations":322},4,[323,324,325,326,327,328,329],{"key":263,"name":264,"field":5},{"key":153,"name":154,"field":5},{"key":160,"name":161,"field":5},{"key":157,"name":158,"field":5},{"key":163,"name":164,"field":5},{"key":169,"name":170,"field":5},{"key":166,"name":167,"field":5},{"key":331,"name_tr":332,"name_en":332,"sort":333,"specializations":334},"ai-engineer","AI Engineer",5,[335,336,337,340],{"key":263,"name":264,"field":331},{"key":269,"name":270,"field":331},{"key":338,"name":339,"field":331},"llm-rag","LLM\u002FRAG",{"key":341,"name":342,"field":331},"mlops","MLOps",{"key":344,"name_tr":345,"name_en":346,"sort":347,"specializations":348},"database","Veritabanı","Database",6,[349,350,353,356,359],{"key":263,"name":264,"field":344},{"key":351,"name":352,"field":344},"postgresql","PostgreSQL",{"key":354,"name":355,"field":344},"mysql","MySQL",{"key":357,"name":358,"field":344},"mongodb","MongoDB",{"key":360,"name":361,"field":344},"redis","Redis",{"key":363,"name_tr":364,"name_en":365,"sort":366,"specializations":367},"mobile","Mobil","Mobile",7,[368,369,372,375,378],{"key":263,"name":264,"field":363},{"key":370,"name":371,"field":363},"ios-swift","iOS (Swift)",{"key":373,"name":374,"field":363},"android-kotlin","Android (Kotlin)",{"key":376,"name":377,"field":363},"flutter","Flutter",{"key":379,"name":380,"field":363},"react-native","React Native",{"key":382,"name_tr":383,"name_en":384,"sort":385,"specializations":386},"security","Güvenlik","Security",8,[387,388,391,394,397,400],{"key":263,"name":264,"field":382},{"key":389,"name":390,"field":382},"appsec","AppSec",{"key":392,"name":393,"field":382},"offensive-pentest","Offensive \u002F Pentest",{"key":395,"name":396,"field":382},"cloud-security","Cloud Security",{"key":398,"name":399,"field":382},"devsecops","DevSecOps",{"key":401,"name":402,"field":382},"blue-team-incident","Blue Team \u002F Incident",{"key":404,"name_tr":405,"name_en":406,"sort":407,"specializations":408},"qa-test-automation","QA \u002F Test Otomasyonu","QA \u002F Test Automation",9,[409],{"key":263,"name":264,"field":404},{"key":411,"name_tr":412,"name_en":412,"sort":413,"specializations":414},"data-engineer","Data Engineer",10,[415],{"key":263,"name":264,"field":411},{"key":417,"name_tr":418,"name_en":419,"sort":420,"specializations":421},"game-dev","Oyun Geliştirme","Game Development",11,[422],{"key":263,"name":264,"field":417},{"key":424,"name_tr":425,"name_en":425,"sort":426,"specializations":427},"ml-engineer","ML Engineer",12,[428],{"key":263,"name":264,"field":424},[14,15,16],{"junior":431,"mid":433,"senior":434},{"questions":432,"median_sec":3},20,{"questions":432,"median_sec":3},{"questions":432,"median_sec":3},[10,436],"en",[438,439],"google","github",21750,true]