cisco.dnac.device_credential_workflow_manager 模块 – 全局设备凭据和向站点分配凭据的资源模块。

注意

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

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

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

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

cisco.dnac 6.7.0 中的新增功能

概要

  • 管理全局设备凭据、向站点分配凭据和将凭据同步到站点设备的操作。

  • 用于创建全局设备凭据的 API。

  • 用于更新全局设备凭据的 API。

  • 用于删除全局设备凭据的 API。

  • 用于将设备凭据分配到站点的 API。

  • 用于将设备凭据同步到站点的 API。同步功能适用于 Catalyst Center 2.3.7.6 及更高版本。

要求

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

  • dnacentersdk >= 2.7.2

  • python >= 3.9

参数

参数

注释

config

列表 / 元素=字典 / 必需

全局设备凭据和站点名称的详细信息列表。

apply_credentials_to_site

字典

将设备凭据同步到站点设备。适用于 Catalyst Center 2.3.7.6 及更高版本。

cli_credential

字典

CLI 凭据。

description

字符串

CLI 凭据描述。

id

字符串

CLI 凭据 ID。使用 (描述、用户名) 或 ID。

username

字符串

CLI 凭据用户名。

site_name

列表 / 元素=字符串

应用凭据的站点名称。

snmp_v2c_read

字典

SNMPv2c 读取凭据

description

字符串

SNMPv2c 读取凭据描述。

id

字符串

SNMPv2c 读取凭据 ID。使用描述或 ID。

snmp_v2c_write

字典

SNMPv2c 写入凭据

description

字符串

SNMPv2c 写入凭据描述。

id

字符串

SNMPv2c 写入凭据 ID。使用描述或 ID。

snmp_v3

字典

snmp_v3 凭据

description

字符串

snmp_v3 凭据描述。

id

字符串

snmp_v3 凭据 ID。使用描述或 ID。

assign_credentials_to_site

字典

将设备凭据分配到站点。

cli_credential

字典

CLI 凭据。

description

字符串

CLI 凭据描述。

id

字符串

CLI 凭据 ID。使用 (描述、用户名) 或 ID。

username

字符串

CLI 凭据用户名。

https_read

字典

HTTP(S) 读取凭据

description

字符串

HTTP(S) 读取凭据描述。

id

字符串

HTTP(S) 读取凭据 ID。使用 (描述、用户名) 或 ID。

username

字符串

HTTP(S) 读取凭据用户名。

https_write

字典

HTTP(S) 写入凭据

description

字符串

HTTP(S) 写入凭据描述。

id

字符串

HTTP(S) 写入凭据 ID。使用 (描述、用户名) 或 ID。

username

字符串

HTTP(S) 写入凭据用户名。

site_name

列表 / 元素=字符串

分配凭据的站点名称。

snmp_v2c_read

字典

SNMPv2c 读取凭据

description

字符串

SNMPv2c 读取凭据描述。

id

字符串

SNMPv2c 读取凭据 ID。使用描述或 ID。

snmp_v2c_write

字典

SNMPv2c 写入凭据

description

字符串

SNMPv2c 写入凭据描述。

id

字符串

SNMPv2c 写入凭据 ID。使用描述或 ID。

snmp_v3

字典

snmp_v3 凭据

description

字符串

snmp_v3 凭据描述。

id

字符串

snmp_v3 凭据 ID。使用描述或 ID。

global_credential_details

字典

管理全局设备凭据

cli_credential

列表 / 元素=字典

全局凭据 V2 的 cliCredential。

description

字符串

描述。创建凭据时需要。

enable_password

字符串

cli_credential 凭据启用密码。

密码不能包含空格或尖括号 (< >)

id

字符串

凭据 ID。用于更新设备凭据。

old_description

字符串

旧描述。用于更新描述/用户名。

old_username

字符串

旧用户名。用于更新描述/用户名。

password

字符串

cli_credential 凭据密码。

创建/更新凭据时需要。

密码不能包含空格或尖括号 (< >)。

username

字符串

cli_credential 凭据用户名。

用户名不能包含空格或尖括号 (< >)。

https_read

