On this page
community.general.rax_mon_alarm – Create or delete a Rackspace Cloud Monitoring alarm.
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.rax_mon_alarm.
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
The below requirements are needed on the host that executes this module.
- python >= 2.6
 - pyrax
 
Parameters
| Parameter | Choices/Defaults | Comments | 
|---|---|---|
| api_key
        
        string
         | 
      
        
        Rackspace API key, overrides credentials.
        
       aliases: password  | 
     |
| auth_endpoint
        
        string
         | 
      
        
        The URI of the authentication service.
        
       
        If not specified will be set to https://identity.api.rackspacecloud.com/v2.0/
         | 
     |
| check_id
        
        string / required
         | 
      
        
        ID of the check that should be alerted on. May be acquired by registering the value of a rax_mon_check task.
         | 
     |
| credentials
        
        path
         | 
      
        
        File to find the Rackspace credentials in. Ignored if api_key and username are provided.
        
       aliases: creds_file  | 
     |
| criteria
        
        string
         | 
      
        
        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
        
        boolean
         | 
      
       
  | 
      
        
        If yes, create this alarm, but leave it in an inactive state. Defaults to no.
         | 
     
| entity_id
        
        string / required
         | 
      
        
        ID of the entity this alarm is attached to. May be acquired by registering the value of a rax_mon_entity task.
         | 
     |
| env
        
        string
         | 
      
        
        Environment as configured in ~/.pyrax.cfg, see https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#pyrax-configuration.
         | 
     |
| identity_type
        
        string
         | 
      Default: 
        "rackspace"
         | 
      
        
        Authentication mechanism to use, such as rackspace or keystone.
         | 
     
| label
        
        string / required
         | 
      
        
        Friendly name for this alarm, used to achieve idempotence. Must be a String between 1 and 255 characters long.
         | 
     |
| metadata
        
        dictionary
         | 
      
        
        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
        
        string / required
         | 
      
        
        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
        
        string
         | 
      
        
        Region to create an instance in.
         | 
     |
| state
        
        string
         | 
      
       
  | 
      
        
        Ensure that the alarm with this  label exists or does not exist.
        | 
     
| tenant_id
        
        string
         | 
      
        
        The tenant ID used for authentication.
         | 
     |
| tenant_name
        
        string
         | 
      
        
        The tenant name used for authentication.
         | 
     |
| username
        
        string
         | 
      
        
        Rackspace username, overrides credentials.
         | 
     |
| validate_certs
        
        boolean
         | 
      
       
  | 
      
        
        Whether or not to require SSL validation of API endpoints.
        
       aliases: verify_ssl  | 
     
Notes
Note
- The following environment variables can be used, 
RAX_USERNAME,RAX_API_KEY,RAX_CREDS_FILE,RAX_CREDENTIALS,RAX_REGION. RAX_CREDENTIALSandRAX_CREDS_FILEpoints to a credentials file appropriate for pyrax. See https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticatingRAX_USERNAMEandRAX_API_KEYobviate the use of a credentials fileRAX_REGIONdefines a Rackspace Public Cloud region (DFW, ORD, LON, …)
Examples
- name: Alarm example
  gather_facts: False
  hosts: local
  connection: local
  tasks:
  - name: Ensure that a specific alarm exists.
    community.general.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
  Authors
- Ash Wilson (@smashwilson)
 
© 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/rax_mon_alarm_module.html