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

注意

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

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

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

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

cisco.meraki 2.16.0 中的新增功能

概要

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

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

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

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

注意

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

要求

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

  • meraki >= 2.4.9

  • python >= 3.5

参数

参数

注释

conditions

list / elements=dictionary

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

direction

string

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

duration

integer

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

metric

string

将要监视更改的传感器指标类型。可用指标包括视在功率、二氧化碳、电流、门、频率、湿度、室内空气质量、噪声、pm25、功率因数、有功功率、温度、tvoc、上游功率、电压和水。

threshold

dictionary

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

apparentPower

dictionary

视在功率阈值。必须提供 ‘draw’。

draw

float

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

current

dictionary

电流阈值。必须提供 ‘level’。

draw

float

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

door

dictionary

门打开阈值。必须提供 ‘open’ 并将其设置为 true。

open

boolean

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

选择

  • false

  • true

frequency

dictionary

电气频率阈值。必须提供 ‘level’。

level

float

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

humidity

dictionary

湿度阈值。必须提供 ‘relativePercentage’ 或 ‘quality’ 中的一个。

quality

string

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

relativePercentage

integer

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

indoorAirQuality

dictionary

室内空气质量评分阈值。必须提供 ‘score’ 或 ‘quality’ 中的一个。

quality

string

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

score

integer

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

noise

dictionary

噪声阈值。必须提供 ‘ambient’。

ambient

dictionary

环境噪声阈值。必须提供 ‘level’ 或 ‘quality’ 中的一个。

level

integer

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

quality

string

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

pm25

dictionary

PM2.5 浓度阈值。必须提供 ‘concentration’ 或 ‘quality’ 中的一个。

concentration

integer

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

quality

string

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

powerFactor

dictionary

功率因数阈值。必须提供 ‘percentage’。

percentage

integer

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

realPower

dictionary

有功功率阈值。必须提供 ‘draw’。

draw

float

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

temperature

dictionary

温度阈值。必须提供 ‘celsius’、‘fahrenheit’ 或 ‘quality’ 中的一个。

celsius

float

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

fahrenheit

float

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

quality

string

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

tvoc

dictionary

TVOC 浓度阈值。必须提供 ‘concentration’ 或 ‘quality’ 中的一个。

concentration

integer

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

quality

string

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

upstreamPower

dictionary

上游电源阈值。必须提供 ‘outageDetected’ 并将其设置为 true。

outageDetected

boolean

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

选择

  • false

  • true

voltage

dictionary

电压阈值。必须提供 ‘level’。

level

float

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

water

dictionary

水检测阈值。必须提供 ‘present’ 并将其设置为 true。

present

boolean

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

选择

  • false

  • true

id

string

ID 路径参数。

meraki_action_batch_retry_wait_time

integer

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

默认值: 60

meraki_api_key

string / required

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

meraki_base_url

string

meraki_base_url (string),所有端点资源的前缀

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

meraki_be_geo_id

string

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

默认值: ""

meraki_caller

string

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

默认值: ""

meraki_certificate_path

string

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

默认值: ""

meraki_inherit_logging_config

boolean

meraki_inherit_logging_config (boolean),继承您自己的日志记录器实例

选择

  • false ← (默认)

  • true

meraki_log_file_prefix

string

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

默认值: "meraki_api_"

meraki_log_path

string

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

默认值: ""

meraki_maximum_retries

integer

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

默认值: 2

meraki_nginx_429_retry_wait_time

integer

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

默认值: 60

meraki_output_log

boolean

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

选择

  • false

  • true ← (默认)

meraki_print_console

boolean

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

选择

  • false

  • true ← (默认)

meraki_requests_proxy

string

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

默认值: ""

meraki_retry_4xx_error

boolean

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

选择

  • false ← (默认)

  • true

meraki_retry_4xx_error_wait_time

integer

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

默认值: 60

meraki_simulate

boolean

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

选择

  • false ← (默认)

  • true

meraki_single_request_timeout

integer

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

默认值: 60

meraki_suppress_logging

boolean

meraki_suppress_logging (布尔值), 是否禁用所有日志记录? 那么你就自求多福吧!

选择

  • false ← (默认)

  • true

meraki_use_iterator_for_get_pages

boolean

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

选择

  • false ← (默认)

  • true

meraki_wait_on_rate_limit

boolean

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

选择

  • false

  • true ← (默认)

name

string

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

networkId

string

NetworkId 路径参数。网络 ID。

recipients

dictionary

将接收警报的收件人列表。

emails

列表 / 元素=字符串

将接收有关警报信息的电子邮件列表。

httpServerIds

列表 / 元素=字符串

将接收有关警报信息的 Webhook 端点 ID 列表。

smsNumbers

列表 / 元素=字符串

将接收有关警报信息的 SMS 号码列表。

schedule

dictionary

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

id

string

与警报配置文件一起使用的传感器计划的 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 传感器 createNetworkSensorAlertsProfile 的文档

createNetworkSensorAlertsProfile API 的完整参考。

Cisco Meraki 传感器 deleteNetworkSensorAlertsProfile 的文档

deleteNetworkSensorAlertsProfile API 的完整参考。

Cisco Meraki 传感器 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

dictionary

包含 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)