Назад | Перейти на главную страницу

Terraform escape процентный характер

Я пытаюсь избежать процентного символа в моем скрипте терраформирования:

"${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» как обычный текст?

С помощью %% обычно работает для печати буквального % персонаж в 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
]