On this page
community.general.pagerduty – Create PagerDuty maintenance windows
Note
This plugin is part of the community.general collection (version 3.8.1).
You might already have this collection installed if you are using the ansible
package. It is not included in ansible-core
. To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.general
.
To use it in a playbook, specify: community.general.pagerduty
.
Synopsis
- This module will let you create PagerDuty maintenance windows
Requirements
The below requirements are needed on the host that executes this module.
- PagerDuty API access
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
desc
string
|
Default:
"Created by Ansible"
|
Short description of maintenance window.
|
hours
string
|
Default:
"1"
|
Length of maintenance window in hours.
|
minutes
string
|
Default:
"0"
|
Maintenance window in minutes (this is added to the hours).
|
name
string
|
PagerDuty unique subdomain. Obsolete. It is not used with PagerDuty REST v2 API.
|
|
requester_id
string
|
ID of user making the request. Only needed when creating a maintenance_window.
|
|
service
list / elements=string
|
A comma separated list of PagerDuty service IDs.
aliases: services |
|
state
string / required
|
|
Create a maintenance window or get a list of ongoing windows.
|
token
string / required
|
A pagerduty token, generated on the pagerduty site. It is used for authorization.
|
|
user
string
|
PagerDuty user ID. Obsolete. Please, use token for authorization.
|
|
validate_certs
boolean
|
|
If no , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates.
|
window_id
string
|
ID of maintenance window. Only needed when absent a maintenance_window.
|
Examples
- name: List ongoing maintenance windows using a token
community.general.pagerduty:
name: companyabc
token: xxxxxxxxxxxxxx
state: ongoing
- name: Create a 1 hour maintenance window for service FOO123
community.general.pagerduty:
name: companyabc
user: example@example.com
token: yourtoken
state: running
service: FOO123
- name: Create a 5 minute maintenance window for service FOO123
community.general.pagerduty:
name: companyabc
token: xxxxxxxxxxxxxx
hours: 0
minutes: 5
state: running
service: FOO123
- name: Create a 4 hour maintenance window for service FOO123 with the description "deployment"
community.general.pagerduty:
name: companyabc
user: example@example.com
state: running
service: FOO123
hours: 4
desc: deployment
register: pd_window
- name: Delete the previous maintenance window
community.general.pagerduty:
name: companyabc
user: example@example.com
state: absent
window_id: '{{ pd_window.result.maintenance_window.id }}'
# Delete a maintenance window from a separate playbook than its creation,
# and if it is the only existing maintenance window
- name: Check
community.general.pagerduty:
requester_id: XXXXXXX
token: yourtoken
state: ongoing
register: pd_window
- name: Delete
community.general.pagerduty:
requester_id: XXXXXXX
token: yourtoken
state: absent
window_id: "{{ pd_window.result.maintenance_windows[0].id }}"
Authors
- Andrew Newdigate (@suprememoocow)
- Dylan Silva (@thaumos)
- Justin Johns (!UNKNOWN)
- Bruce Pennypacker (@bpennypacker)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/pagerduty_module.html