dellemc.openmanage.ome_configuration_compliance_baseline 模块 – 在 OpenManage Enterprise 上创建、修改和删除配置合规性基线,并修复不合规设备

注意

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

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

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

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

dellemc.openmanage 3.2.0 中的新增功能

概要

  • 此模块允许在 OpenManage Enterprise 上创建、修改和删除配置合规性基线。此模块还允许通过更改设备的属性以与关联的基线属性匹配来修复与基线不合规的设备。

要求

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

  • python >= 3.9.6

参数

参数

注释

ca_path

路径

在 dellemc.openmanage 5.0.0 中添加

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

command

字符串

create 从现有合规性模板创建配置基线。create 支持 check_mode 或仅针对 *名称* 的幂等性检查。

modify 修改现有基线。只能修改 *名称*、*描述*、*device_ids*、*device_service_tags* 和 *device_group_names*。

警告:修改基线时,提供的 *device_ids*、*device_group_names* 和 *device_service_tags* 将替换基线中之前存在的设备。

delete 根据基线名称删除配置合规性基线的列表。无效的基线名称将被忽略。

remediate 通过更改设备的属性以与关联的基线属性匹配来修复与基线不合规的设备。

如果未提供 *device_ids* 或 *device_service_tags*,则会对所有不合规设备执行 remediate

选项

  • "create" ← (默认)

  • "modify"

  • "delete"

  • "remediate"

cron

字符串

提供基于 Quartz cron 格式的 cron 表达式。

时间格式为“%S %M %H %d %m ? %Y”。

当 *run_later* 为 true 时适用。

description

字符串

合规性基线的描述。

此选项适用于 *command* 为 createmodify 的情况。

device_group_names

列表 / 元素=字符串

目标设备组的名称。

此选项适用于 *command* 为 createmodify 的情况,并且与 *device_ids* 和 *device_service_tag* 互斥。

device_ids

列表 / 元素=整数

目标设备的 ID。

此选项适用于 *command* 为 createmodifyremediate 的情况,并且与 *device_service_tag* 和 *device_group_names* 互斥。

device_service_tags

列表 / 元素=字符串

目标设备的服务标签。

此选项适用于 *command* 为 createmodifyremediate 的情况,并且与 *device_ids* 和 *device_group_names* 互斥。

hostname

字符串 / 必需

OpenManage Enterprise IP 地址或主机名。

job_wait

布尔值

提供等待作业完成的选项。

此选项适用于 *command* 为 createmodifyremediate 的情况。

选项

  • false

  • true ← (默认)

job_wait_timeout

整数

job_wait 的最大等待时间(秒)。作业仅在此持续时间内跟踪。

job_waittrue 时,此选项适用。

默认值: 10800

名称

列表 / 元素=字符串 / 必需

配置合规性基线的名称。

commandcreatemodifydelete 时,此选项适用。

commanddelete 时,提供支持的配置合规性基线名称列表。

new_name

字符串

要修改的合规性基线的新的名称。

commandmodify 时,此选项适用。

密码

字符串

OpenManage Enterprise 密码。

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

示例:export OME_PASSWORD=password

端口

整数

OpenManage Enterprise HTTPS 端口。

默认值: 443

run_later

布尔值

指示立即还是将来修复。

commandremediate 时适用。

如果 run_latertrue,则忽略 staged_at_reboot

如果 run_latertrue,则 job_wait 不适用。

如果 run_latertrue,则必须指定 cron

选项

  • false

  • true

staged_at_reboot

布尔值

指示是否必须在下一次重启时执行修复。

如果 staged_at_reboottrue,则修复将在下次重启期间发生。

选项

  • false

  • true

template_id

整数

用于创建合规性基线的部署模板的 ID。

commandcreate 且与 template_name 互斥时,此选项适用。

template_name

字符串

用于创建合规性基线的合规性模板的名称。

用于创建合规性基线的部署模板的名称。

commandcreate 且与 template_id 互斥时,此选项适用。

超时

整数

在 dellemc.openmanage 5.0.0 中添加

套接字级别的超时时间(秒)。

默认值: 30

用户名

字符串

OpenManage Enterprise 用户名。

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

示例:export OME_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,则使用环境变量 OME_X_AUTH_TOKEN

示例:export OME_X_AUTH_TOKEN=x_auth_token

注释

注意

  • 此模块支持 check_mode

  • 确保设备拥有执行基线合规性操作所需的许可证。

示例

---
- name: Create a configuration compliance baseline using device IDs
  dellemc.openmanage.ome_configuration_compliance_baseline:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "/path/to/ca_cert.pem"
    names: "baseline1"
    template_name: "template1"
    description: "description of baseline"
    device_ids:
      - 1111
      - 2222

- name: Create a configuration compliance baseline using device service tags
  dellemc.openmanage.ome_configuration_compliance_baseline:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "/path/to/ca_cert.pem"
    names: "baseline1"
    template_id: 1234
    description: "description of baseline"
    device_service_tags:
      - "SVCTAG1"
      - "SVCTAG2"

