У меня есть конфигурация Terraform, в которой я запускаю службу systemd на экземпляре AWS EC2. Мне нужно найти журнал этой службы и экспортировать его в выходной файл 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
Как я могу это получить?





Один из способов сделать это - использовать внешний источник данных и сценарий оболочки, который выполняет часть journalctl -u hello.service | grep "Root Key", чтобы вернуть вам корневой ключ.
https://www.terraform.io/docs/providers/external/data_source.html
Вы также можете использовать модуль github, созданный Матти Паксулой: https://github.com/matti/terraform-shell-resource
репо имеет хорошее описание и много примеров для начала
Кажется, программа во внешних источниках данных выполняется на машине, на которой запущен terraform, не так ли? Мне нужно выполнить на удаленном экземпляре. Вы можете помочь мне?