http провайдер / источник данных - ленивый или нетерпеливый? - PullRequest
0 голосов
/ 22 декабря 2018

Сначала у меня есть это предложение данных:

data "http" "json_pattern" {
  url = "${var.cloudwatch_event_pattern_json_url}"
}

переменная будет выглядеть примерно так: https://raw.githubusercontent.com/alexakarpov/ak_terr/master/pattern.json

, то есть просто объект JSON, который является шаблоном для события вCloudWatch

и затем у меня есть блок ресурсов:

resource "aws_cloudwatch_event_rule" "event_pattern_rule" {
  count         = "${var.cloudwatch_event_pattern_json_url == "" ? 0 : 1}"
  name          = "${var.name}-json-event-trigger"
  description   = "Event to trigger the execution of the lambda function: ${var.name}"
  event_pattern = "${data.http.json_pattern.body}"
}

Что я хочу знать - будет ли этот http-вызов происходить столько раз, сколько обрабатывается этот файл, или только столько разкак условие в

count = "..."

соответствует?Другими словами, будет ли этот http-вызов ленивым, выполняемым только тогда, когда ресурс подготовлен (случай count == 1 здесь)?Или он выполняется каждый раз, когда файл загружается?Звучит как вопрос, на который может ответить только настоящий гуру, пока я всего неделю в этом аду МАК ..

1 Ответ

0 голосов
/ 22 декабря 2018

В соответствии с документацией Terraform состояние источника данных будет "обновлено во время фазы обновления Terraform, которая по умолчанию выполняется до создания плана".Таким образом, это означает, что он вызывается один раз

Если вы хотите легко проверить это самостоятельно, создайте RequestBin и используйте указанный URL-адрес в вашей конфигурации Terraform.После обновления страницы вы можете видеть, какие запросы сделаны.

...