Terraform - 有没有办法捕获shell脚本输出(从远程vm)并将其存储在Terraform输出(本地/领事的状态文件)?

时间:2017-11-30 07:53:59

标签: terraform

我正在使用Terraform(例如AWS EC2 VM)创建云基础架构,并且在创建VM之后,我使用配置程序(remote-exec)在远程VM上运行shell脚本。

有没有办法捕获shell脚本输出(来自远程虚拟机)并将其存储在Terraform输出(本地/领事的状态文件)?

我已经尝试过Terraform的外部数据源'但我想它只适用于本地脚本(不是远程vm脚本)。如果我错了,请纠正我。

由于

2 个答案:

答案 0 :(得分:1)

Terraform中的创建时或销毁时供应者仅在资源创建/销毁期间应用一次,而不是在更新或任何其他生命周期期间应用。因此,供应商的输出将不会在地形状态下提供。

参考:https://www.terraform.io/docs/provisioners/index.html

答案 1 :(得分:0)

https://github.com/matti/terraform-shell-resource模块将临时文件的输出捕获到触发器,并将它们存储在状态中。相同的模式可能也适用于远程执行程序吗?或者,然后只需使用local-exec在遥控器上运行命令。