cisco.meraki.networks_sensor_alerts_profiles 模块 – 网络_传感器_警报_配置文件的资源模块

注意

此模块是 cisco.meraki 集合(版本 2.18.3)的一部分。

如果您使用的是 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install cisco.meraki。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求

要在剧本中使用它,请指定:cisco.meraki.networks_sensor_alerts_profiles

cisco.meraki 2.16.0 中的新增功能

概要

  • 管理网络_传感器_警报_配置文件资源的创建、更新和删除操作。

  • 为网络创建传感器警报配置文件。

  • 从网络中删除传感器警报配置文件。

  • 更新网络的传感器警报配置文件。

注意

此模块具有相应的 操作插件

要求

执行此模块的主机需要以下要求。

  • meraki >= 2.4.9

  • python >= 3.5

参数

参数

注释

conditions

列表 / 元素=字典

将导致配置文件发送警报的条件列表。

direction

字符串

如果为“above”(高于),则当传感器读数高于阈值时将发送警报。如果为“below”(低于),则当传感器读数低于阈值时将发送警报。仅适用于温度、湿度、有功功率、视在功率、功率因数、电压、电流和频率阈值。

duration

整数

触发状态必须持续的时间长度(以秒为单位),之后才会发送警报。可用选项为 0 秒、1 分钟、2 分钟、3 分钟、4 分钟、5 分钟、10 分钟、15 分钟、30 分钟、1 小时、2 小时、4 小时和 8 小时。默认为 0。

metric

字符串

将监控其变化的传感器指标类型。可用指标包括视在功率、二氧化碳、电流、门、频率、湿度、室内空气质量、噪音、PM2.5、功率因数、有功功率、温度、TVOC、上游功率、电压和水。

threshold

字典

将导致发送警报的传感器读数阈值。此对象应包含一个与条件“metric”值匹配的单个属性键。

apparentPower

字典

视在功率阈值。“draw”必须提供。

draw

浮点数

以伏安为单位的警报阈值。必须介于 0 和 3750 之间。

current

字典

电流阈值。“level”必须提供。

draw

浮点数

以安培为单位的警报阈值。必须介于 0 和 15 之间。

door

字典

门打开阈值。“open”必须提供并设置为 true。

open

布尔值

门打开事件的警报阈值。必须设置为 true。

选项

  • false

  • true

frequency

字典

电频率阈值。“level”必须提供。

level

浮点数

以赫兹为单位的警报阈值。必须介于 0 和 60 之间。

humidity

字典

湿度阈值。必须提供“relativePercentage”或“quality”之一。

quality

字符串

作为定性湿度水平的警报阈值。

relativePercentage

整数

以 %RH 为单位的警报阈值。

indoorAirQuality

字典

室内空气质量评分阈值。必须提供“score”或“quality”之一。

quality

字符串

作为定性室内空气质量水平的警报阈值。

score

整数

作为室内空气质量评分的警报阈值。

noise

字典

噪音阈值。“ambient”必须提供。

ambient

字典

环境噪音阈值。必须提供“level”或“quality”之一。

level

整数

作为调整后的分贝的警报阈值。

quality

字符串

作为定性环境噪音水平的警报阈值。

pm25

字典

PM2.5 浓度阈值。必须提供“concentration”或“quality”之一。

concentration

整数

作为百万分率的 PM2.5 警报阈值。

quality

字符串

作为定性 PM2.5 水平的警报阈值。

powerFactor

字典

功率因数阈值。“percentage”必须提供。

percentage

整数

作为有功功率与视在功率之比的警报阈值。必须介于 0 和 100 之间。

realPower

字典

有功功率阈值。“draw”必须提供。

draw

浮点数

以瓦特为单位的警报阈值。必须介于 0 和 3750 之间。

temperature

字典

温度阈值。必须提供“celsius”、“fahrenheit”或“quality”之一。

celsius

浮点数

以摄氏度为单位的警报阈值。

fahrenheit

浮点数

以华氏度为单位的警报阈值。

quality

字符串

