community.general.pagerduty – Create PagerDuty maintenance windows
Note
This plugin is part of the community.general collection (version 1.3.2).
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: [email protected]
    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: [email protected]
    state: running
    service: FOO123
    hours: 4
    desc: deployment
  register: pd_window
- name: Delete the previous maintenance window
  community.general.pagerduty:
    name: companyabc
    user: [email protected]
    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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/2.10/collections/community/general/pagerduty_module.html