W3cubDocs

/Ansible

rax_mon_alarm - Create or delete a Rackspace Cloud Monitoring alarm.

New in version 2.0.

Synopsis

Create or delete a Rackspace Cloud Monitoring alarm that associates an existing rax_mon_entity, rax_mon_check, and rax_mon_notification_plan with criteria that specify what conditions will trigger which levels of notifications. Rackspace monitoring module flow | rax_mon_entity -> rax_mon_check -> rax_mon_notification -> rax_mon_notification_plan -> rax_mon_alarm

Requirements (on host that executes module)

  • python >= 2.6
  • pyrax

Options

parameter required default choices comments
api_key
no
Rackspace API key, overrides credentials.
aliases: password
auth_endpoint
(added in 1.5)
no https://identity.api.rackspacecloud.com/v2.0/
The URI of the authentication service.
check_id
yes
ID of the check that should be alerted on. May be acquired by registering the value of a rax_mon_check task.
credentials
no
File to find the Rackspace credentials in. Ignored if api_key and username are provided.
aliases: creds_file
criteria
no
Alarm DSL that describes alerting conditions and their output states. Must be between 1 and 16384 characters long. See http://docs.rackspace.com/cm/api/v1.0/cm-devguide/content/alerts-language.html for a reference on the alerting language.
disabled
no
  • yes
  • no
If yes, create this alarm, but leave it in an inactive state. Defaults to no.
entity_id
yes
ID of the entity this alarm is attached to. May be acquired by registering the value of a rax_mon_entity task.
env
(added in 1.5)
no
identity_type
(added in 1.5)
no rackspace
Authentication mechanism to use, such as rackspace or keystone.
label
yes
Friendly name for this alarm, used to achieve idempotence. Must be a String between 1 and 255 characters long.
metadata
no
Arbitrary key/value pairs to accompany the alarm. Must be a hash of String keys and values between 1 and 255 characters long.
notification_plan_id
yes
ID of the notification plan to trigger if this alarm fires. May be acquired by registering the value of a rax_mon_notification_plan task.
region
no DFW
Region to create an instance in.
state
no present
  • present
  • absent
Ensure that the alarm with this label exists or does not exist.
tenant_id
(added in 1.5)
no
The tenant ID used for authentication.
tenant_name
(added in 1.5)
no
The tenant name used for authentication.
username
no
Rackspace username, overrides credentials.
verify_ssl
(added in 1.5)
no
Whether or not to require SSL validation of API endpoints.

Examples

- name: Alarm example
  gather_facts: False
  hosts: local
  connection: local
  tasks:
  - name: Ensure that a specific alarm exists.
    rax_mon_alarm:
      credentials: ~/.rax_pub
      state: present
      label: uhoh
      entity_id: "{{ the_entity['entity']['id'] }}"
      check_id: "{{ the_check['check']['id'] }}"
      notification_plan_id: "{{ defcon1['notification_plan']['id'] }}"
      criteria: >
        if (rate(metric['average']) > 10) {
          return new AlarmStatus(WARNING);
        }
        return new AlarmStatus(OK);
    register: the_alarm

Notes

Note

The following environment variables can be used, RAX_USERNAME, RAX_API_KEY, RAX_CREDS_FILE, RAX_CREDENTIALS, RAX_REGION.

Note

RAX_CREDENTIALS and RAX_CREDS_FILE points to a credentials file appropriate for pyrax. See https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticating

Note

RAX_USERNAME and RAX_API_KEY obviate the use of a credentials file

Note

RAX_REGION defines a Rackspace Public Cloud region (DFW, ORD, LON, ...)

This is an Extras Module

For more information on what this means please read Extras Modules

For help in developing on modules, should you be so inclined, please read Community Information & Contributing, developing_test_pr and Developing Modules.

© 2012–2016 Michael DeHaan
© 2016 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/rax_mon_alarm_module.html