» pagerduty_service_integration
A service integration is an integration that belongs to a service.
» Example Usage
resource "pagerduty_user" "example" {
name = "Earline Greenholt"
email = "125.greenholt.earline@graham.name"
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 servicealert_creation
to becreate_alerts_and_incidents
),generic_email_inbound_integration
,generic_events_api_inbound_integration
,keynote_inbound_integration
,nagios_inbound_integration
,pingdom_inbound_integration
orsql_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
- URL at which the entity is uniquely displayed in the Web app
To configure an event, please use the integration_key
in the following interpolation:
https://events.pagerduty.com/integration/${pagerduty_service_integration.slack.integration_key}/enqueue
» 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