dellemc.openmanage.redfish_event_subscription 模块 – 管理 Redfish 订阅

注意

此模块是 dellemc.openmanage 集合(版本 9.9.0)的一部分。

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

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

要在 playbook 中使用它,请指定:dellemc.openmanage.redfish_event_subscription

dellemc.openmanage 4.1.0 中的新增功能

概要

  • 此模块允许添加或删除 Redfish 事件订阅。

要求

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

  • python >= 3.9.6

参数

参数

注释

baseuri

字符串 / 必需

目标带外控制器的 IP 地址。例如:<ipaddress>:<port>。

ca_path

路径

在 dellemc.openmanage 5.0.0 中添加

包含用于验证的 CA 证书的隐私增强邮件 (PEM) 文件。

destination

字符串 / 必需

用于发送事件的目标的 HTTPS URI。

必须使用 HTTPS。

event_format_type

字符串

指定要订阅的事件的格式类型。

Event 用于订阅事件格式类型。

MetricReport 用于订阅指标报告格式类型。

选项

  • "Event" ← (默认)

  • "MetricReport"

event_type

字符串

指定要订阅的事件类型。

Alert 用于订阅警报。

MetricReport 用于订阅指标报告。

选项

  • "Alert" ← (默认)

  • "MetricReport"

password

字符串

目标带外控制器的密码。

如果未提供密码,则使用环境变量 IDRAC_PASSWORD

示例:export IDRAC_PASSWORD=password

state

字符串

present 添加新的事件订阅。

absent 删除具有指定 *destination* 的事件订阅。

选项

  • "present" ← (默认)

  • "absent"

timeout

整数

在 dellemc.openmanage 5.0.0 中添加

套接字级别的超时时间(以秒为单位)。

默认: 30

username

字符串

目标带外控制器的用户名。

如果未提供用户名,则使用环境变量 IDRAC_USERNAME

示例:export IDRAC_USERNAME=username

validate_certs

布尔值

在 dellemc.openmanage 5.0.0 中添加

如果为 false,则不会验证 SSL 证书。

仅在个人控制的使用自签名证书的站点上配置 false

在集合版本 5.0.0 之前,*validate_certs* 默认为 false

选项

  • false

  • true ← (默认)

x_auth_token

字符串

在 dellemc.openmanage 9.3.0 中添加

身份验证令牌。

如果未提供 x_auth_token,则使用环境变量 IDRAC_X_AUTH_TOKEN

示例:export IDRAC_X_AUTH_TOKEN=x_auth_token

备注

注意

  • 对于指标订阅,*event_type* 需要为 MetricReport,*event_format_type* 需要为 MetricReport

  • 对于事件订阅,*event_type* 需要为 Alert,*event_format_type* 需要为 Event

  • 不支持修改订阅。

  • 上下文始终设置为 RedfishEvent。

  • 此模块支持 check_mode

示例

---
- name: Add Redfish metric subscription
  redfish_event_subscription:
    baseuri: "192.168.0.1"
    username: "user_name"
    password: "user_password"
    ca_path: "/path/to/ca_cert.pem"
    destination: "https://192.168.1.100:8188"
    event_type: MetricReport
    event_format_type: MetricReport
    state: present

- name: Add Redfish alert subscription
  redfish_event_subscription:
    baseuri: "192.168.0.1"
    username: "user_name"
    password: "user_password"
    ca_path: "/path/to/ca_cert.pem"
    destination: "https://server01.example.com:8188"
    event_type: Alert
    event_format_type: Event
    state: present

- name: Delete Redfish subscription with a specified destination
  redfish_event_subscription:
    baseuri: "192.168.0.1"
    username: "user_name"
    password: "user_password"
    ca_path: "/path/to/ca_cert.pem"
    destination: "https://server01.example.com:8188"
    state: absent

返回值

通用返回值记录在 此处,以下是此模块独有的字段

描述

error_info

字典

http 错误的详细信息。

返回:出现 http 错误时

示例: {"error": {"@Message.ExtendedInfo": [{"Message": "由于输入的 JSON 数据格式无效,无法完成操作。", "Resolution": "请执行以下操作,然后重试操作: 1) 输入正确的 JSON 数据格式,然后重试操作。 2) 确保 JSON 数据格式中没有语法错误。 3) 确保 JSON 数据格式中没有重复的键。", "Severity": "Critical"}, {"Message": "提交的请求主体是格式错误的 JSON ,接收服务无法解析。", "Resolution": "确保请求主体是有效的 JSON,然后重新提交请求。", "Severity": "Critical"}], "code": "Base.1.2.GeneralError", "message": "发生了一般错误。 请查看 ExtendedInfo 了解更多信息。"}}

消息

字符串

任务的总体状态。

返回: 始终

示例: "已成功添加订阅。"

状态

字典

返回创建的订阅对象

返回: 成功添加订阅时

示例: {"@Message.ExtendedInfo": [{"Message": "资源已成功创建", "MessageArgs": [], "[email protected]": 0, "MessageId": "Base.1.7.Created", "RelatedProperties": [], "[email protected]": 0, "Resolution": "无", "Severity": "OK"}, {"Message": "已成功创建一个新资源。", "MessageArgs": [], "[email protected]": 0, "MessageId": "IDRAC.2.2.SYS414", "RelatedProperties": [], "[email protected]": 0, "Resolution": "不需要响应操作。", "Severity": "Informational"}], "Actions": {"#EventDestination.ResumeSubscription": {"target": "/redfish/v1/EventService/Subscriptions/5d432f36-81f4-11eb-9dc0-2cea7ff7ff9a/Actions/EventDestination.ResumeSubscription"}}, "Context": "RedfishEvent", "DeliveryRetryPolicy": "RetryForever", "Description": "事件订阅详细信息", "Destination": "https://192.168.1.100:8188", "EventFormatType": "Event", "EventTypes": ["Alert"], "[email protected]": 1, "HttpHeaders": [], "[email protected]": 0, "Id": "5d432f36-81f4-11eb-9dc0-2cea7ff7ff9a", "MetricReportDefinitions": [], "[email protected]": 0, "Name": "EventSubscription 5d432f36-81f4-11eb-9dc0-2cea7ff7ff9a", "OriginResources": [], "[email protected]": 0, "Protocol": "Redfish", "Status": {"Health": "OK", "HealthRollup": "OK", "State": "Enabled"}, "SubscriptionType": "RedfishEvent"}

作者

  • Trevor Squillario (@TrevorSquillario)

  • Sachin Apagundi (@sachin-apa)