Terraform разделить вывод user_data на новые строки - PullRequest
0 голосов
/ 22 апреля 2020

Я успешно вывожу пользовательские данные, но они выходят со встроенными символами новой строки. Какой будет лучший или самый простой способ отформатировать это в удобочитаемом виде, а не в одну строку с экранированными переводами строки?

Это мой userdata.tf:

data "template_file" "userdata" {
  count    = var.instance-count
  template = file("${path.module}/userdata.sh")

  vars = { ...

Шаблон конечно, просто файл с переменными в нем:

#!/bin/bash

# wait for internet

Это мой выходной ресурс.

output "userdata" {
  value = data.template_file.userdata[*].rendered
}
Outputs come out with newlines on the terminal:

master_userdata = [
  "#!/bin/bash\n\n# wait for...

Это было бы лучше читать как:

Outputs:

master_userdata = [
  "#!/bin/bash

# wait for...

1 Ответ

0 голосов
/ 23 апреля 2020

Как я понял, вы хотите определить некоторую выходную переменную Terraform с символами новой строки в ее значении. Итак, если вы организуете свою конфигурацию следующим образом (обратите внимание на «сломанный» отступ - Terraform обрабатывает такие многострочные записи как есть):

output "master_userdata" {
  value = <<EOF
#!/bin/bash
# wait for...
EOF
}

вы, вероятно, достигнете своей цели. Хорошего вам!

...