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.21.8).
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 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 1.0.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. | |
| 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. | |
| CO2 concentration threshold. One of ‘concentration’ or ‘quality’ must be provided. | |
| Alerting threshold as CO2 parts per million. | |
| Alerting threshold as a qualitative CO2 level. | |
| 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. | |
| Include dashboard link to sensor in messages (default true). Choices: 
 | |
| meraki_action_batch_retry_wait_time (integer), action batch concurrency error retry wait time Default:  | |
| 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:  | |
| meraki_be_geo_id (string), optional partner identifier for API usage tracking; can also be set as an environment variable BE_GEO_ID Default:  | |
| meraki_certificate_path (string), path for TLS/SSL certificate verification if behind local proxy 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 Default:  | |
| log_path (string), path to output log; by default, working directory of script if not specified Default:  | |
| meraki_maximum_retries (integer), retry up to this many times when encountering 429s or other server-side errors Default:  | |
| meraki_nginx_429_retry_wait_time (integer), Nginx 429 retry wait time Default:  | |
| 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:  | |
| 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:  | |
| 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:  | |
| 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: 
 | |
| A custom message that will appear in email and text message alerts. | |
| 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 Dashboard API Python(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_caller: "{{ meraki_caller }}"
    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
          co2:
            concentration: 400
            quality: poor
          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
    includeSensorUrl: true
    message: Check with Miles on what to do.
    name: My Sensor Alert Profile
    networkId: string
    recipients:
      emails:
        - [email protected]
      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_caller: "{{ meraki_caller }}"
    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_caller: "{{ meraki_caller }}"
    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
          co2:
            concentration: 400
            quality: poor
          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
    includeSensorUrl: true
    message: Check with Miles on what to do.
    name: My Sensor Alert Profile
    networkId: string
    recipients:
      emails:
        - [email protected]
      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 Sample:  | 
