我首先有这个数据子句:
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地狱只有一周的时间。
答案 0 :(得分:0)
根据Terraform documentation,数据源的状态将“在Terraform的“刷新”阶段更新,默认情况下在创建计划之前运行”。因此,这意味着它被称为
如果您想轻松地自己进行验证,请创建一个RequestBin并在Terraform配置中使用给定的URL。刷新页面后,您可以查看发出了哪些请求。