community.general.statusio_maintenance – Create maintenance windows for your status.io dashboard

Note

This plugin is part of the community.general collection (version 2.5.1).

To install it use: ansible-galaxy collection install community.general.

To use it in a playbook, specify: community.general.statusio_maintenance.

Synopsis

  • Creates a maintenance window for status.io

  • Deletes a maintenance window for status.io

Parameters

Parameter Choices/Defaults Comments
all_infrastructure_affected
boolean
    Choices:
  • no ←
  • yes
If it affects all components and containers
api_id
string / required
Your unique API ID from status.io
api_key
string / required
Your unique API Key from status.io
automation
boolean
    Choices:
  • no ←
  • yes
Automatically start and end the maintenance window
components
list / elements=string
The given name of your component (server name)

aliases: component
containers
list / elements=string
The given name of your container (data center)

aliases: container
desc
string
Default:
"Created by Ansible"
Message describing the maintenance window
maintenance_id
string
The maintenance id number when deleting a maintenance window
maintenance_notify_1_hr
boolean
    Choices:
  • no ←
  • yes
Notify subscribers 1 hour before maintenance start time
maintenance_notify_24_hr
boolean
    Choices:
  • no ←
  • yes
Notify subscribers 24 hours before maintenance start time
maintenance_notify_72_hr
boolean
    Choices:
  • no ←
  • yes
Notify subscribers 72 hours before maintenance start time
maintenance_notify_now
boolean
    Choices:
  • no ←
  • yes
Notify subscribers now
minutes
integer
Default:
10
The length of time in UTC that the maintenance will run (starting from playbook runtime)
start_date
string
Date maintenance is expected to start (Month/Day/Year) (UTC)
End Date is worked out from start_date + minutes
start_time
string
Time maintenance is expected to start (Hour:Minutes) (UTC)
End Time is worked out from start_time + minutes
state
string
    Choices:
  • present ←
  • absent
Desired state of the package.
statuspage
string / required
Your unique StatusPage ID from status.io
title
string
Default:
"A new maintenance window"
A descriptive title for the maintenance window
url
string
Default:
"https://api.status.io"
Status.io API URL. A private apiary can be used instead.

Notes

Note

  • You can use the apiary API url (http://docs.statusio.apiary.io/) to capture API traffic

  • Use start_date and start_time with minutes to set future maintenance window

Examples

- name: Create a maintenance window for 10 minutes on server1, with automation to stop the maintenance
  community.general.statusio_maintenance:
    title: Router Upgrade from ansible
    desc: Performing a Router Upgrade
    components: server1.example.com
    api_id: api_id
    api_key: api_key
    statuspage: statuspage_id
    maintenance_notify_1_hr: True
    automation: True

- name: Create a maintenance window for 60 minutes on server1 and server2
  community.general.statusio_maintenance:
    title: Routine maintenance
    desc: Some security updates
    components:
      - server1.example.com
      - server2.example.com
    minutes: 60
    api_id: api_id
    api_key: api_key
    statuspage: statuspage_id
    maintenance_notify_1_hr: True
    automation: True
  delegate_to: localhost

- name: Create a future maintenance window for 24 hours to all hosts inside the Primary Data Center
  community.general.statusio_maintenance:
    title: Data center downtime
    desc: Performing a Upgrade to our data center
    components: Primary Data Center
    api_id: api_id
    api_key: api_key
    statuspage: statuspage_id
    start_date: 01/01/2016
    start_time: 12:00
    minutes: 1440

- name: Delete a maintenance window
  community.general.statusio_maintenance:
    title: Remove a maintenance window
    maintenance_id: 561f90faf74bc94a4700087b
    statuspage: statuspage_id
    api_id: api_id
    api_key: api_key
    state: absent

Authors