cisco.dnac.device_configs_backup_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.device_configs_backup_workflow_manager

cisco.dnac 6.14.0 版本新增

概要

  • 管理与备份运行配置、静态配置和 vlan.dat.bat 相关的操作。

要求

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

  • dnacentersdk == 2.9.2

  • python >= 3.5

参数

参数

注释

config

列表 / 元素=字典 / 必需

需要进行配置备份的设备的详细信息列表。

必须在 config 中提供子选项中的至少一个参数。

当一次提供多个参数(不包括“site_list”)时,所有过滤器将一起以 AND 运算方式应用。这意味着只有与所有指定条件匹配的设备才会包含在配置备份操作中。例如,如果同时提供 `hostname` 和 `device_type`,则只会选择同时匹配指定主机名和设备类型的设备。

注意 - 一旦检索到所有与参数匹配的设备,任何不可访问或属于接入点 (AP) 的设备都将被跳过。

collection_status

字符串

指定 Cisco Catalyst Center 的清单 GUI 中显示的设备集合状态列表。

例如 - [“已管理”]

family

字符串

指定需要进行设备配置备份的系列列表。

例如 - [“交换机和集线器”、“路由器”]

file_password

字符串

用于压缩和解压缩配置文件的可选文件密码。

密码必须满足以下条件 - - 最小密码长度为 8 - 它应至少包含一个小写字母、一个大写字母 - 一个数字 - 一个特殊字符,来自 -=\\\\\\\\;,./~!@$%^&*()_+{}[]|:?”

file_path

字符串

需要在本地系统上导出配置备份的位置或目录。

如果未提供“file_path”,则备份文件将存储在与 playbook 相同的目录中的名为“tmp”的目录中。

默认值: "tmp"

hostname_list

字符串

需要进行配置备份的设备的主机名列表。

主机名必须与 Cisco Catalyst Center GUI 中“清单”部分下显示的主机名相同。

例如 - [“DC-T-9300.cisco.local”, “NY-BN-9300.cisco.local”]

ip_address_list

字符串

需要进行配置备份的设备的 IP 地址列表。

IP 地址应与 Cisco Catalyst Center 的清单 GUI 中显示的地址相匹配,特别是设备的管理 IP 地址。

例如 - [“204.1.2.2”, “204.1.2.5”, “204.1.2.4”]

mac_address_list

字符串

指定需要进行配置备份的设备的 MAC 地址列表。

serial_number_list

字符串

指定需要进行配置备份的设备的序列号列表。

例如 - [“FCW2225C020”, “FJB2334D06N”, “FJC2327U0S2”, “FJC2721271T”]

series

字符串

指定需要进行配置备份的特定设备类型的设备系列列表。

例如 - [“Cisco Catalyst 9300 系列交换机”]

site_list

字符串

指定站点列表。该模块会对指定站点中的所有设备进行配置备份。

每个站点都应表示为字符串值,该字符串值指示站点的完整层次结构路径。

例如 - [“Global/USA/San Francisco/Building_2/floor_1”, “Global/USA/New York/Building_3/floor_2”]

注意 - 当提供其他参数以及 `site_list` 时,该操作将包括指定站点中的所有设备以及任何与附加条件匹配的设备(不包括 `site_list`)。换句话说,该操作将在站点内的设备和满足附加条件的设备上执行。

type

字符串

指定需要进行配置备份的特定设备系列中的设备类型列表。

例如 - [“Cisco Catalyst 9300 交换机”, “Cisco Catalyst 9500 交换机”]

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

布尔值

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

当为 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" ← (默认)

validate_response_schema

布尔值

Cisco Catalyst Center SDK 的标志,用于启用针对 JSON 模式的请求主体验证。

选项

  • false

  • true ← (默认)

备注

