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

列表 / elements=字典 / 必需

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

必须在 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 地址相匹配,特别是设备的管理 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 Switch”, “Cisco Catalyst 9500 Switch”]

config_verify

boolean

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

选择

  • false ← (默认)

  • true

dnac_api_task_timeout

integer

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

默认值: 1200

dnac_debug

boolean

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

选择

  • false ← (默认)

  • true

dnac_host

string / 必需

Cisco Catalyst Center 的主机名。

dnac_log

boolean

启用/禁用 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

boolean

确定文件的模式。设置为 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

integer

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

默认值: 2

dnac_username

别名: user

字符串

用于在 Cisco Catalyst Center 进行身份验证的用户名。

默认值: "admin"

dnac_verify

boolean

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

选择

  • false

  • true ← (默认)

dnac_version

字符串

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

默认值: "2.2.3.3"

state

字符串

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

选择

  • "merged" ← (默认)

validate_response_schema

boolean

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

dictionary

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

返回: 始终

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

response_2

list / 元素=string

一个包含 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)