cisco.dnac.discovery_workflow_manager 模块 – 用于处理设备发现任务的资源模块。
注意
此模块是 cisco.dnac 集合 (版本 6.25.0) 的一部分。
如果您使用的是 ansible
包,则可能已安装此集合。它不包含在 ansible-core
中。要检查是否已安装它,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install cisco.dnac
。您需要其他要求才能使用此模块,请参阅 要求 以了解详细信息。
要在 playbook 中使用它,请指定:cisco.dnac.discovery_workflow_manager
。
cisco.dnac 6.6.0 中的新增功能
概要
使用 IP 地址、地址范围、CDP 和 LLDP 管理设备发现,包括删除已发现的设备。
发现一个或多个设备的 API
删除一个或多个设备发现的 API
要求
执行此模块的主机需要以下要求。
dnacentersdk == 2.6.10
python >= 3.9
参数
参数 |
注释 |
---|---|
被管理设备的详细信息列表。 |
|
CDP 发现方法中存在的总层数 默认值: |
|
一次删除所有发现的参数 选项
|
|
发现任务的名称 |
|
用户专门为执行设备发现而创建的凭据。 |
|
在设备发现期间使用的 CLI 凭据列表。 |
|
CLI 身份验证的启用密码,使用 CLI 凭据时必填。 |
|
CLI 身份验证的密码,使用 CLI 凭据时必填。 |
|
CLI 身份验证的用户名,使用 CLI 凭据时必填。 |
|
HTTP 读取凭据用于身份验证目的,并专门用于授予对设备中某些资源的只读访问权限。 |
|
HTTP(S) 读取身份验证的密码,使用 HTTP 凭据时必填。 |
|
HTTP(S) 读取身份验证的端口,使用 HTTP 凭据时必填。 |
|
HTTP(S) 读取身份验证的标志,使用 HTTP 凭据时不必填。 选项
|
|
HTTP(S) 读取身份验证的用户名,使用 HTTP 凭据时必填。 |
|
HTTP 写入凭据用于身份验证目的,并授予 Cisco Catalyst Center 更改配置、更新软件或对网络设备执行其他修改的能力。 |
|
HTTP(S) 写入身份验证的密码,使用 HTTP 凭据时必填。 |
|
HTTP(S) 写入身份验证的端口,使用 HTTP 凭据时必填。 |
|
HTTP(S) 写入身份验证的标志,使用 HTTP 凭据时不必填。 选项
|
|
HTTP(S) 写入身份验证的用户名,使用 HTTP 凭据时必填。 |
|
用于网络包含基于 IOS XE 的无线控制器时。 这用于发现和启用控制器上的无线服务。 需要有效的 SSH 凭据才能工作。 避免使用标准端口,例如 22、80 和 8080。 |
|
要创建和使用的 SNMP v2 凭据,用于通过 SNMP 协议以读取模式联系设备。 SNMP v2 还提供数据加密,但它使用数据类型。 |
|
SNMP V2 读取社区字符串使 Cisco Catalyst Center 能够从设备提取只读数据。 |
|
用于创建 snmp_v2_read_credential 的 SNMP 读取凭据的名称/描述。 |
|
要创建和使用的 SNMP v2 凭据,用于通过 SNMP 协议以读写模式联系设备。 SNMP v2 还提供数据加密,但它使用数据类型。 |
|
SNMP V2 写入社区字符串用于提取数据和更改设备配置。 |
|
用于创建 snmp_v2_write_credential 的 SNMP 写入凭据的名称/描述。 |
|
要创建和使用的 SNMP v3 凭据,用于通过 SNMP 协议以读写模式联系设备。 SNMPv3 是 SNMP 最安全的版本,允许用户完全加密传输,使我们免受外部攻击者的侵害。 |
|
要使用的 SNMP v3 协议的身份验证密码。 长度必须大于 7 个字符。 对于 NOAUTHNOPRIV snmp_mode 不需要。 |
|
要使用的 SNMP v3 协议的身份验证类型。 SHA 使用安全哈希算法 (SHA) 作为您的身份验证协议。 MD5 使用消息摘要 5 (MD5) 作为您的身份验证协议,不推荐使用。 对于 NOAUTHNOPRIV snmp_mode 不需要。 选项
|
|
在 AUTHPRIV SNMP 模式下使用的 SNMP v3 协议的隐私密码 对于 AUTHNOPRIV 和 NOAUTHNOPRIV snmp_mode 不需要。 |
|
在 AUTHPRIV SNMP 模式下使用的 SNMP v3 协议的隐私类型/协议 对于 AUTHNOPRIV 和 NOAUTHNOPRIV snmp_mode 不需要。 选项
|
|
SNMP 模式,确定社区字符串的加密级别。 AUTHPRIV 模式同时使用身份验证和加密。 AUTHNOPRIV 模式使用身份验证但不使用加密。 NOAUTHNOPRIV 模式既不使用身份验证也不使用加密。 选项
|
|
要使用的 SNMP v3 协议的用户名。 |
|
确定设备发现的方法。以下是可用选项。- SINGLE 使用单个 IP 地址发现单个设备。- RANGE 发现单个 IP 地址范围内的多个设备。- MULTI RANGE 跨多个 IP 地址范围发现设备。- CDP 使用 Cisco Discovery Protocol 发现给定 IP 地址后续层中的设备。- LLDP 使用 Link Layer Discovery Protocol 发现指定 IP 地址后续层中的设备。- CIDR 使用无类别域间路由 (CIDR) 基于子网过滤来发现设备。 选项
|
|
用户在 Cisco Catalyst Center 的“设备凭据”部分预先配置的一组各种凭据类型,包括 CLI、SNMP、HTTP 和 NETCONF。 如果用户在剧本中没有传递任何全局凭据,则默认情况下,我们将使用 Cisco Catalyst Center 中存在的每种类型的全部全局凭据来执行发现。(最多允许 5 个) |
|
接受用于设备发现的全局 CLI 凭据列表。 建议创建具有唯一用户名和清晰描述的设备凭据。 |
|
CLI 凭据的名称,使用全局 CLI 凭据时必填。 |
|
CLI 身份验证所需的用户名,使用全局 CLI 凭据时必填。 |
|
将在设备发现过程中使用的全局 HTTP 读取凭据列表。 建议创建具有唯一用户名和清晰描述的设备凭据,以便于识别。 |
|
HTTP 读取凭据的名称,使用全局 HTTP 凭据时必填。 |
|
HTTP 读取身份验证的用户名,使用全局 HTTP 凭据时必填。 |
|
将在设备发现过程中使用的全局 HTTP 写入凭据列表。 建议创建具有唯一用户名和清晰描述的设备凭据,以便于识别。 |
|
HTTP 写入凭据的名称,使用全局 HTTP 凭据时必填。 |
|
HTTP 写入身份验证的用户名,使用全局 HTTP 凭据时必填。 |
|
设备发现期间将使用的全局 Netconf 端口列表。 建议创建具有唯一描述的设备凭据。 |
|
Netconf 端口凭据的名称,使用全局 Netconf 端口时必填。 |
|
设备发现期间将使用的全局 SNMP V2 读取凭据列表。 建议创建具有清晰描述的设备凭据,以便于识别。 |
|
SNMP 读取凭据的名称,使用全局 SNMP 凭据时必填。 |
|
设备发现期间将使用的全局 SNMP V2 写入凭据列表。 建议创建具有清晰描述的设备凭据,以便于识别。 |
|
SNMP 写入凭据的名称,使用全局 SNMP 凭据时必填。 |
|
设备发现期间将使用的全局 SNMP V3 凭据列表,提供读写模式。 建议创建具有唯一用户名和清晰描述的设备凭据,以便于识别。 |
|
SNMP V3 凭据的名称,使用全局 SNMP 凭据时必填。 |
|
SNMP V3 身份验证的用户名,使用全局 SNMP 凭据时必填。 |
|
要发现的 IP 地址列表。对于基于 CDP/LLDP/SINGLE 的发现,应传递只有一个元素的列表,例如 - 10.197.156.22。对于基于 CIDR 的发现,应传递只有一个元素的列表,例如 - 10.197.156.22/22。对于基于 RANGE 的发现,应传递只有一个元素和范围的列表,例如 - 10.197.156.1-10.197.156.100。对于基于 MULTI RANGE 的发现,应传递具有多个元素的列表,例如 - 10.197.156.1-10.197.156.100,下一行 - 10.197.157.1-10.197.157.100。最多允许 8 个 IP 地址范围。 |
|
需要从传入的 IP 地址中过滤掉的 IP 地址列表。 |
|
LLDP 发现方法中存在的级别总数 默认值: |
|
IP 管理的首选方法(无/使用环回) 默认值: |
|
确定尝试设备连接的顺序。以下是选项 - “telnet” 仅尝试 telnet 连接。 - “ssh, telnet” 首先尝试 SSH(安全外壳),如果 SSH 失败,则尝试 telnet。 默认值: |
|
获取全局 v2 凭据时要返回的标头记录数 默认值: |
|
尝试建立与设备连接的次数 |
|
获取 SNMP v2 凭据时标头的起始索引 默认值: |
|
等待设备响应的时间(秒) |
|
确定设备发现是否应使用预先配置的全局凭据。 设置为 True 使用预定义的全局凭据执行发现任务。这是默认设置。 设置为 False 需要手动提供的特定于设备的凭据进行发现,因为将绕过全局凭据。 选项
|
|
应用剧本配置后,设置为 True 以验证 Cisco Catalyst Center 配置。 选项
|
|
定义以秒为单位的 API 调用超时时间,用于检索任务详细信息。如果在此期间未收到任务详细信息,则该过程将结束,并将记录超时通知。 默认值: |
|
指示是否在 Cisco Catalyst Center SDK 中启用调试。 选项
|
|
Cisco Catalyst Center 的主机名。 |
|
启用/禁用剧本执行日志记录的标志。 为 true 且提供 dnac_log_file_path 时,- 在执行位置创建具有指定名称的日志文件。 为 true 且未提供 dnac_log_file_path 时,- 在执行位置创建名为“dnac.log”的日志文件。 为 false 时,- 日志记录被禁用。 如果日志文件不存在,- 将基于“dnac_log_append”标志以追加或写入模式创建它。 如果日志文件存在,- 将基于“dnac_log_append”标志将其覆盖或追加。 选项
|
|
确定文件的模式。设置为 True 表示“追加”模式。设置为 False 表示“写入”模式。 选项
|
|
控制日志记录。如果 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) 模式打开。- 在共享文件方案中,如果没有追加模式,则在每个模块执行后都会覆盖内容。- 对于共享日志文件,将 append 设置为 False 用于第一个模块(以覆盖);对于后续模块,将 append 设置为 True。 默认值: |
|
设置日志级别的阈值。级别等于或高于此级别的消息将被记录。级别按严重性顺序排列 [CRITICAL、ERROR、WARNING、INFO、DEBUG]。 CRITICAL 表示严重的错误,会阻止程序运行。仅显示 CRITICAL 消息。 ERROR 表示阻止函数运行的问题。显示 ERROR 和 CRITICAL 消息。 WARNING 表示潜在的未来问题。显示 WARNING、ERROR、CRITICAL 消息。 INFO 跟踪正常操作。显示 INFO、WARNING、ERROR、CRITICAL 消息。 DEBUG 提供详细的诊断信息。显示所有日志消息。 默认值: |
|
Cisco Catalyst Center 身份验证的密码。 |
|
指定与 Cisco Catalyst Center 关联的端口号。 默认值: |
|
指定连续调用 API 以检索任务详细信息之间的间隔(秒)。 默认值: |
|
Cisco Catalyst Center 身份验证的用户名。 默认值: |
|
启用或禁用 SSL 证书验证的标志。 选项
|
|
指定 SDK 应使用的 Cisco Catalyst Center 版本。 默认值: |
|
模块完成后的 Cisco Catalyst Center 状态。 选项
|
|
Cisco Catalyst Center SDK 的标志,用于启用根据 JSON 模式验证请求正文。 选项
|
注释
注意
使用的 SDK 方法为 discovery.Discovery.get_all_global_credentials_v2、discovery.Discovery.start_discovery、task.Task.get_task_by_id、discovery.Discovery.get_discoveries_by_range、discovery.Discovery.get_discovered_network_devices_by_discovery_id’、discovery.Discovery.delete_discovery_by_id、discovery.Discovery.delete_all_discovery、discovery.Discovery.get_count_of_all_discovery_jobs
使用的路径为 get /dna/intent/api/v2/global-credential、post /dna/intent/api/v1/discovery、get /dna/intent/api/v1/task/{taskId}、get /dna/intent/api/v1/discovery/{startIndex}/{recordsToReturn}、get /dna/intent/api/v1/discovery/{id}/network-device、delete /dna/intent/api/v1/discovery/{id}、delete /dna/intent/api/v1/delete、get /dna/intent/api/v1/discovery/count
在 v6.12.0 中删除了“global_cli_len”选项。
不支持
check_mode
插件在控制节点上运行,不使用任何 Ansible 连接插件,而是使用来自 Cisco Catalyst Center SDK 的嵌入式连接管理器。
以 dnac_ 开头的参数由 Cisco Catalyst Center Python SDK 用于建立连接。
示例
- name: Execute discovery of devices with both global credentials and discovery specific credentials
cisco.dnac.discovery_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: True
dnac_log_level: "{{dnac_log_level}}"
state: merged
config_verify: True
config:
- discovery_name: Discovery with both global and job specific credentials
discovery_type: RANGE
ip_address_list:
- 201.1.1.1-201.1.1.100
ip_filter_list:
- 201.1.1.2
- 201.1.1.10
discovery_specific_credentials:
cli_credentials_list:
- username: cisco
password: Cisco123
enable_password: Cisco123
http_read_credential:
username: cisco
password: Cisco123
port: 443
secure: true
http_write_credential:
username: cisco
password: Cisco123
port: 443
secure: True
snmp_v2_read_credential:
description: snmp_v2-new
community: Cisco123
snmp_v2_write_credential:
description: snmp_v2-new
community: Cisco123
snmp_v3_credential:
username: v3Public2
snmp_mode: AUTHPRIV
auth_type: SHA
auth_password: Lablab123
privacy_type: AES256
privacy_password: Lablab123
net_conf_port: 750
global_credentials:
cli_credentials_list:
- description: ISE
username: cisco
- description: CLI1234
username: cli
http_read_credential_list:
- description: HTTP Read
username: HTTP_Read
http_write_credential_list:
- description: HTTP Write
username: HTTP_Write
snmp_v3_credential_list:
- description: snmpV3
username: snmpV3
snmp_v2_read_credential_list:
- description: snmpV2_read
snmp_v2_write_credential_list:
- description: snmpV2_write
net_conf_port_list:
- description: Old_one
start_index: 1
records_to_return: 100
protocol_order: ssh
retry: 5
timeout: 3
- name: Execute discovery of devices with discovery specific credentials only
cisco.dnac.discovery_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: True
dnac_log_level: "{{dnac_log_level}}"
state: merged
config_verify: True
config:
- discovery_name: Single with discovery specific credentials only
discovery_type: SINGLE
ip_address_list:
- 204.1.1.10
discovery_specific_credentials:
cli_credentials_list:
- username: cisco
password: Cisco123
enable_password: Cisco123
http_read_credential:
username: cisco
password: Cisco123
port: 443
secure: true
http_write_credential:
username: cisco
password: Cisco123
port: 443
secure: True
snmp_v2_read_credential:
description: snmp_v2-new
community: Cisco123
snmp_v2_write_credential:
description: snmp_v2-new
community: Cisco123
snmp_v3_credential:
username: v3Public2
snmp_mode: AUTHPRIV
auth_type: SHA
auth_password: Lablab123
privacy_type: AES256
privacy_password: Lablab123
net_conf_port: 750
use_global_credentials: False
start_index: 1
records_to_return: 100
protocol_order: ssh
retry: 5
timeout: 3
- name: Execute discovery of devices with global credentials only
cisco.dnac.discovery_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: True
dnac_log_level: "{{dnac_log_level}}"
state: merged
config_verify: True
config:
- discovery_name: CDP with global credentials only
discovery_type: CDP
ip_address_list:
- 204.1.1.1
cdp_level: 16
global_credentials:
cli_credentials_list:
- description: ISE
username: cisco
- description: CLI1234
username: cli
http_read_credential_list:
- description: HTTP Read
username: HTTP_Read
http_write_credential_list:
- description: HTTP Write
username: HTTP_Write
snmp_v3_credential_list:
- description: snmpV3
username: snmpV3
snmp_v2_read_credential_list:
- description: snmpV2_read
snmp_v2_write_credential_list:
- description: snmpV2_write
net_conf_port_list:
- description: Old_one
start_index: 1
records_to_return: 100
protocol_order: ssh
retry: 5
timeout: 3
- name: Execute discovery of devices with all the global credentials (max 5 allowed)
cisco.dnac.discovery_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: True
dnac_log_level: "{{dnac_log_level}}"
state: merged
config_verify: True
config:
- discovery_name: CIDR with all global credentials
discovery_type: CIDR
ip_address_list:
- 204.1.2.0/24
ip_filter_list:
- 204.1.2.10
preferred_mgmt_ip_method: None
start_index: 1
records_to_return: 100
protocol_order: telnet
retry: 10
timeout: 3
use_global_credentials: True
- name: Delete disovery by name
cisco.dnac.discovery_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: True
dnac_log_level: "{{dnac_log_level}}"
state: deleted
config_verify: True
config:
- discovery_name: Single discovery
返回值
常见的返回值已在此处记录 此处,以下是此模块独有的字段。
键 |
描述 |
---|---|
包含 Cisco Catalyst Center Python SDK 返回的响应的字典 返回:始终 示例: |
|
包含 Cisco Catalyst Center Python SDK 返回的响应的列表 返回:始终 示例: |
|
包含 Cisco Catalyst Center Python SDK 返回的响应的字符串 返回:始终 示例: |