Терраформный побег

Я пытаюсь избежать процента в моем скрипте 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
]
Другие вопросы по тегам