cisco.dnac.network_compliance_workflow_manager 模块 – 用于在 Cisco Catalyst Center 中管理可访问设备上的网络合规性任务的网络合规性模块。

注意

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

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

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

要在 playbook 中使用它,请指定:cisco.dnac.network_compliance_workflow_manager

cisco.dnac 6.14.0 中的新增功能

概要

  • 使用 IP 地址或站点对可访问设备执行合规性检查或同步配置。

  • 用于对可访问设备执行完整合规性检查或特定类别检查的 API。

  • 用于同步设备上设备配置的 API。

要求

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

  • dnacentersdk == 2.7.0

  • python >= 3.9

参数

参数

注释

config

列表 / 元素=字典 / 必需

用于运行合规性检查或同步设备配置的设备详细信息列表。

ip_address_list

列表 / 元素=字符串

要对其运行合规性检查或同步设备配置的设备的 IP 地址列表。模块执行需要“ip_address_list”或“site_name”中的一个。如果同时提供“site_name”和“ip_address_list”,则操作将对同时存在于“ip_address_list”和指定站点中的设备执行。(例如:[“204.1.2.2”, “204.1.2.5”, “204.1.2.4”])

run_compliance

布尔值

确定是否应在“ip_address_list”和/或“site_name”中指定的设备上触发完整合规性检查。如果为 True,则将为所有类别触发合规性检查。如果为 False,则即使提供了 run_compliance 类别,也不会触发合规性检查。注意 - 此操作不能在接入点 (AP) 上执行,如果提供了 AP,则将跳过它们。

选项

  • false

  • true ← (默认)

run_compliance_batch_size

整数

指定要在合规性操作的单个批次中包含的设备数量。此参数对于优化大规模合规性检查期间的性能至关重要。通过以可管理的批次处理设备,系统可以提高操作的速度和效率,减少所需的时间,并最大限度地降低系统资源过载的风险。调整此参数可以在吞吐量和资源利用率之间取得平衡,确保合规性管理平稳有效。注意 - 由于系统负载增加,run_compliance_batch_size 值较高可能会导致错误。

默认值: 100

run_compliance_categories

列表 / 元素=字符串

指定合规性类别允许您仅针对提到的类别触发合规性检查。类别可以包含“INTENT”、“RUNNING_CONFIG”、“IMAGE”、“PSIRT”、“EOX”、“NETWORK_SETTINGS”选项中的一个或多个值。“INTENT”类别映射到合规性类型“NETWORK_SETTINGS”、“NETWORK_PROFILE”、“WORKFLOW”、“FABRIC”、“APPLICATION_VISIBILITY”。如果“run_compliance”为 False,则即使提供了“run_compliance_categories”,也不会触发合规性检查。(例如:[“INTENT”, “RUNNING_CONFIG”, “IMAGE”, “PSIRT”, “EOX”, “NETWORK_SETTINGS”])

site_name

字符串

指定“site_name”时,模块将在指定站点中的所有设备上执行操作。这是一个字符串值,应表示站点的完整层次路径。模块执行需要“site_name”或“ip_address_list”中的一个。如果同时提供“site_name”和“ip_address_list”,则操作将对同时存在于“ip_address_list”和指定站点中的设备执行。(例如:“Global/USA/San Francisco/Building_2/floor_1”)

sync_device_config

布尔值

确定是否同步在“ip_address_list”和/或“site_name”中指定的设备上的设备配置。设备配置同步主要解决`RUNNING_CONFIG`的状态。如果设置为 True,并且`RUNNING_CONFIG`状态不符合要求,此操作将通过向设备发出“write memory”命令来将设备运行配置提交到启动配置。注意 - 此操作不能在接入点 (AP) 上执行,如果提供了 AP,则会跳过它们。

选项

  • false ← (默认)

  • true

config_verify

布尔值

设置为 True 以在应用 playbook 配置后验证 Cisco Catalyst Center 配置。

选项

  • false ← (默认)

  • true

dnac_api_task_timeout

整数

定义获取任务详细信息的 API 调用的超时时间(以秒为单位)。如果在此期间内未收到任务详细信息,则进程将结束,并会记录超时通知。

默认值: 1200

dnac_debug

布尔值

指示 Cisco Catalyst Center SDK 中是否启用了调试。

选项

  • false ← (默认)

  • true

dnac_host

字符串 / 必需

Cisco Catalyst Center 的主机名。

dnac_log

布尔值

启用/禁用 playbook 执行日志记录的标志。

如果为 true 且提供了 dnac_log_file_path,则 - 在执行位置创建具有指定名称的日志文件。

如果为 true 且未提供 dnac_log_file_path,则 - 在执行位置创建名为“dnac.log”的日志文件。

如果为 false,则 - 日志记录被禁用。

