БастыАудиоКомикстерБалаларға арналған
Дмитрий Быков
Дмитрий Быковдәйексөз келтірді5 күн бұрын
Средства инициализации можно определять только внутри ресурса, но иногда при их выполнении хочется обойтись без привязки к определенному ресурсу. Это можно сделать с помощью сущности под названием null_resource, которая ведет себя как обычный ресурс Terraform, но при этом ничего не создает. Определив средство инициализации для null_resource, вы можете запустить свой скрипт в рамках жизненного цикла Terraform, не привязываясь ни к какому «настоящему» ресурсу: resource "null_resource" "example" { provisioner "local-exec" { command = "echo \"Hello, World from $(uname -smp)\"" } } У null_resource есть удобный аргумент под названием triggers, который принимает ассоциативный массив с ключами и значениями. При любом изменении значений ресурс null_resource будет создаваться заново, запуская тем самым все средства инициализации, которые в нем определены. Например, если вы хотите выполнять средство инициализации внутри null_resource при каждом запуске команды terraformapply, можете воспользоваться встроенной функцией uuid(). При каждом вызове внутри аргумента triggers она возвращает новый, свежесгенерированный идентификатор UUID: resource "null_resource" "example" { # Используйте UUID, чтобы ресурс null_resource принудительно # создавался заново при каждом вызове 'terraform apply' triggers = { uuid = uuid() } provisioner "local-exec" { command = "echo \"Hello, World from $(uname -smp)\"" } } Теперь при каждом выполнении terraformapply будет запускаться средство инициализации local-exec:
Terraform: инфраструктура на уровне кода
Terraform: инфраструктура на уровне кода
·
Евгений Брикман
Terraform: инфраструктура на уровне кода
Евгений Брикманжәне т.б.
1.2K

Кіру не тіркелу пікір қалдыру үшін