- name: Create a configuration compliance baseline using group names
  dellemc.openmanage.ome_configuration_compliance_baseline:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "/path/to/ca_cert.pem"
    names: "baseline2"
    template_id: 2
    job_wait_timeout: 1000
    description: "description of baseline"
    device_group_names:
      - "Group1"
      - "Group2"

- name: Delete the configuration compliance baselines
  dellemc.openmanage.ome_configuration_compliance_baseline:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "/path/to/ca_cert.pem"
    command: delete
    names:
      - baseline1
      - baseline2

- name: Modify a configuration compliance baseline using group names
  dellemc.openmanage.ome_configuration_compliance_baseline:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "/path/to/ca_cert.pem"
    command: modify
    names: "baseline1"
    new_name: "baseline_update"
    template_name: "template2"
    description: "new description of baseline"
    job_wait_timeout: 1000
    device_group_names:
      - Group1

- name: Remediate specific non-compliant devices to a configuration compliance baseline using device IDs
  dellemc.openmanage.ome_configuration_compliance_baseline:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "/path/to/ca_cert.pem"
    command: "remediate"
    names: "baseline1"
    device_ids:
      - 1111

- name: Remediate specific non-compliant devices to a configuration compliance baseline using device service tags
  dellemc.openmanage.ome_configuration_compliance_baseline:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "/path/to/ca_cert.pem"
    command: "remediate"
    names: "baseline1"
    device_service_tags:
      - "SVCTAG1"
      - "SVCTAG2"

- name: Remediate all the non-compliant devices to a configuration compliance baseline
  dellemc.openmanage.ome_configuration_compliance_baseline:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "/path/to/ca_cert.pem"
    command: "remediate"
    names: "baseline1"

- name: Remediate specific non-compliant devices to a configuration compliance baseline using device IDs at scheduled time
  dellemc.openmanage.ome_configuration_compliance_baseline:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "/path/to/ca_cert.pem"
    command: "remediate"
    names: "baseline1"
    device_ids:
      - 1111
    run_later: true
    cron: "0 10 11 14 02 ? 2032"  # Feb 14,2032 11:10:00

- name: Remediate specific non-compliant devices to a configuration compliance baseline using device service tags on next reboot
  dellemc.openmanage.ome_configuration_compliance_baseline:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "/path/to/ca_cert.pem"
    command: "remediate"
    names: "baseline1"
    device_service_tags:
      - "SVCTAG1"
      - "SVCTAG2"
    staged_at_reboot: true

返回值

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

描述

compliance_status

字典

合规性基线操作的状态。

返回:commandcreatemodify

示例: {"BaselineTargets": [{"Id": 1111, "Type": {"Id": 1000, "Name": "DEVICE"}}], "ConfigComplianceSummary": {"ComplianceStatus": "OK", "NumberOfCritical": 0, "NumberOfIncomplete": 0, "NumberOfNormal": 0, "NumberOfWarning": 0}, "Description": null, "Id": 13, "LastRun": "2021-02-27 13:15:13.751", "Name": "baseline1", "PercentageComplete": "100", "TaskId": 26584, "TaskStatus": 2070, "TemplateId": 102, "TemplateName": "one", "TemplateType": 2}

error_info

字典

HTTP 错误的详细信息。

返回:HTTP 错误时

示例: {"error": {"@Message.ExtendedInfo": [{"Message": "Unable to process the request because an error occurred.", "MessageArgs": [], "MessageId": "GEN1234", "RelatedProperties": [], "Resolution": "Retry the operation. If the issue persists, contact your system administrator.", "Severity": "Critical"}], "code": "Base.1.0.GeneralError", "message": "A general error has occurred. See ExtendedInfo for more information."}}

incompatible_devices

列表 / 元素=字符串

无法用于执行基线合规性操作的设备的详细信息

返回:device_service_tagsdevice_ids 包含 createmodify 的不兼容设备时

示例: [1234, 5678]

job_details

列表 / 元素=字符串

失败作业的详细信息。

返回:作业失败时

示例: [{"ElapsedTime": "00:22:17", "EndTime": "2024-06-19 13:42:41.285", "ExecutionHistoryId": 797320, "Id": 14123, "IdBaseEntity": 19559, "JobStatus": {"Id": 2070, "Name": "Failed"}, "Key": "SVCTAG1", "Progress": "100", "StartTime": "2024-06-19 13:20:23.495", "Value": "Starting Pre-checks....LC status is : InUse, wait for 30 seconds and retry ...(1)"}]

job_id

整数

commandremediate 时创建的任务 ID。

返回:commandremediate

示例: 14123

msg

字符串

配置合规性基线操作的总体状态。

返回:始终

示例: "Successfully created the configuration compliance baseline."

作者

  • Sajna Shetty(@Sajna-Shetty)

  • Abhishek Sinha(@Abhishek-Dell)

  • Shivam Sharma(@ShivamSh3)