http provider /数据源-懒还是渴望?

时间:2018-12-21 21:54:24

标签: terraform amazon-cloudwatch

我首先有这个数据子句:

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的情况)?还是每次加载文件时都急于执行?听起来像是只有真正的专家才能回答的问题,而我距离IAC地狱只有一周的时间。

1 个答案:

答案 0 :(得分:0)

根据Terraform documentation,数据源的状态将“在Terraform的“刷新”阶段更新,默认情况下在创建计划之前运行”。因此,这意味着它被称为

如果您想轻松地自己进行验证,请创建一个RequestBin并在Terraform配置中使用给定的URL。刷新页面后,您可以查看发出了哪些请求。