pagerduty_service_integration

A service integration is an integration that belongs to a service.

Example Usage

resource "pagerduty_user" "example" {
  name  = "Earline Greenholt"
  email = "[email protected]"
  teams = ["${pagerduty_team.example.id}"]
}

resource "pagerduty_escalation_policy" "foo" {
  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    = 14400
  acknowledgement_timeout = 600
  escalation_policy       = "${pagerduty_escalation_policy.example.id}"
}

resource "pagerduty_service_integration" "example" {
  name    = "Generic API Service Integration"
  type    = "generic_events_api_inbound_integration"
  service = "${pagerduty_service.example.id}"
}

data "pagerduty_vendor" "datadog" {
  name = "Datadog"
}

resource "pagerduty_service_integration" "datadog" {
  name    = "${data.pagerduty_vendor.datadog.name}"
  service = "${pagerduty_service.example.id}"
  vendor  = "${data.pagerduty_vendor.datadog.id}"
}

data "pagerduty_vendor" "cloudwatch" {
  name = "Cloudwatch"
}

resource "pagerduty_service_integration" "cloudwatch" {
  name    = "${data.pagerduty_vendor.cloudwatch.name}"
  service = "${pagerduty_service.example.id}"
  vendor  = "${data.pagerduty_vendor.cloudwatch.id}"
}

Argument Reference

The following arguments are supported:

  • service - (Required) The ID of the service the integration should belong to.
  • name - (Optional) The name of the service integration.
  • type - (Optional) The service type. Can be: aws_cloudwatch_inbound_integration, cloudkick_inbound_integration, event_transformer_api_inbound_integration, events_api_v2_inbound_integration (requires service alert_creation to be create_alerts_and_incidents), generic_email_inbound_integration, generic_events_api_inbound_integration, keynote_inbound_integration, nagios_inbound_integration, pingdom_inbound_integrationor sql_monitor_inbound_integration.

    Note: This is meant for generic service integrations. To integrate with a vendor (e.g Datadog or Amazon Cloudwatch) use the vendor field instead.

  • vendor - (Optional) The ID of the vendor the integration should integrate with (e.g Datadog or Amazon Cloudwatch).

  • integration_key - (Optional) This is the unique key used to route events to this integration when received via the PagerDuty Events API.

  • integration_email - (Optional) This is the unique fully-qualified email address used for routing emails to this integration for processing.

    Note: You can use the pagerduty_vendor data source to locate the appropriate vendor ID.

    Attributes Reference

The following attributes are exported:

  • id - The ID of the service integration.
  • integration_key - This is the unique key used to route events to this integration when received via the PagerDuty Events API.
  • integration_email - This is the unique fully-qualified email address used for routing emails to this integration for processing.
  • html_url - Configure your events to send webhooks to this endpoint. This is described as Integration URL in some Pagerduty documentation.

Import

Services can be imported using their related service id and service integration id separated by a dot, e.g.

$ terraform import pagerduty_service_integration.main PLSSSSS.PLIIIII

© 2018 HashiCorp
Licensed under the MPL 2.0 License.
https://www.terraform.io/docs/providers/pagerduty/r/service_integration.html