Skip to content

cloudsoft/cloudformation-pagerduty-resource-providers

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PagerDuty CloudFormation Resource Types

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

Prerequisites

AWS Management Console

To get started:

  1. Sign in to the AWS Management Console with your account and navigate to CloudFormation.

  2. Select "Public extensions" from the left hand pane and filter Publisher by "Third Party".

  3. 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.

  1. Select the desired resource name to view more information about its schema, and click Activate.

  2. On the Extension details page, specify:

  • Extension name
  • Execution role ARN
  • Automatic updates for minor version releases
  • Configuration
  1. 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\"}}"
  1. 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.

Supported regions

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.

Examples

EscalationPolicy example using the Cloudformation PagerDuty resources

---
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

User example using the Cloudformation PagerDuty resources

---
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

Shows how to create a Team in PagerDuty

---
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

Shows how to set User as a Team member in PagerDuty.

---
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

Shows how to create a Schedule in PagerDuty

---
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

Shows how to create a ResponsePlay in PagerDuty.

---
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

About

PagerDuty CFN Registry resource

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 99.8%
  • JavaScript 0.2%