如果日志文件不存在,则 - 根据“dnac_log_append”标志以追加或写入模式创建它。

如果日志文件存在,则 - 根据“dnac_log_append”标志覆盖或追加它。

选项

  • false ← (默认)

  • true

dnac_log_append

布尔值

确定文件的模式。设置为 True 表示“追加”模式。设置为 False 表示“写入”模式。

选项

  • false

  • true ← (默认)

dnac_log_file_path

字符串

控制日志记录。如果 dnac_log 为 True,则记录日志。

如果未指定路径,则 - 当“dnac_log_append”为 True 时,在当前 Ansible 目录中生成“dnac.log”;日志被追加。- 当“dnac_log_append”为 False 时,生成“dnac.log”;日志被覆盖。

如果指定了路径,则 - 当“dnac_log_append”为 True 时,文件以追加模式打开。- 当“dnac_log_append”为 False 时,文件以写入 (w) 模式打开。- 在共享文件场景中,如果没有追加模式,则每次模块执行后都会覆盖内容。- 对于共享日志文件,将第一个模块的追加设置为 False(以覆盖);对于后续模块,将追加设置为 True。

默认值: "dnac.log"

dnac_log_level

字符串

设置日志级别的阈值。级别等于或高于此级别的消息将被记录。级别按严重性顺序排列 [CRITICAL,ERROR,WARNING,INFO,DEBUG]。

CRITICAL 表示导致程序停止的严重错误。仅显示 CRITICAL 消息。

ERROR 表示阻止函数执行的问题。显示 ERROR 和 CRITICAL 消息。

WARNING 表示潜在的未来问题。显示 WARNING、ERROR、CRITICAL 消息。

INFO 追踪正常操作。显示 INFO、WARNING、ERROR、CRITICAL 消息。

DEBUG 提供详细的诊断信息。显示所有日志消息。

默认值: "WARNING"

dnac_password

字符串

Cisco Catalyst Center 身份验证的密码。

dnac_port

字符串

指定与 Cisco Catalyst Center 关联的端口号。

默认值: "443"

dnac_task_poll_interval

整数

指定连续调用 API 以检索任务详细信息之间的间隔(以秒为单位)。

默认值: 2

dnac_username

别名:user

字符串

Cisco Catalyst Center 身份验证的用户名。

默认值: "admin"

dnac_verify

布尔值

启用或禁用 SSL 证书验证的标志。

选项

  • false

  • true ← (默认)

dnac_version

字符串

指定 SDK 应使用的 Cisco Catalyst Center 版本。

默认值: "2.2.3.3"

state

字符串

模块完成后的 Cisco Catalyst Center 状态。

选项

  • "merged" ← (默认)

validate_response_schema

布尔值

Cisco Catalyst Center SDK 的标志,用于启用根据 JSON 模式验证请求正文。

选项

  • false

  • true ← (默认)

备注

注意

  • 使用的 SDK 方法是 compliance.Compliance.run_compliance compliance.Compliance.commit_device_configuration task.Task.get_task_by_id task.Task.get_task_details_by_id task.Task.get_tasks compliance.Compliance.compliance_details_of_device devices.Devices.get_device_list devices.Devices.get_device_by_id site.Site.get_site site.Site.get_membership site_design.Site_design.get_sites site_design.Site_design.get_site_assigned_network_devices

  • 使用的路径是 post /dna/intent/api/v1/compliance/ post /dna/intent/api/v1/network-device-config/write-memory get /dna/intent/api/v1/task/{taskId} get /dna/intent/api/v1/compliance/${deviceUuid}/detail get /dna/intent/api/v1/membership/${siteId} get /dna/intent/api/v1/site get /dna/intent/api/v1/networkDevices/assignedToSite get /dna/intent/api/v1/sites get /dna/intent/api/v1/tasks/${id}/detail get /dna/intent/api/v1/tasks get /dna/intent/api/v1/network-device/${id} get /dna/intent/api/v1/network-device

  • 不支持 check_mode

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

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

示例

- name: Run Compliance check on device(s) using IP address list (run_compliance by default is True)
  cisco.dnac.network_compliance_workflow_manager:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    dnac_log_level: "{{dnac_log_level}}"
    dnac_log: false
    config:
      - ip_address_list: ["204.1.2.2", "204.1.2.5", "204.1.2.4"]

- name: Run Compliance check on device(s) using IP address list
  cisco.dnac.network_compliance_workflow_manager:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    dnac_log_level: "{{dnac_log_level}}"
    dnac_log: false
    config:
      - ip_address_list: ["204.1.2.2", "204.1.2.5", "204.1.2.4"]
        run_compliance: true

