terraform-provider-pagerduty
terraform-provider-pagerduty copied to clipboard
Cannot disable Priority and Severity settings in PagerDuty Event Rules
Hi there,
Thank you for opening an issue. Please note that we try to keep the Terraform issue tracker reserved for bug reports and feature requests. For general usage questions, please see: https://www.terraform.io/community.html.
Terraform Version
Terraform v1.0.3 on linux_amd64
- provider registry.terraform.io/pagerduty/pagerduty v1.9.9
Affected Resource(s)
Please list the resources as a list, for example:
- pagerduty_service_event_rule
- pagerduty_ruleset_rule
Terraform Configuration Files
provider "pagerduty" {
token="<<REDACTED>>"
}
data "pagerduty_priority" "p1" {
name = "P1"
}
# Create a PagerDuty team
resource "pagerduty_team" "example" {
name = "Engineering"
description = "All engineering"
}
resource "pagerduty_user" "example" {
name = "Earline Greenholt"
email = "[email protected]"
}
resource "pagerduty_team_membership" "example" {
user_id = pagerduty_user.example.id
team_id = pagerduty_team.example.id
role = "manager"
}
resource "pagerduty_escalation_policy" "example" {
name = "Engineering Escalation Policy"
num_loops = 2
rule {
escalation_delay_in_minutes = 10
target {
type = "user"
id = pagerduty_user.example.id
}
}
}
resource "pagerduty_service" "example" {
name = "My Web App"
auto_resolve_timeout = 0
acknowledgement_timeout = 0
escalation_policy = pagerduty_escalation_policy.example.id
alert_creation = "create_alerts_and_incidents"
}
resource "pagerduty_service_event_rule" "foo" {
service = pagerduty_service.example.id
position = 0
disabled = true
conditions {
operator = "and"
subconditions {
operator = "contains"
parameter {
value = "disk space"
path = "summary"
}
}
}
variable {
type = "regex"
name = "Src"
parameters {
value = "(.*)"
path = "source"
}
}
actions {
priority {
value = data.pagerduty_priority.p1.id
}
severity {
value = "critical"
}
annotate {
value = "From Terraform"
}
extractions {
target = "dedup_key"
source = "source"
regex = "(.*)"
}
extractions {
target = "summary"
template = "Warning: Disk Space Low on {{Src}}"
}
}
}
resource "pagerduty_service_event_rule" "bar" {
service = pagerduty_service.example.id
position = 1
disabled = true
conditions {
operator = "and"
subconditions {
operator = "contains"
parameter {
value = "cpu spike"
path = "summary"
}
}
}
actions {
annotate {
value = "From Terraform"
}
}
}
Debug Output
Panic Output
Expected Behavior
Disable priority and/or severity settings on Event Rule.
Actual Behavior
Priority and Severity are still set to the original values (shown in the configuration above).
Steps to Reproduce
Please list the steps required to reproduce the issue, for example:
- Build Service or Global Ruleset rule that sets the Priority and Severity options in PagerDuty (see config above).
-
terraform apply
- Confirm Priority and Severity are set in the rule.
- Remove the Priority and Severity sections from the event rule resource. (or set their values to null)
-
terraform apply
- Priority and Severity are still enabled in the rule with their original values.
Important Factoids
References
Service rule don't modified even on Terraform 0.15.5 with PagerDuty provider 0.10.1.
HTTP status received: 409 Conflict Terraform output says: Changes done <-- what is not correct.
2021-08-20T11:31:25.347+0200 [DEBUG] provider.terraform-provider-pagerduty_v1.10.1: ----------------------------------------------------- 2021-08-20T11:31:25.453+0200 [DEBUG] provider.terraform-provider-pagerduty_v1.10.1: 2021/08/20 11:31:25 [DEBUG] PagerDuty API Response Details: 2021-08-20T11:31:25.454+0200 [DEBUG] provider.terraform-provider-pagerduty_v1.10.1: ---[ RESPONSE ]-------------------------------------- 2021-08-20T11:31:25.454+0200 [DEBUG] provider.terraform-provider-pagerduty_v1.10.1: HTTP/2.0 409 Conflict 2021-08-20T11:31:25.454+0200 [DEBUG] provider.terraform-provider-pagerduty_v1.10.1: Content-Length: 40 2021-08-20T11:31:25.454+0200 [DEBUG] provider.terraform-provider-pagerduty_v1.10.1: Access-Control-Allow-Origin: * 2021-08-20T11:31:25.454+0200 [DEBUG] provider.terraform-provider-pagerduty_v1.10.1: Cache-Control: max-age=0, private, must-revalidate 2021-08-20T11:31:25.454+0200 [DEBUG] provider.terraform-provider-pagerduty_v1.10.1: Content-Type: application/vnd.pagerduty+json; charset=UTF-8 2021-08-20T11:31:25.454+0200 [DEBUG] provider.terraform-provider-pagerduty_v1.10.1: Date: Fri, 20 Aug 2021 09:31:25 GMT 2021-08-20T11:31:25.454+0200 [DEBUG] provider.terraform-provider-pagerduty_v1.10.1: Server: nginx 2021-08-20T11:31:25.454+0200 [DEBUG] provider.terraform-provider-pagerduty_v1.10.1: X-Request-Id: a92773cdb59020ebaf2697f8c06e8cad 2021-08-20T11:31:25.454+0200 [DEBUG] provider.terraform-provider-pagerduty_v1.10.1: 2021-08-20T11:31:25.454+0200 [DEBUG] provider.terraform-provider-pagerduty_v1.10.1: { 2021-08-20T11:31:25.454+0200 [DEBUG] provider.terraform-provider-pagerduty_v1.10.1: "error": { 2021-08-20T11:31:25.454+0200 [DEBUG] provider.terraform-provider-pagerduty_v1.10.1: "message": "Version Conflict" 2021-08-20T11:31:25.454+0200 [DEBUG] provider.terraform-provider-pagerduty_v1.10.1: } 2021-08-20T11:31:25.454+0200 [DEBUG] provider.terraform-provider-pagerduty_v1.10.1: }
Same issue happened on Terraform 0.14.4 with PagerDuty provider 1.7.10.
Terraform apply successfully but PagerDuty remain the same Priority
Seeing the same issue removing extractions (apply is successful, extraction still exists on rules in PD) on Terraform v1.0.3 and PagerDuty provider v2.2.1
Rules are being deprecated and replaced