作为定性温度水平的警报阈值。

tvoc

字典

TVOC 浓度阈值。必须提供“concentration”或“quality”之一。

concentration

整数

作为每立方米微克的 TVOC 警报阈值。

quality

字符串

作为定性 TVOC 水平的警报阈值。

upstreamPower

字典

上游功率阈值。“outageDetected”必须提供并设置为 true。

outageDetected

布尔值

上游功率事件的警报阈值。必须设置为 true。

选项

  • false

  • true

voltage

字典

电压阈值。“level”必须提供。

level

浮点数

以伏特为单位的警报阈值。必须介于 0 和 250 之间。

water

字典

水检测阈值。“present”必须提供并设置为 true。

present

布尔值

水检测事件的警报阈值。必须设置为 true。

选项

  • false

  • true

id

字符串

ID 路径参数。

meraki_action_batch_retry_wait_time

整数

meraki_action_batch_retry_wait_time(整数),操作批处理并发错误重试等待时间

默认值: 60

meraki_api_key

字符串 / 必需

meraki_api_key(字符串),在仪表板中生成的 API 密钥;也可以设置为环境变量 MERAKI_DASHBOARD_API_KEY

meraki_base_url

字符串

meraki_base_url(字符串),在所有端点资源之前

默认值: "https://api.meraki.com/api/v1"

meraki_be_geo_id

字符串

meraki_be_geo_id(字符串),用于 API 使用跟踪的可选合作伙伴标识符;也可以设置为环境变量 BE_GEO_ID

默认值: ""

meraki_caller

字符串

meraki_caller (字符串), 可选标识符,用于 API 使用跟踪;也可以设置为环境变量 MERAKI_PYTHON_SDK_CALLER

默认值: ""

meraki_certificate_path

字符串

meraki_certificate_path (字符串), 如果位于本地代理后面,则用于 TLS/SSL 证书验证的路径

默认值: ""

meraki_inherit_logging_config

布尔值

meraki_inherit_logging_config (布尔值), 继承您自己的日志记录实例

选项

  • false ← (默认)

  • true

meraki_log_file_prefix

字符串

meraki_log_file_prefix (字符串), 日志文件名,附加日期和时间戳

默认值: "meraki_api_"

meraki_log_path

字符串

log_path (字符串), 日志输出路径;如果未指定,默认为脚本的工作目录

默认值: ""

meraki_maximum_retries

整数

meraki_maximum_retries (整数), 遇到 429 或其他服务器端错误时,最多重试这么多次

默认值: 2

meraki_nginx_429_retry_wait_time

整数

meraki_nginx_429_retry_wait_time (整数), Nginx 429 重试等待时间

默认值: 60

meraki_output_log

布尔值

meraki_output_log (布尔值), 创建输出日志文件?

选项

  • false

  • true ← (默认)

meraki_print_console

布尔值

meraki_print_console (布尔值), 将日志输出打印到控制台?

选项

  • false

  • true ← (默认)

meraki_requests_proxy

字符串

meraki_requests_proxy (字符串), 代理服务器和端口(如果需要),用于 HTTPS

默认值: ""

meraki_retry_4xx_error

布尔值

meraki_retry_4xx_error (布尔值), 遇到其他 4XX 错误(除了 429)时是否重试?

选项

  • false ← (默认)

  • true

meraki_retry_4xx_error_wait_time

整数

meraki_retry_4xx_error_wait_time (整数), 其他 4XX 错误重试等待时间

默认值: 60

meraki_simulate

布尔值

meraki_simulate (布尔值), 模拟 POST/PUT/DELETE 调用以防止更改?

选项

  • false ← (默认)

  • true

meraki_single_request_timeout

整数

meraki_single_request_timeout (整数), 每个 API 调用的最大秒数

默认值: 60

meraki_suppress_logging

布尔值

meraki_suppress_logging (布尔值), 禁用所有日志记录?那么您就只能自己处理了!

选项

  • false ← (默认)

  • true

meraki_use_iterator_for_get_pages

布尔值

