我具有Terraform配置,在其中我在AWS EC2实例上启动systemd服务。我需要grep该服务的日志并将其导出为Terraform输出。
启动hello.service
时,它会记录一条这样的行(以及许多其他行):
Root Key: F4BF9F7FCBEDABA0392F108C59D8F4A38B38
我需要那条线成为Terraform输出。像这样:
resource "aws_instance" "instance" {
provisioner "remote-exec" {
//start hello.service
}
}
output "rootKey" {
value = "${}" //??
}
我希望rootKey
输出为以下结果:
journalctl -u hello.service | grep "Root Key
“
正在aws_instance.instance
我如何得到它?
答案 0 :(得分:1)
一种方法是使用外部数据源和一个包装脚本,该脚本执行journalctl -u hello.service | grep "Root Key"
部分,以将根密钥还给您。
https://www.terraform.io/docs/providers/external/data_source.html
答案 1 :(得分:0)
您也可以使用 Matti Paksula 创建的 github 模块:https://github.com/matti/terraform-shell-resource
repo 有很好的描述和许多入门示例