0

出力値を引用符で囲みたい (簡単に言うと、「local-exec」プロビジョナーを使用して出力をファイルに書き込みたいのですが、残念ながら、正しい値をファイル. エスケープ文字 () も使用しましたが、まだ運がありません. 助けていただければ幸いです. ありがとう

参照用のコード スニペット:

provisioner "local-exec" {
command = " echo **ELB_DNS_NAME: \"${aws_elb.elb.dns_name}\"** >> ${var.name}.yml"
}
4

2 に答える 2

0

template_fileデータソースfileプロビジョナーを使用して、文字の引用/エスケープをいじる必要がないようにします。

data "template_file" "name" {
  template = "${file("${path.root}/templates/name.tpl")}"
  vars {
      elb_dns_name = "${aws_elb.elb.dns_name}"
  }
}

[...]

resource "null_resource" "render_templates"
  provisioner "file" {
    content = "${data.template_file.name.rendered}"
    destination = "name.yml"
  }
}

<your root TF directory>/templates/name.tplあなたは単に持っているでしょう:

**ELB_DNS_NAME: "${elb_dns_name}"**
于 2016-09-30T09:40:43.253 に答える