terraform-provider-pagerduty icon indicating copy to clipboard operation
terraform-provider-pagerduty copied to clipboard

Cannot disable Priority and Severity settings in PagerDuty Event Rules

Open lpearce-pagerduty opened this issue 3 years ago • 3 comments

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:

  1. Build Service or Global Ruleset rule that sets the Priority and Severity options in PagerDuty (see config above).
  2. terraform apply
  3. Confirm Priority and Severity are set in the rule.
  4. Remove the Priority and Severity sections from the event rule resource. (or set their values to null)
  5. terraform apply
  6. Priority and Severity are still enabled in the rule with their original values.

Important Factoids

References

lpearce-pagerduty avatar Jul 22 '21 15:07 lpearce-pagerduty

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: }

gdecastro-uz avatar Aug 20 '21 09:08 gdecastro-uz

Same issue happened on Terraform 0.14.4 with PagerDuty provider 1.7.10.

Terraform apply successfully but PagerDuty remain the same Priority

ChenYenDu avatar Sep 17 '21 03:09 ChenYenDu

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

mattsmitton avatar Feb 03 '22 16:02 mattsmitton

Rules are being deprecated and replaced

gsreynolds avatar Jun 28 '23 14:06 gsreynolds