The pagerduty_schedulev2 resource manages modern, shift-based on-call schedules using the PagerDuty v3 Schedules API. Unlike the legacy pagerduty_schedule (v2), this resource uses flexible rotation configurations based on RFC 5545 recurrence rules (RRULE) and per-event assignment strategies.
Key differences from legacy schedules:
- Legacy (
pagerduty_schedule): Uses layer blocks with a fixed rotation_turn_length_seconds. - Shift-based (
pagerduty_schedulev2): Uses rotation and event blocks where an assignment_strategy determines how members cover occurrences defined by an RRULE.
In the PagerDuty UI, legacy schedules are identified by a legacy tag.
resource "pagerduty_schedulev2" "example" {
name = "Engineering On-Call"
time_zone = "America/New_York"
description = "Managed by Terraform"
rotation {
event {
name = "Weekday Business Hours"
start_time = "2026-06-01T09:00:00Z"
end_time = "2026-06-01T17:00:00Z"
effective_since = "2026-06-01T09:00:00Z"
recurrence = ["RRULE:FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR"]
assignment_strategy {
type = "rotating_member_assignment_strategy"
shifts_per_member = 1
member {
type = "user_member"
user_id = pagerduty_user.example.id
}
}
}
}
}