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 |
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: [email protected]
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 protected]
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