列表 / 元素=字典

全局凭据 V2 的 httpsRead。

id

字符串

凭据 ID。用于更新设备凭据。

name

字符串

名称。创建凭据时需要。

old_description

字符串

旧描述。用于更新描述/用户名。

old_username

字符串

旧用户名。用于更新描述/用户名。

password

字符串

https_read 凭据密码。

创建/更新凭据时需要。

密码不能包含空格或尖括号 (< >)。

port

整数

端口。默认端口为 443。

username

字符串

https_read 凭据用户名。

用户名不能包含空格或尖括号 (< >)。

https_write

列表 / 元素=字典

全局凭据 V2 的 httpsWrite。

id

字符串

凭据 ID。用于更新设备凭据。

name

字符串

名称。创建凭据时需要。

old_description

字符串

旧描述。用于更新描述/用户名。

old_username

字符串

旧用户名。用于更新描述/用户名。

password

字符串

https_write 凭据密码。

创建/更新凭据时需要。

密码不能包含空格或尖括号 (< >)。

port

整数

端口。默认端口为 443。

username

字符串

https_write 凭据用户名。

用户名不能包含空格或尖括号 (< >)。

snmp_v2c_read

列表 / 元素=字典

全局凭据 V2 的 snmpV2cRead。

description

字符串

描述。创建凭据时需要。

id

字符串

凭据 ID。用于更新设备凭据。

old_description

字符串

旧描述。用于更新描述。

read_community

字符串

snmp_v2c_read 读取社区。

密码不能包含空格或尖括号 (< >)。

snmp_v2c_write

列表 / 元素=字典

全局凭据 V2 的 snmpV2cWrite。

description

字符串

描述。创建凭据时需要。

id

字符串

凭据 ID。用于更新设备凭据。

old_description

字符串

旧描述。用于更新描述。

write_community

字符串

snmp_v2c_write 写入社区。

密码不能包含空格或尖括号 (< >)。

snmp_v3

列表 / 元素=字典

全局凭据 V2 的 snmpV3。

auth_password

字符串

snmp_v3 身份验证密码。

密码必须至少包含 8 个字符。

密码不能包含空格或尖括号 (< >)。

auth_type

字符串

身份验证类型。[“SHA”, “MD5”]。

description

字符串

snmp_v3 描述。

应与其他 snmp_v3 凭据唯一。

id

字符串

凭据 ID。用于更新设备凭据。

old_description

字符串

旧描述。用于更新描述。

privacy_password

字符串

snmp_v3 私密密码。

密码必须至少包含 8 个字符。

密码不能包含空格或尖括号 (< >)。

privacy_type

字符串

隐私类型。[“AES128”, “AES192”, “AES256”]。

snmp_mode

字符串

SNMP 模式。[“AUTHPRIV”, “AUTHNOPRIV”, “NOAUTHNOPRIV”]。

username

字符串

snmp_v3 凭据用户名。

用户名不能包含空格或尖括号 (< >)。

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) 模式打开。- 在共享文件场景中,如果没有追加模式,则每次模块执行后内容都会被覆盖。- 对于共享日志文件,请将第一个模块的 append 设置为 False(以覆盖);对于后续模块,请将 append 设置为 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" ← (默认)

  • "deleted"

validate_response_schema

布尔值

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

选项

  • false

  • true ← (默认)

备注

注意

  • 使用的 SDK 方法为 discovery.Discovery.create_global_credentials_v2、discovery.Discovery.delete_global_credential_v2、discovery.Discovery.update_global_credentials_v2、network_settings.NetworkSettings.assign_device_credential_to_site_v2、network_settings.NetworkSettings.get_device_credential_settings_for_a_site、network_settings.NetworkSettings.update_device_credential_settings_for_a_site、network_settings.NetworkSettings.sync_network_devices_credential、network_settings.NetworkSettings.get_network_devices_credentials_sync_status、site.Sites.get_site_assigned_network_devices、site.Sites.get_sites

  • 使用的路径为 post /dna/intent/api/v2/global-credential、delete /dna/intent/api/v2/global-credential/{id}、put /dna/intent/api/v2/global-credential、post /dna/intent/api/v2/credential-to-site/{siteId}、get /dna/intent/api/v1/sites/${id}/deviceCredentials、post /dna/intent/api/v1/sites/deviceCredentials/apply、post /dna/intent/api/v1/sites/${id}/deviceCredentials、get /dna/intent/api/v1/sites/${id}/deviceCredentials/status、get /dna/intent/api/v1/networkDevices/assignedToSite、get /dna/intent/api/v1/sites,

  • 不支持 check_mode

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

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

