#terraform #terraform-provider-gcp #google-cloud-scheduler
#terraform #terraform-provider-gcp #google-cloud-планировщик
Вопрос:
Можем ли мы cron запланировать local_exec
выполнение файла bash, имеющего несколько команд в Terraform? Я попробовал [google_cloud_scheduler_job][1]
resource "google_cloud_scheduler_job" "job" {
name = "test-job"
description = "test job"
schedule = "*/2 * * * *"
provisioner "local-exec" {
command = "${path.module}/bash_file.sh"
}
}
Но я получаю сообщение об ошибке
Error: ExactlyOne
on main.tf line 366, in resource "google_cloud_scheduler_job" "job":
366: resource "google_cloud_scheduler_job" "job" {
"app_engine_http_target": one of
`app_engine_http_target,http_target,pubsub_target` must be specified
Error: ExactlyOne
on main.tf line 366, in resource "google_cloud_scheduler_job" "job":
366: resource "google_cloud_scheduler_job" "job" {
"pubsub_target": one of `app_engine_http_target,http_target,pubsub_target`
must be specified
Error: ExactlyOne
on main.tf line 366, in resource "google_cloud_scheduler_job" "job":
366: resource "google_cloud_scheduler_job" "job" {
"http_target": one of `app_engine_http_target,http_target,pubsub_target` must
be specified
Любые предложения будут оценены.
Спасибо.
Ответ №1:
Вы local-exec
вообще не можете планировать, и, конечно, не с помощью Google Cloud scheduler. Это совсем не так, как local-exec
работает, или для чего это предназначено. Как планировщик Google сможет подключиться к вашему компьютеру для локального выполнения скрипта bash?
Вероятно, вы хотите встроить все, что делает ваш скрипт bash, в облачную функцию Google и обеспечить эту функцию через Terraform.
Комментарии:
1. Марк Б , ты можешь мне помочь, я новичок в этой технологии.