通过管道发送Terraform local-exec命令

时间:2018-11-03 03:29:32

标签: terraform

我正在尝试将template_filelocal_exec预配器结合在一起。涉及到一些限制,我认为它们大约是:

Windows最大命令行长度-8K
Bash最大命令行长度-128K
Windows最大环境变量长度-32K
Linux最大环境变量长度-32K

当尝试将较大的文件用作模板并执行以下操作时,将导致错误“命令行太长”。

data "template_file" "file" {
  template = "${file("file.tpl")}"
  vars {
    name = "${var.name}"
}

resource "null_resource" "example" {
  provisioner "local-exec" {
    command = "command ${data.template_file.file.rendered}"
  }
}

由于长度/大小限制,对环境变量执行类似操作也不起作用。我试图避免为用例向文件写入任何内容,因为我将需要删除/管理该文件,此后我不想再使用它了。

是否有办法让本地执行程序通过管道发送渲染的数据等,并允许命令或解释器从stdin读取?我认为使用管道没有大小限制。

0 个答案:

没有答案