另请参见

另请参见

Cisco Catalyst Center 文档,了解 Discovery CreateGlobalCredentialsV2

CreateGlobalCredentialsV2 API 的完整参考。

Cisco Catalyst Center 文档,了解 Discovery DeleteGlobalCredentialV2

DeleteGlobalCredentialV2 API 的完整参考。

Cisco Catalyst Center 文档,了解 Discovery UpdateGlobalCredentialsV2

UpdateGlobalCredentialsV2 API 的完整参考。

Cisco Catalyst Center 文档,了解网络设置 AssignDeviceCredentialToSiteV2

AssignDeviceCredentialToSiteV2 API 的完整参考。

Cisco Catalyst Center 文档,了解网络设置 updateDeviceCredentialSettingsForASite_

updateDeviceCredentialSettingsForASite API 的完整参考。

Cisco Catalyst Center 文档,了解网络设置 syncNetworkDevicesCredential

syncNetworkDevicesCredential API 的完整参考。

示例

---
  - name: Create Credentials and assign it to a site.
    cisco.dnac.device_credential_workflow_manager:
    dnac_host: "{{ dnac_host }}"
    dnac_port: "{{ dnac_port }}"
    dnac_username: "{{ dnac_username }}"
    dnac_password: "{{ dnac_password }}"
    dnac_verify: "{{ dnac_verify }}"
    dnac_debug: "{{ dnac_debug }}"
    dnac_log: True
    dnac_log_level: "{{ dnac_log_level }}"
    state: merged
    config_verify: True
    config:
    - global_credential_details:
        cli_credential:
        - description: CLI1
          username: cli1
          password: '12345'
          enable_password: '12345'
        snmp_v2c_read:
        - description: SNMPv2c Read1
          read_community: '123456'
        snmp_v2c_write:
        - description: SNMPv2c Write1
          write_community: '123456'
        snmp_v3:
        - auth_password: '12345678'
          auth_type: SHA
          snmp_mode: AUTHPRIV
          privacy_password: '12345678'
          privacy_type: AES128
          username: snmpV31
          description: snmpV31
        https_read:
        - description: HTTP Read1
          username: HTTP Read1
          password: '12345'
          port: 443
        https_write:
        - description: HTTP Write1
          username: HTTP Write1
          password: '12345'
          port: 443
      assign_credentials_to_site:
        Sync: True
        cli_credential:
            description: CLI6
            username: cli6
        snmp_v2c_read:
            description: SNMPv2c Read1
        snmp_v2c_write:
            description: SNMPv2c Write1
        snmp_v3:
            description: snmpV31
        https_read:
            description: HTTP Read1
            username: HTTP_Read1
        https_write:
            description: HTTP Write1
            username: HTTP_Write1
        site_name:
            - Global/USA

  - name: Create Multiple Credentials.
    cisco.dnac.device_credential_workflow_manager:
    dnac_host: "{{ dnac_host }}"
    dnac_port: "{{ dnac_port }}"
    dnac_username: "{{ dnac_username }}"
    dnac_password: "{{ dnac_password }}"
    dnac_verify: "{{ dnac_verify }}"
    dnac_debug: "{{ dnac_debug }}"
    dnac_log: True
    dnac_log_level: "{{ dnac_log_level }}"
    state: merged
    config_verify: True
    config:
    - global_credential_details:
        cli_credential:
        - description: CLI1
          username: cli1
          password: '12345'
          enable_password: '12345'
        - description: CLI2
          username: cli2
          password: '12345'
          enable_password: '12345'
        snmp_v2c_read:
        - description: SNMPv2c Read1
          read_community: '123456'
        - description: SNMPv2c Read2
          read_community: '123456'
        snmp_v2c_write:
        - description: SNMPv2c Write1
          write_community: '123456'
        - description: SNMPv2c Write2
          write_community: '123456'
        snmp_v3:
        - auth_password: '12345678'
          auth_type: SHA
          snmp_mode: AUTHPRIV
          privacy_password: '12345678'
          privacy_type: AES128
          username: snmpV31
          description: snmpV31
        - auth_password: '12345678'
          auth_type: SHA
          snmp_mode: AUTHPRIV
          privacy_password: '12345678'
          privacy_type: AES128
          username: snmp
          description: snmp
        https_read:
        - description: HTTP Read1
          username: HTTP Read1
          password: '12345'
          port: 443
        - description: HTTP Read2
          username: HTTP Read2
          password: '12345'
          port: 443
        https_write:
        - description: HTTP Write1
          username: HTTP Write1
          password: '12345'
          port: 443
        - description: HTTP Write2
          username: HTTP Write2
          password: '12345'
          port: 443

  - name: Update global device credentials
    cisco.dnac.device_credential_workflow_manager:
    dnac_host: "{{ dnac_host }}"
    dnac_port: "{{ dnac_port }}"
    dnac_username: "{{ dnac_username }}"
    dnac_password: "{{ dnac_password }}"
    dnac_verify: "{{ dnac_verify }}"
    dnac_debug: "{{ dnac_debug }}"
    dnac_log: True
    dnac_log_level: "{{ dnac_log_level }}"
    state: merged
    config_verify: True
    config:
    - global_credential_details:
        cli_credential:
        - description: CLI1
          username: cli1
          password: '12345'
          enable_password: '12345'
        snmp_v2c_read:
        - description: SNMPv2c Read1
          read_community: '123456'
        snmp_v2c_write:
        - description: SNMPv2c Write1
          write_community: '123456'
        snmp_v3:
        - auth_password: '12345678'
          auth_type: SHA
          snmp_mode: AUTHPRIV
          privacy_password: '12345678'
          privacy_type: AES128
          username: snmpV31
          description: snmpV31
        https_read:
        - description: HTTP Read1
          username: HTTP Read1
          password: '12345'
          port: 443
        https_write:
        - description: HTTP_Write1
          username: HTTP_Write1
          password: '12345'
          port: 443

  - name: Update multiple global device credentials
    cisco.dnac.device_credential_workflow_manager:
    dnac_host: "{{ dnac_host }}"
    dnac_port: "{{ dnac_port }}"
    dnac_username: "{{ dnac_username }}"
    dnac_password: "{{ dnac_password }}"
    dnac_verify: "{{ dnac_verify }}"
    dnac_debug: "{{ dnac_debug }}"
    dnac_log: True
    dnac_log_level: "{{ dnac_log_level }}"
    state: merged
    config_verify: True
    config:
    - global_credential_details:
        cli_credential:
        - description: CLI1
          username: cli1
          password: '12345'
          enable_password: '12345'
        - description: CLI2
          username: cli2
          password: '12345'
          enable_password: '12345'
        snmp_v2c_read:
        - description: SNMPv2c Read1
          read_community: '123456'
        - description: SNMPv2c Read2
          read_community: '123458'
        snmp_v2c_write:
        - description: SNMPv2c write1
          write_community: '123456'
        - description: SNMPv2c Write1
          write_community: '123466'
        snmp_v3:
        - auth_password: '12345678'
          auth_type: SHA
          snmp_mode: AUTHPRIV
          privacy_password: '12345678'
          privacy_type: AES128
          username: snmpV31
          description: snmpV31
        - auth_password: '12345678'
          auth_type: SHA
          snmp_mode: AUTHPRIV
          privacy_password: '12345644'
          privacy_type: AES128
          username: snmpV32
          description: snmpV32
        https_read:
        - description: HTTP Read1
          username: HTTP Read1
          password: '12345'
          port: 443
        - description: HTTP Read2
          username: HTTP Read2
          password: '12345'
          port: 443
        https_write:
        - description: HTTP_Write1
          username: HTTP_Write1
          password: '12345'
          port: 443
        - description: HTTP_Write2
          username: HTTP_Write2
          password: '12345'
          port: 443

  - name: Update global device credential name/description using old name and description.
    cisco.dnac.device_credential_workflow_manager:
    dnac_host: "{{ dnac_host }}"
    dnac_port: "{{ dnac_port }}"
    dnac_username: "{{ dnac_username }}"
    dnac_password: "{{ dnac_password }}"
    dnac_verify: "{{ dnac_verify }}"
    dnac_debug: "{{ dnac_debug }}"
    dnac_log: True
    dnac_log_level: "{{ dnac_log_level }}"
    state: merged
    config_verify: True
    config:
    - global_credential_details:
        cli_credential:
        - description: CLI1
          username: cli1
          password: '12345'
          enable_password: '12345'
          old_description: CLI
          old_username: cli
        snmp_v2c_read:
        - description: SNMPv2c Read1
          read_community: '123456'
          old_description: SNMPv2c Read
        snmp_v2c_write:
        - description: SNMPv2c write1
          write_community: '123456'
          old_description: SNMPv2c write
        snmp_v3:
        - auth_password: '12345678'
          auth_type: SHA
          snmp_mode: AUTHPRIV
          privacy_password: '12345678'
          privacy_type: AES128
          username: snmpV31
          description: snmpV31
          old_description: snmp
        https_read:
        - description: HTTP Read1
          username: HTTP Read1
          password: '12345'
          port: 443
          old_description: HTTP Read
          old_username: HTTP Read
        https_write:
        - description: HTTP_Write1
          username: HTTP_Write1
          password: '12345'
          port: 443
          old_description: HTTP_Write
          old_username: HTTP_Write

  - name: Assign Credentials to sites using old description and username.
    cisco.dnac.device_credential_workflow_manager:
    dnac_host: "{{ dnac_host }}"
    dnac_port: "{{ dnac_port }}"
    dnac_username: "{{ dnac_username }}"
    dnac_password: "{{ dnac_password }}"
    dnac_verify: "{{ dnac_verify }}"
    dnac_debug: "{{ dnac_debug }}"
    dnac_log: True
    dnac_log_level: "{{ dnac_log_level }}"
    state: merged
    config_verify: True
    config:
    - assign_credentials_to_site:
        cli_credential:
            description: CLI6
            username: cli6
        snmp_v2c_read:
            description: SNMPv2c Read1
        snmp_v2c_write:
            description: SNMPv2c Write1
        snmp_v3:
            description: snmpV31
        https_read:
            description: HTTP Read1
            username: HTTP_Read1
        https_write:
            description: HTTP Write1
            username: HTTP_Write1
        site_name:
            - Global/USA

  - name: Sync global device credentials to a site.
    cisco.dnac.device_credential_workflow_manager:
    dnac_host: "{{ dnac_host }}"
    dnac_port: "{{ dnac_port }}"
    dnac_username: "{{ dnac_username }}"
    dnac_password: "{{ dnac_password }}"
    dnac_verify: "{{ dnac_verify }}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{ dnac_debug }}"
    dnac_log_level: "{{ dnac_log_level }}"
    dnac_log: True
    state: merged
    config_verify: True
    config:
    - apply_credentials_to_site:
        cli_credential:
            description: CLI5
            username: cli5
        snmp_v2c_read:
            description: SNMPv2c Read2
        snmp_v2c_write:
            description: SNMPv2c Write1
        snmp_v3:
            description: snmp
        site_name:
            - Global/Vietnam/halong/Hanoi

返回值

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

描述

dnac_response1

字典

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

返回值:始终返回

示例: {"response": {"taskId": "string", "url": "string"}, "version": "string"}

dnac_response2

字典

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

返回值:始终返回

示例: {"response": {"taskId": "string", "url": "string"}, "version": "string"}

作者

  • Muthu Rakesh (@MUTHU-RAKESH-27) Madhan Sankaranarayanan (@madhansansel) Megha Kandari (@kandarimegha)