clc_alert_policy - Create or Delete Alert Policies at CenturyLink Cloud.

Synopsis

  • An Ansible module to Create or Delete Alert Policies at CenturyLink Cloud.

Requirements

The below requirements are needed on the host that executes this module.

  • python = 2.7
  • requests >= 2.5.0
  • clc-sdk

Parameters

Parameter Choices/Defaults Comments
alert_recipients Default:
None
A list of recipient email ids to notify the alert. This is required for state 'present'
alias
required
The alias of your CLC Account
duration Default:
None
The length of time in minutes that the condition must exceed the threshold. This is required for state 'present'
id Default:
None
The alert policy id. This is mutually exclusive with name
metric
    Choices:
  • cpu
  • memory
  • disk
Default:
None
The metric on which to measure the condition that will trigger the alert. This is required for state 'present'
name Default:
None
The name of the alert policy. This is mutually exclusive with id
state
    Choices:
  • present
  • absent
Whether to create or delete the policy.
threshold Default:
None
The threshold that will trigger the alert when the metric equals or exceeds it. This is required for state 'present' This number represents a percentage and must be a value between 5.0 - 95.0 that is a multiple of 5.0

Notes

Note

  • To use this module, it is required to set the below environment variables which enables access to the Centurylink Cloud - CLC_V2_API_USERNAME, the account login id for the centurylink cloud - CLC_V2_API_PASSWORD, the account password for the centurylink cloud
  • Alternatively, the module accepts the API token and account alias. The API token can be generated using the CLC account login and password via the HTTP api call @ https://api.ctl.io/v2/authentication/login - CLC_V2_API_TOKEN, the API token generated from https://api.ctl.io/v2/authentication/login - CLC_ACCT_ALIAS, the account alias associated with the centurylink cloud
  • Users can set CLC_V2_API_URL to specify an endpoint for pointing to a different CLC environment.

Examples

# Note - You must set the CLC_V2_API_USERNAME And CLC_V2_API_PASSWD Environment variables before running these examples

---
- name: Create Alert Policy Example
  hosts: localhost
  gather_facts: False
  connection: local
  tasks:
    - name: Create an Alert Policy for disk above 80% for 5 minutes
      clc_alert_policy:
        alias: wfad
        name: 'alert for disk > 80%'
        alert_recipients:
            - [email protected]
            - [email protected]
        metric: 'disk'
        duration: '00:05:00'
        threshold: 80
        state: present
      register: policy

    - name: debug
      debug: var=policy

---
- name: Delete Alert Policy Example
  hosts: localhost
  gather_facts: False
  connection: local
  tasks:
    - name: Delete an Alert Policy
      clc_alert_policy:
        alias: wfad
        name: 'alert for disk > 80%'
        state: absent
      register: policy

    - name: debug
      debug: var=policy

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
policy
dict
success
The alert policy information

Sample:
{'name': 'test_alert', 'actions': [{'action': 'email', 'settings': {'recipients': ['[email protected]', '[email protected]']}}], 'id': 'ba54ac54a60d4a4f1ed6d48c1ce240a7', 'links': [{'href': '/v2/alertPolicies/alias/ba54ac54a60d4a4fb1d6d48c1ce240a7', 'verbs': ['GET', 'DELETE', 'PUT'], 'rel': 'self'}], 'triggers': [{'duration': '00:05:00', 'threshold': 80.0, 'metric': 'disk'}]}


Status

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

Author

  • CLC Runner (@clc-runner)

Hint

If you notice any issues in this documentation you can edit this document to improve it.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/clc_alert_policy_module.html