Терраформный побег
Я пытаюсь избежать процента в моем скрипте terraform:
"${join("\n",formatlist("%s ansible_host=%s ansible_ssh_common_args='-o ProxyCommand="ssh -W %h:%p -q cloud-user@%s"'","${module.compute.ops_master_names}","${module.compute.ops_master_priv_ips}","${module.ips.bastion_fips[0]}"))}"
Как напечатать строку "%h:%p" в виде обычного текста?
1 ответ
Решение
С помощью %%
как правило, работает, чтобы напечатать литерал %
персонаж в printf
-подобные функции. Например:
locals {
test = ["foo", "bar"]
}
output "test" {
value = "${formatlist("%s %%h:%%p", local.test)}"
}
Получает следующее:
$ terraform apply
Apply complete! Resources: 0 added, 0 changed, 0 destroyed.
Outputs:
test = [
foo %h:%p,
bar %h:%p
]