Terraform конфигурацияларын жазу
Ресурстар арасындағы нақты тәуелділіктерді көрсету үшін locals қолданыңыз
locals қолданыңызБұл Terraform конфигурацияларында тікелей тәуелділік болмаған кезде де, кейбір ресурстардың бұрынырақ жойылуы керектігі туралы Terraform-ға ишара берудің пайдалы жолы.
https://raw.githubusercontent.com/antonbabenko/terraform-best-practices/master/snippets/locals.tf
Terraform 0.12 - Міндетті және Қосымша аргументтер
Егер
index_documentwebsiteбос карта (map) болмаса,var.websiteміндетті аргументі орнатылуы тиіс.error_documentқосымша аргументін қалдырып кетуге болады.
variable "website" {
type = map(string)
default = {}
}
resource "aws_s3_bucket" "this" {
# omitted...
dynamic "website" {
for_each = length(keys(var.website)) == 0 ? [] : [var.website]
content {
index_document = website.value.index_document
error_document = lookup(website.value, "error_document", null)
}
}
}Объектілердегі қосымша атрибуттар (Terraform 1.3+)
Міндетті емес өрістер үшін әдепкі мәндерді қамтамасыз ету мақсатында объектілердегі қосымша атрибуттарды қолданыңыз:
Terraform-да құпия деректерді басқару
Құпия деректер -құпия сөздер мен шифрлау кілттерінен бастап API токендері мен қызмет сертификаттарына дейінгі кез келген сезімтал деректер болуы мүмкін. Олар әдетте бұлттық ресурстар үшін аутентификация мен авторизацияны орнату үшін қолданылады. Бұл сезімтал ресурстарды қорғау өте маңызды, себебі олардың жария болуы қауіпсіздіктің бұзылуына әкелуі мүмкін. Құпия деректерді Terraform конфигурациясында және күйінде сақтамауға қатаң кеңес беріледі, себебі нұсқаларды басқару жүйесіне рұқсаты бар кез келген адам оларға қол жеткізе алады. Оның орнына, орындау уақытында сыртқы көздерден құпияларды алу үшін сыртқы дереккөздерді пайдалануды қарастырыңыз. Мысалы, AWS Secrets Manager қолдансаңыз, құпия мәнге қол жеткізу үшін aws_secretsmanager_secret_version дереккөзін пайдалана аласыз. Келесі мысалда Terraform 1.11+ нұсқасында қолдау көрсетілетін және мәнді Terraform күйінен тыс сақтайтын тек жазуға арналған аргументтер қолданылады.
Айнымалыларды тексеру және кіріс деректерді өңдеу
Айнымалыларды негізгі тексеру
Айнымалылардың нақты критерийлерге сәйкес келетініне көз жеткізу үшін валидация блоктарын қолданыңыз:
Объект және тізім валидациясы
Күрделі деректер құрылымдарының күтілетін мәндерді қамтитынына көз жеткізу үшін оларды тексеріңіз:
Last updated