Можем ли мы cron запланировать выполнение файла bash в Terraform

#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. Марк Б , ты можешь мне помочь, я новичок в этой технологии.