Terraform 每个环境需要有单独的通知通道
我试图为prod和dev编写一个Terraform 每个环境需要有单独的通知通道,terraform,Terraform,我试图为prod和dev编写一个google\u monitoring\u alert\u policy资源,我似乎对每个环境都有单独的通知通道存在问题 这就是我现在拥有的: resource "google_monitoring_notification_channel" "pagerduty" { #Only use pagerduty in prod count = "${var.environment == "production" ? 1 : 0}" disp
google\u monitoring\u alert\u policy
资源,我似乎对每个环境都有单独的通知通道存在问题
这就是我现在拥有的:
resource "google_monitoring_notification_channel" "pagerduty" {
#Only use pagerduty in prod
count = "${var.environment == "production" ? 1 : 0}"
display_name = "Pagerduty Alerting"
type = "pagerduty"
labels = {
service_key = "${var.pagerduty_service_key}"
}
}
基本上,我试图实现的是,我只想在生产环境中创建和使用pagerduty资源。我得到的错误是:
Error: Error running plan: 1 error occurred:
* module.stackdriver.google_monitoring_alert_policy.noisy_zk: 1 error occurred:
* module.stackdriver.google_monitoring_alert_policy.noisy_zk: Resource 'google_monitoring_notification_channel.pagerduty' not found for variable 'google_monitoring_notification_channel.pagerduty.name'
这似乎表明TF想要呈现所有变量,即使它们没有被使用。欢迎有任何想法 这并没有完全解决,因为这是由于您使用的Terraform版本中的错误造成的?乍一看,这应该在0.12中起作用,但需要一些丑陋的黑客才能在0.11中起作用。是的,不幸的是,我们在0.11上,但在通往0.12的道路上。我刚刚创建了资源,并在频道列表中将其断开连接。一旦我们升级了,我就把资源核化。谢谢你找我!
Error: Error running plan: 1 error occurred:
* module.stackdriver.google_monitoring_alert_policy.noisy_zk: 1 error occurred:
* module.stackdriver.google_monitoring_alert_policy.noisy_zk: Resource 'google_monitoring_notification_channel.pagerduty' not found for variable 'google_monitoring_notification_channel.pagerduty.name'