cisco.meraki.networks_sensor_alerts_profiles module -- Resource module for networks _sensor _alerts _profiles
Note
This module is part of the cisco.meraki collection (version 2.18.2).
To install it, use: ansible-galaxy collection install cisco.meraki
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: cisco.meraki.networks_sensor_alerts_profiles
.
New in cisco.meraki 2.16.0
Synopsis
Manage operations create, update and delete of the resource networks _sensor _alerts _profiles.
Creates a sensor alert profile for a network.
Deletes a sensor alert profile from a network.
Updates a sensor alert profile for a network.
Note
This module has a corresponding action plugin.
Requirements
The below requirements are needed on the host that executes this module.
meraki >= 2.4.9
python >= 3.5
Parameters
Parameter |
Comments |
---|---|
List of conditions that will cause the profile to send an alert. |
|
If 'above', an alert will be sent when a sensor reads above the threshold. If 'below', an alert will be sent when a sensor reads below the threshold. Only applicable for temperature, humidity, realPower, apparentPower, powerFactor, voltage, current, and frequency thresholds. |
|
Length of time in seconds that the triggering state must persist before an alert is sent. Available options are 0 seconds, 1 minute, 2 minutes, 3 minutes, 4 minutes, 5 minutes, 10 minutes, 15 minutes, 30 minutes, 1 hour, 2 hours, 4 hours, and 8 hours. Default is 0. |
|
The type of sensor metric that will be monitored for changes. Available metrics are apparentPower, co2, current, door, frequency, humidity, indoorAirQuality, noise, pm25, powerFactor, realPower, temperature, tvoc, upstreamPower, voltage, and water. |
|
Threshold for sensor readings that will cause an alert to be sent. This object should contain a single property key matching the condition's 'metric' value. |
|
Apparent power threshold. 'draw' must be provided. |
|
Alerting threshold in volt-amps. Must be between 0 and 3750. |
|
Electrical current threshold. 'level' must be provided. |
|
Alerting threshold in amps. Must be between 0 and 15. |
|
Door open threshold. 'open' must be provided and set to true. |
|
Alerting threshold for a door open event. Must be set to true. Choices: |
|
Electrical frequency threshold. 'level' must be provided. |
|
Alerting threshold in hertz. Must be between 0 and 60. |
|
Humidity threshold. One of 'relativePercentage' or 'quality' must be provided. |
|
Alerting threshold as a qualitative humidity level. |
|
Alerting threshold in %RH. |
|
Indoor air quality score threshold. One of 'score' or 'quality' must be provided. |
|
Alerting threshold as a qualitative indoor air quality level. |
|
Alerting threshold as indoor air quality score. |
|
Noise threshold. 'ambient' must be provided. |
|
Ambient noise threshold. One of 'level' or 'quality' must be provided. |
|
Alerting threshold as adjusted decibels. |
|
Alerting threshold as a qualitative ambient noise level. |
|
PM2.5 concentration threshold. One of 'concentration' or 'quality' must be provided. |
|
Alerting threshold as PM2.5 parts per million. |
|
Alerting threshold as a qualitative PM2.5 level. |
|
Power factor threshold. 'percentage' must be provided. |
|
Alerting threshold as the ratio of active power to apparent power. Must be between 0 and 100. |
|
Real power threshold. 'draw' must be provided. |
|
Alerting threshold in watts. Must be between 0 and 3750. |
|
Temperature threshold. One of 'celsius', 'fahrenheit', or 'quality' must be provided. |
|
Alerting threshold in degrees Celsius. |
|
Alerting threshold in degrees Fahrenheit. |
|
Alerting threshold as a qualitative temperature level. |
|
TVOC concentration threshold. One of 'concentration' or 'quality' must be provided. |
|
Alerting threshold as TVOC micrograms per cubic meter. |
|
Alerting threshold as a qualitative TVOC level. |
|
Upstream power threshold. 'outageDetected' must be provided and set to true. |
|
Alerting threshold for an upstream power event. Must be set to true. Choices: |
|
Voltage threshold. 'level' must be provided. |
|
Alerting threshold in volts. Must be between 0 and 250. |
|
Water detection threshold. 'present' must be provided and set to true. |
|
Alerting threshold for a water detection event. Must be set to true. Choices: |
|
Id path parameter. |
|
meraki_action_batch_retry_wait_time (integer), action batch concurrency error retry wait time Default: :ansible-option-default:`60` |
|
meraki_api_key (string), API key generated in dashboard; can also be set as an environment variable MERAKI_DASHBOARD_API_KEY |
|
meraki_base_url (string), preceding all endpoint resources Default: :ansible-option-default:`"https://api.meraki.com/api/v1"` |
|
meraki_be_geo_id (string), optional partner identifier for API usage tracking; can also be set as an environment variable BE_GEO_ID Default: :ansible-option-default:`""` |
|
meraki_caller (string), optional identifier for API usage tracking; can also be set as an environment variable MERAKI_PYTHON_SDK_CALLER Default: :ansible-option-default:`""` |
|
meraki_certificate_path (string), path for TLS/SSL certificate verification if behind local proxy Default: :ansible-option-default:`""` |
|
meraki_inherit_logging_config (boolean), Inherits your own logger instance Choices: |
|
meraki_log_file_prefix (string), log file name appended with date and timestamp |
|
log_path (string), path to output log; by default, working directory of script if not specified Default: :ansible-option-default:`""` |
|
meraki_maximum_retries (integer), retry up to this many times when encountering 429s or other server-side errors Default: :ansible-option-default:`2` |
|
meraki_nginx_429_retry_wait_time (integer), Nginx 429 retry wait time Default: :ansible-option-default:`60` |
|
meraki_output_log (boolean), create an output log file? Choices: |
|
meraki_print_console (boolean), print logging output to console? Choices: |
|
meraki_requests_proxy (string), proxy server and port, if needed, for HTTPS Default: :ansible-option-default:`""` |
|
meraki_retry_4xx_error (boolean), retry if encountering other 4XX error (besides 429)? Choices: |
|
meraki_retry_4xx_error_wait_time (integer), other 4XX error retry wait time Default: :ansible-option-default:`60` |
|
meraki_simulate (boolean), simulate POST/PUT/DELETE calls to prevent changes? Choices: |
|
meraki_single_request_timeout (integer), maximum number of seconds for each API call Default: :ansible-option-default:`60` |
|
meraki_suppress_logging (boolean), disable all logging? you're on your own then! Choices: |
|
meraki_use_iterator_for_get_pages (boolean), list* methods will return an iterator with each object instead of a complete list with all items Choices: |
|
meraki_wait_on_rate_limit (boolean), retry if 429 rate limit error encountered? Choices: |
|
Name of the sensor alert profile. |
|
NetworkId path parameter. Network ID. |
|
List of recipients that will receive the alert. |
|
A list of emails that will receive information about the alert. |
|
A list of webhook endpoint IDs that will receive information about the alert. |
|
A list of SMS numbers that will receive information about the alert. |
|
The sensor schedule to use with the alert profile. |
|
ID of the sensor schedule to use with the alert profile. If not defined, the alert profile will be active at all times. |
|
List of device serials assigned to this sensor alert profile. |
Notes
Note
SDK Method used are sensor.Sensor.create_network_sensor_alerts_profile, sensor.Sensor.delete_network_sensor_alerts_profile, sensor.Sensor.update_network_sensor_alerts_profile,
Paths used are post /networks/{networkId}/sensor/alerts/profiles, delete /networks/{networkId}/sensor/alerts/profiles/{id}, put /networks/{networkId}/sensor/alerts/profiles/{id},
Does not support
check_mode
The plugin runs on the control node and does not use any ansible connection plugins, but instead the embedded connection manager from Cisco DNAC SDK
The parameters starting with dnac_ are used by the Cisco DNAC Python SDK to establish the connection
See Also
See also
- Cisco Meraki documentation for sensor createNetworkSensorAlertsProfile
Complete reference of the createNetworkSensorAlertsProfile API.
- Cisco Meraki documentation for sensor deleteNetworkSensorAlertsProfile
Complete reference of the deleteNetworkSensorAlertsProfile API.
- Cisco Meraki documentation for sensor updateNetworkSensorAlertsProfile
Complete reference of the updateNetworkSensorAlertsProfile API.
Examples
- name: Create
cisco.meraki.networks_sensor_alerts_profiles:
meraki_api_key: "{{meraki_api_key}}"
meraki_base_url: "{{meraki_base_url}}"
meraki_single_request_timeout: "{{meraki_single_request_timeout}}"
meraki_certificate_path: "{{meraki_certificate_path}}"
meraki_requests_proxy: "{{meraki_requests_proxy}}"
meraki_wait_on_rate_limit: "{{meraki_wait_on_rate_limit}}"
meraki_nginx_429_retry_wait_time: "{{meraki_nginx_429_retry_wait_time}}"
meraki_action_batch_retry_wait_time: "{{meraki_action_batch_retry_wait_time}}"
meraki_retry_4xx_error: "{{meraki_retry_4xx_error}}"
meraki_retry_4xx_error_wait_time: "{{meraki_retry_4xx_error_wait_time}}"
meraki_maximum_retries: "{{meraki_maximum_retries}}"
meraki_output_log: "{{meraki_output_log}}"
meraki_log_file_prefix: "{{meraki_log_file_prefix}}"
meraki_log_path: "{{meraki_log_path}}"
meraki_print_console: "{{meraki_print_console}}"
meraki_suppress_logging: "{{meraki_suppress_logging}}"
meraki_simulate: "{{meraki_simulate}}"
meraki_be_geo_id: "{{meraki_be_geo_id}}"
meraki_use_iterator_for_get_pages: "{{meraki_use_iterator_for_get_pages}}"
meraki_inherit_logging_config: "{{meraki_inherit_logging_config}}"
state: present
conditions:
- direction: above
duration: 60
metric: temperature
threshold:
apparentPower:
draw: 17.2
current:
draw: 0.14
door:
open: true
frequency:
level: 58.8
humidity:
quality: inadequate
relativePercentage: 65
indoorAirQuality:
quality: fair
score: 80
noise:
ambient:
level: 120
quality: poor
pm25:
concentration: 90
quality: fair
powerFactor:
percentage: 81
realPower:
draw: 14.1
temperature:
celsius: 20.5
fahrenheit: 70.0
quality: good
tvoc:
concentration: 400
quality: poor
upstreamPower:
outageDetected: true
voltage:
level: 119.5
water:
present: true
name: My Sensor Alert Profile
networkId: string
recipients:
emails:
- miles@meraki.com
httpServerIds:
- aHR0cHM6Ly93d3cuZXhhbXBsZS5jb20vd2ViaG9va3M=
smsNumbers:
- '+15555555555'
schedule:
id: '5'
serials:
- Q234-ABCD-0001
- Q234-ABCD-0002
- Q234-ABCD-0003
- name: Delete by id
cisco.meraki.networks_sensor_alerts_profiles:
meraki_api_key: "{{meraki_api_key}}"
meraki_base_url: "{{meraki_base_url}}"
meraki_single_request_timeout: "{{meraki_single_request_timeout}}"
meraki_certificate_path: "{{meraki_certificate_path}}"
meraki_requests_proxy: "{{meraki_requests_proxy}}"
meraki_wait_on_rate_limit: "{{meraki_wait_on_rate_limit}}"
meraki_nginx_429_retry_wait_time: "{{meraki_nginx_429_retry_wait_time}}"
meraki_action_batch_retry_wait_time: "{{meraki_action_batch_retry_wait_time}}"
meraki_retry_4xx_error: "{{meraki_retry_4xx_error}}"
meraki_retry_4xx_error_wait_time: "{{meraki_retry_4xx_error_wait_time}}"
meraki_maximum_retries: "{{meraki_maximum_retries}}"
meraki_output_log: "{{meraki_output_log}}"
meraki_log_file_prefix: "{{meraki_log_file_prefix}}"
meraki_log_path: "{{meraki_log_path}}"
meraki_print_console: "{{meraki_print_console}}"
meraki_suppress_logging: "{{meraki_suppress_logging}}"
meraki_simulate: "{{meraki_simulate}}"
meraki_be_geo_id: "{{meraki_be_geo_id}}"
meraki_use_iterator_for_get_pages: "{{meraki_use_iterator_for_get_pages}}"
meraki_inherit_logging_config: "{{meraki_inherit_logging_config}}"
state: absent
id: string
networkId: string
- name: Update by id
cisco.meraki.networks_sensor_alerts_profiles:
meraki_api_key: "{{meraki_api_key}}"
meraki_base_url: "{{meraki_base_url}}"
meraki_single_request_timeout: "{{meraki_single_request_timeout}}"
meraki_certificate_path: "{{meraki_certificate_path}}"
meraki_requests_proxy: "{{meraki_requests_proxy}}"
meraki_wait_on_rate_limit: "{{meraki_wait_on_rate_limit}}"
meraki_nginx_429_retry_wait_time: "{{meraki_nginx_429_retry_wait_time}}"
meraki_action_batch_retry_wait_time: "{{meraki_action_batch_retry_wait_time}}"
meraki_retry_4xx_error: "{{meraki_retry_4xx_error}}"
meraki_retry_4xx_error_wait_time: "{{meraki_retry_4xx_error_wait_time}}"
meraki_maximum_retries: "{{meraki_maximum_retries}}"
meraki_output_log: "{{meraki_output_log}}"
meraki_log_file_prefix: "{{meraki_log_file_prefix}}"
meraki_log_path: "{{meraki_log_path}}"
meraki_print_console: "{{meraki_print_console}}"
meraki_suppress_logging: "{{meraki_suppress_logging}}"
meraki_simulate: "{{meraki_simulate}}"
meraki_be_geo_id: "{{meraki_be_geo_id}}"
meraki_use_iterator_for_get_pages: "{{meraki_use_iterator_for_get_pages}}"
meraki_inherit_logging_config: "{{meraki_inherit_logging_config}}"
state: present
conditions:
- direction: above
duration: 60
metric: temperature
threshold:
apparentPower:
draw: 17.2
current:
draw: 0.14
door:
open: true
frequency:
level: 58.8
humidity:
quality: inadequate
relativePercentage: 65
indoorAirQuality:
quality: fair
score: 80
noise:
ambient:
level: 120
quality: poor
pm25:
concentration: 90
quality: fair
powerFactor:
percentage: 81
realPower:
draw: 14.1
temperature:
celsius: 20.5
fahrenheit: 70.0
quality: good
tvoc:
concentration: 400
quality: poor
upstreamPower:
outageDetected: true
voltage:
level: 119.5
water:
present: true
id: string
name: My Sensor Alert Profile
networkId: string
recipients:
emails:
- miles@meraki.com
httpServerIds:
- aHR0cHM6Ly93d3cuZXhhbXBsZS5jb20vd2ViaG9va3M=
smsNumbers:
- '+15555555555'
schedule:
id: '5'
serials:
- Q234-ABCD-0001
- Q234-ABCD-0002
- Q234-ABCD-0003
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
A dictionary or list with the response returned by the Cisco Meraki Python SDK Returned: always |