meraki_use_iterator_for_get_pages (布尔值), list* 方法将返回包含每个对象的迭代器,而不是包含所有项目的完整列表

选项

  • false ← (默认)

  • true

meraki_wait_on_rate_limit

布尔值

meraki_wait_on_rate_limit (布尔值), 遇到 429 速率限制错误时是否重试?

选项

  • false

  • true ← (默认)

name

字符串

传感器告警配置文件的名称。

networkId

字符串

NetworkId 路径参数。网络 ID。

recipients

字典

将收到告警的接收者列表。

emails

列表 / 元素=字符串

将收到有关告警信息的电子邮件列表。

httpServerIds

列表 / 元素=字符串

将收到有关告警信息的 Webhook 端点 ID 列表。

smsNumbers

列表 / 元素=字符串

将收到有关告警信息的短信号码列表。

schedule

字典

与告警配置文件一起使用的传感器计划。

id

字符串

与告警配置文件一起使用的传感器计划的 ID。如果未定义,则告警配置文件将始终处于活动状态。

serials

列表 / 元素=字符串

分配给此传感器告警配置文件的设备序列号列表。

注释

注意

  • 使用的 SDK 方法为 sensor.Sensor.create_network_sensor_alerts_profile、sensor.Sensor.delete_network_sensor_alerts_profile、sensor.Sensor.update_network_sensor_alerts_profile,

  • 使用的路径为 post /networks/{networkId}/sensor/alerts/profiles、delete /networks/{networkId}/sensor/alerts/profiles/{id}、put /networks/{networkId}/sensor/alerts/profiles/{id},

  • 不支持 check_mode

  • 该插件在控制节点上运行,不使用任何 Ansible 连接插件,而是使用 Cisco DNAC SDK 的嵌入式连接管理器

  • 以 dnac_ 开头的参数由 Cisco DNAC Python SDK 用于建立连接

另请参见

另请参见

Cisco Meraki 文档,关于 sensor createNetworkSensorAlertsProfile

createNetworkSensorAlertsProfile API 的完整参考。

Cisco Meraki 文档,关于 sensor deleteNetworkSensorAlertsProfile

deleteNetworkSensorAlertsProfile API 的完整参考。

Cisco Meraki 文档,关于 sensor updateNetworkSensorAlertsProfile

updateNetworkSensorAlertsProfile API 的完整参考。

示例

- 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:
      - [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_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:
      - [email protected]
      httpServerIds:
      - aHR0cHM6Ly93d3cuZXhhbXBsZS5jb20vd2ViaG9va3M=
      smsNumbers:
      - '+15555555555'
    schedule:
      id: '5'
    serials:
    - Q234-ABCD-0001
    - Q234-ABCD-0002
    - Q234-ABCD-0003

返回值

常见的返回值已在此处记录,以下是此模块特有的字段

描述

meraki_response

字典

包含 Cisco Meraki Python SDK 返回的响应的字典或列表

返回:始终返回

示例: {"conditions": [{"direction": "string", "duration": 0, "metric": "string", "threshold": {"apparentPower": {"draw": 0}, "current": {"draw": 0}, "door": {"open": true}, "frequency": {"level": 0}, "humidity": {"quality": "string", "relativePercentage": 0}, "indoorAirQuality": {"quality": "string", "score": 0}, "noise": {"ambient": {"level": 0, "quality": "string"}}, "pm25": {"concentration": 0, "quality": "string"}, "powerFactor": {"percentage": 0}, "realPower": {"draw": 0}, "temperature": {"celsius": 0, "fahrenheit": 0, "quality": "string"}, "tvoc": {"concentration": 0, "quality": "string"}, "upstreamPower": {"outageDetected": true}, "voltage": {"level": 0}, "water": {"present": true}}}], "name": "string", "profileId": "string", "recipients": {"emails": ["string"], "httpServerIds": ["string"], "smsNumbers": ["string"]}, "schedule": {"id": "string", "name": "string"}, "serials": ["string"]}

作者

  • Francisco Munoz (@fmunoz)