- name: Run Compliance check on device(s) using Site
  cisco.dnac.network_compliance_workflow_manager:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    dnac_log_level: "{{dnac_log_level}}"
    dnac_log: false
    config:
      - site_name: "Global/USA/San Francisco/Building_1/floor_1"
        run_compliance: true

- name: Run Compliance check on device(s) using both IP address list and Site
  cisco.dnac.network_compliance_workflow_manager:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    dnac_log_level: "{{dnac_log_level}}"
    dnac_log: false
    config:
      - ip_address_list: ["204.1.2.2", "204.1.2.5", "204.1.2.4"]
        site_name: "Global/USA/San Francisco/Building_1/floor_1"
        run_compliance: true

- name: Run Compliance check with specific categories on device(s) using IP address list
  cisco.dnac.network_compliance_workflow_manager:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    dnac_log_level: "{{dnac_log_level}}"
    dnac_log: false
    config:
      - ip_address_list: ["204.1.2.2", "204.1.2.5", "204.1.2.4"]
        run_compliance: true
        run_compliance_categories: ["INTENT", "RUNNING_CONFIG", "IMAGE", "PSIRT"]

- name: Run Compliance check with specific categories on device(s) using Site
  cisco.dnac.network_compliance_workflow_manager:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    dnac_log_level: "{{dnac_log_level}}"
    dnac_log: false
    config:
      - site_name: "Global/USA/San Francisco/Building_1/floor_1"
        run_compliance: true
        run_compliance_categories: ["INTENT", "RUNNING_CONFIG", "IMAGE", "PSIRT"]

- name: Run Compliance check with specific categories on device(s) using both IP address list and Site
  cisco.dnac.network_compliance_workflow_manager:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    dnac_log_level: "{{dnac_log_level}}"
    dnac_log: false
    config:
      - ip_address_list: ["204.1.2.2", "204.1.2.5", "204.1.2.4"]
        site_name: "Global/USA/San Francisco/Building_1/floor_1"
        run_compliance: true
        run_compliance_categories: ["INTENT", "RUNNING_CONFIG", "IMAGE", "PSIRT"]

- name: Sync Device Configuration on device(s) using IP address list
  cisco.dnac.network_compliance_workflow_manager:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    dnac_log_level: "{{dnac_log_level}}"
    dnac_log: false
    config:
      - site_name: "Global"
        sync_device_config: true
        run_compliance: False

- name: Sync Device Configuration on device(s) using Site
  cisco.dnac.network_compliance_workflow_manager:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    dnac_log_level: "{{dnac_log_level}}"
    dnac_log: false
    config:
      - site_name: "Global/USA/San Francisco/Building_1/floor_1"
        sync_device_config: true
        run_compliance: false

- name: Sync Device Configuration on device(s) using both IP address list and Site
  cisco.dnac.network_compliance_workflow_manager:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    dnac_log_level: "{{dnac_log_level}}"
    dnac_log: false
    config:
      - ip_address_list: ["204.1.2.2", "204.1.2.5", "204.1.2.4"]
        site_name: "Global/USA/San Francisco/Building_1/floor_1"
        sync_device_config: true
        run_compliance: false

- name: Run Compliance and Sync Device Configuration using both IP address list and Site
  cisco.dnac.network_compliance_workflow_manager:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    dnac_log_level: "{{dnac_log_level}}"
    dnac_log: false
    config:
      - ip_address_list: ["204.1.2.2", "204.1.2.5", "204.1.2.4"]
        site_name: "Global/USA/San Francisco/Building_1/floor_1"
        run_compliance: true
        run_compliance_categories: ["INTENT", "RUNNING_CONFIG", "IMAGE", "PSIRT"]
        sync_device_config: true

返回值

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

描述

sample_response_1

字典

包含 Cisco Catalyst Center Python SDK 返回的响应的字典。

返回值:始终

示例: "{\n  \"status\": \"string\",\n  \"changed\": bool,\n  \"msg\": \"string\"\n  \"response\": {\n    \"taskId\": \"string\",\n    \"url\": \"string\"\n  },\n  \"data\": dict,\n  \"version\": \"string\"\n}\n"

sample_response_2

字典

包含 Cisco Catalyst Center Python SDK 返回的响应的字典。

返回值:始终

示例: "{\n  \"status\": \"string\",\n  \"changed\": bool,\n  \"msg\": \"string\"\n  \"response\": {\n    \"taskId\": \"string\",\n    \"url\": \"string\"\n  },\n  \"version\": \"string\"\n}\n"

sample_response_3

字典

包含 Cisco Catalyst Center Python SDK 返回的响应的字典。

返回值:始终

示例: "{\n  \"changed\": bool,\n  \"msg\": \"string\"\n}\n"

作者

  • Rugvedi Kapse (@rukapse) Madhan Sankaranarayanan (@madhansansel) Sonali Deepthi (@skesali)