注意

  • 使用的 SDK 方法有:sites.Sites.get_site Site_design.Site_design.get_sites sites.Sites.get_membership site_design.Site_design.get_site_assigned_network_devices devices.Devices.get_device_list devices.Devices.get_device_by_id configuration_archive.ConfigurationsArchive.export_device_configurations file.Files.download_a_file_by_fileid

  • 使用的路径有:get /dna/intent/api/v1/site get /dna/intent/api/v1/membership/${siteId} get /dna/intent/api/v1/network-device post /dna/intent/api/v1/network-device-archive/cleartext get /dna/intent/api/v1/file/${fileId} get /dna/intent/api/v1/networkDevices/assignedToSite get /dna/intent/api/v1/sites get /dna/intent/api/v1/network-device/${id}

  • 不支持 check_mode

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

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

示例

- name: Take backup of all devices in the Cisco Catalyst Center
  cisco.dnac.device_configs_backup_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:
        - file_password: qsaA12!asdasd

- name: Take backup of device(s) using hostname(s)
  cisco.dnac.device_configs_backup_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:
        - hostname_list: ["DC-T-9300.cisco.local", "NY-BN-9300.cisco.local"]
          file_path: backup

- name: Take backup of device(s) using hostname(s) and provide file password
  cisco.dnac.device_configs_backup_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:
        - hostname_list: ["DC-T-9300.cisco.local"]
          file_path: backup
          file_password: qsaA12!asdasd

- name: Take backup of all devices in a site(s)
  cisco.dnac.device_configs_backup_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:
        - site_list: ["Global/USA/RTP/BLD10", "Global/USA/New York/BLDNYC/FLOOR1"]
          file_path: backup

- name: Take backup of device(s) using IP Address List
  cisco.dnac.device_configs_backup_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:
        - ip_address_list: ["204.1.2.5", "204.1.2.4", "204.1.2.2"]
          file_path: backup

- name: Take backup of device(s) using MAC Address List
  cisco.dnac.device_configs_backup_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:
        - mac_address_list: ["d4:ad:bd:c1:67:00", " 00:b6:70:32:b8:00", "0c:75:bd:42:c3:80", "90:88:55:07:59:00"]
          file_path: backup

- name: Take backup of device(s) using Serial Number List
  cisco.dnac.device_configs_backup_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:
        - serial_number_list: ["FCW2225C020", "FJB2334D06N", "FJC2327U0S2", "FJC2721271T"]
          file_path: backup

- name: Take backup of device(s) using Family List
  cisco.dnac.device_configs_backup_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:
        - family_list: ["Switches and Hubs", "Routers"]
          file_path: backup

- name: Take backup of device(s) using Device Family Type List
  cisco.dnac.device_configs_backup_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:
        - type_list: ["Cisco Catalyst 9300 Switch"]
          file_path: backup

- name: Take backup of device(s) using Device Series
  cisco.dnac.device_configs_backup_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:
        - series_list: ["Cisco Catalyst 9300 Series Switches"]
          file_path: backup

- name: Take backup of devices with certain Collection Status
  cisco.dnac.device_configs_backup_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:
        - collection_status_list: ["Managed"]
          file_path: backup

- name: Take backup of device(s) in a site and also that meet other parameters
  cisco.dnac.device_configs_backup_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:
        - site_list: ["Global"]
          family_list: ["Switches and Hubs"]
          series_list: ["Cisco Catalyst 9300 Series Switches"]
          ip_address_list: ["204.1.2.5"]
          file_path: backup

返回值

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

描述

response_1

字典

一个字典,其中包含 Cisco Catalyst Center Python SDK 返回的响应。

返回: 总是

示例: "{\n  \"response\":\n    {\n      \"response\": String,\n      \"version\": String\n    },\n  \"msg\": String\n}\n"

response_2

列表 / 元素=字符串

一个字符串,其中包含 Cisco Catalyst Center Python SDK 返回的响应。

返回: 总是

示例: ["{\n  \"response\": []", "\n  \"msg\": String\n}\n"]

作者

  • Abinash Mishra (@abimishr) Rugvedi Kapse (@rukapse) Madhan Sankaranarayanan (@madhansansel) Sonali Deepthi Kesali (@skesali)