This collection of AWS CloudFormation resource types allow PagerDuty to be controlled using AWS CloudFormation.
Resource | Description | Documentation |
---|---|---|
PagerDuty::EscalationPolicies::EscalationPolicy | This resource type manages a PagerDuty EscalationPolicy | /PagerDuty-EscalationPolicies-EscalationPolicy |
PagerDuty::Users::User | This resource type manages a PagerDuty User | /PagerDuty-Users-User |
PagerDuty::Teams::Team | This resource type manages a PagerDuty Team | /PagerDuty-Teams-Team |
PagerDuty::Teams::Membership | This resource type manages a PagerDuty membership of a User in a Team | /PagerDuty-Teams-Membership |
PagerDuty::Schedules::Schedule | This resource type manages a PagerDuty Schedule | /PagerDuty-Schedules-Schedule |
PagerDuty::ResponsePlays::ResponsePlay | This resource type manages a PagerDuty ResponsePlay | /PagerDuty-ResponsePlays-ResponsePlay |
PagerDuty::Services::Service | This resource type manages a PagerDuty Service | /PagerDuty-Services-Service |
PagerDuty::Services::Integration | This resource type manages a PagerDuty Integration | /PagerDuty-Services-Integration |
To get started:
-
Sign in to the AWS Management Console with your account and navigate to CloudFormation.
-
Select "Public extensions" from the left hand pane and filter Publisher by "Third Party".
-
Use the search bar to filter by the "PagerDuty" prefix.
Note: All official PagerDuty resources begin with PagerDuty::
and specify that they are Published by PagerDuty
.
-
Select the desired resource name to view more information about its schema, and click Activate.
-
On the Extension details page, specify:
- Extension name
- Execution role ARN
- Automatic updates for minor version releases
- Configuration
- In your terminal, specify the configuration data for the registered PagerDuty CloudFormation resource type, in the given account and region by using the SetTypeConfiguration operation:
For example:
$ aws cloudformation set-type-configuration \
--region us-west-2 --type RESOURCE \
--type-name PagerDuty::Users::User \
--configuration-alias default \
--configuration "{ \"PagerDutyAccess\":{\"Token\":\"YOURAPIKEY\"}}"
- After you have your resource configured, create your AWS stack that includes any of the activated PagerDuty resources.
For more information about available commands and workflows, see the official AWS documentation.
The PagerDuty CloudFormation resources are available on the CloudFormation Public Registry in the following regions:
Code | Name |
---|---|
us-east-1 | US East (N. Virginia) |
us-east-2 | US East (Ohio) |
us-west-1 | US West (N. California) |
us-west-2 | US West (Oregon) |
ap-south-1 | Asia Pacific (Mumbai) |
ap-northeast-1 | Asia Pacific (Tokyo) |
ap-northeast-2 | Asia Pacific (Seoul) |
ap-southeast-1 | Asia Pacific (Singapore) |
ap-southeast-2 | Asia Pacific (Sydney) |
ca-central-1 | Canada (Central) |
eu-central-1 | Europe (Frankfurt) |
eu-west-1 | Europe (Ireland) |
eu-west-2 | Europe (London) |
eu-west-3 | Europe (Paris) |
eu-north-1 | Europe (Stockholm) |
sa-east-1 | South America (São Paulo) |
Note: To privately register a resource in any other region, use the provided packages.
---
AWSTemplateFormatVersion: '2010-09-09'
Description: Shows how to create an EscalationPolicy in PagerDuty
Resources:
SampleEscalationPolicy:
Type: PagerDuty::EscalationPolicies::EscalationPolicy
Properties:
NumLoops: 5
Name: TestEscalationPolicy
Teams:
- Id: 123456
Type: team_reference
EscalationRules:
- EscalationDelayInMinutes: 30
- Targets:
- Id: 654321
Type: user_reference
---
AWSTemplateFormatVersion: '2010-09-09'
Description: Shows how to create a User in PagerDuty
Resources:
SampleUser:
Type: PagerDuty::Users::User
Properties:
Name: TestUser
Email: user@test.com
Color: green
TimeZone: Europe/London
Role: user
---
AWSTemplateFormatVersion: '2010-09-09'
Description: Shows how to create an Team in PagerDuty
Resources:
SampleTeam:
Type: PagerDuty::Teams::Team
Properties:
Name: TestTeam
Description: Description for TestTeam
---
AWSTemplateFormatVersion: '2010-09-09'
Description: Shows how to set User as a Team member in PagerDuty.
Resources:
SampleTeam:
Type: PagerDuty::Teams::Membership
Properties:
TeamId: 123456
UserId: 654321
---
AWSTemplateFormatVersion: '2010-09-09'
Description: Shows how to create a Schedule in PagerDuty
Resources:
SampleSchedule:
Type: PagerDuty::Schedules::Schedule
Properties:
Name: TestSchedule
Description: Description for TestSchedule
TimeZone: Europe/London
ScheduleLayers:
- Name: Night Shift
Start: 2023-11-06T20:00:00+00:00
End: 2024-11-06T20:00:00+00:00
RotationVirtualStart: 2015-11-06T20:00:00+00:00
RotationTurnLengthSeconds: 86400
Users:
- Id: 123456
Type: user_reference
Restrictions:
- Type: daily_restriction
StartTimeOfDay: 08:00:00
DurationSeconds: 32400
StartDayOfWeek: 1
Teams:
- Id: 654321
Type: team_reference
---
AWSTemplateFormatVersion: '2010-09-09'
Description: Shows how to set User as a Team member in PagerDuty.
Resources:
SampleTeam:
Type: PagerDuty::ResponsePlays::ResponsePlay
Properties:
FromEmail: email@example.com
Name: CFN_TEST_RESPONSE
Description: Test Response
RespondersMessage: Res Message
Runnability: responders
Responders:
- Id: 123456
Type: user_reference
ConferenceNumber: 5555555555
ConferenceUrl: http://example.example.com
ConferenceType: manual
---
AWSTemplateFormatVersion: '2010-09-09'
Description: Shows how to create a Service in PagerDuty
Resources:
SampleService:
Type: PagerDuty::Services::Service
Properties:
Name: Test Service
Description: Service Description
AutoResolveTimeout: 14400
AcknowledgementTimeout: 1800
Status: active
EscalationPolicyId: PVGTVOM
IncidentUrgencyRule:
Type: use_support_hours,
DuringSupportHours:
Type: constant
Urgency: high
OutsideSupportHours:
Type: constant
Urgency: low
SupportHours:
Type: fixed_time_per_day
TimeZone: America/Lima
StartTime: 09:00:00
EndTime: 17:00:00
DaysOfWeek: [1,2,3,4,5]
ScheduledActions:
- support_hours_start
AlertCreation: create_alerts_and_incidents
AlertGroupingParameters:
Type: time
Config:
Timeout: 921
AutoPauseNotificationsParameters:
Enabled: true
Timeout: 300
---
AWSTemplateFormatVersion: '2010-09-09'
Description: Shows how to create an Integration (AWS Cloudwatch) in PagerDuty
Resources:
SampleService:
Type: PagerDuty::Services::Integration
Properties:
Name: Test Integration for Service
Type: event_transformer_api_inbound_integration
ServiceId: P4KW27I
VendorId: PZQ6AUS