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 中提供子选项中的至少一个参数。 当一次提供多个参数时(不包括 “site_list”),所有过滤器将一起应用,进行 AND 操作。这意味着只有符合所有指定条件的设备才会包含在配置备份操作中。例如,如果同时提供“hostname”和“device_type”,则只会选择符合指定主机名和设备类型的设备。 注意 - 一旦检索到所有符合参数的设备,任何无法访问或属于接入点 (AP) 的设备都将被跳过。 |
|
指定 Cisco Catalyst Center 的库存 GUI 中显示的设备集合状态列表。 例如 - [“已管理”] |
|
指定需要进行设备配置备份的系列列表。 例如 - [“交换机和集线器”、“路由器”] |
|
用于压缩和解压缩配置文件的可选文件密码。 密码必须满足以下条件 - - 最短密码长度为 8 个字符 - 应至少包含一个小写字母、一个大写字母、- 一个数字 - 一个特殊字符,来自 -= \ \ ; , . / ~ ! @ #$%^&*()_+{}[]|:?” |
|
需要在本地系统上导出配置备份的位置或目录。 如果未提供“file_path”,则备份文件将存储在与 playbook 相同的目录下的名为“tmp”的目录中。 默认: |
|
需要进行配置备份的设备的主机名列表。 主机名必须与 Cisco Catalyst Center GUI 的库存部分下显示的主机名相同。 例如 - [“DC-T-9300.cisco.local”, “NY-BN-9300.cisco.local”] |
|
需要进行配置备份的设备的 IP 地址列表。 IP 地址应与 Cisco Catalyst Center 的库存 GUI 中显示的 IP 地址相匹配,特别是设备的管理 IP 地址。 例如 - [“204.1.2.2”, “204.1.2.5”, “204.1.2.4”] |
|
指定需要进行配置备份的设备的 MAC 地址列表。 |
|
指定需要进行配置备份的设备的序列号列表。 例如 - [“FCW2225C020”, “FJB2334D06N”, “FJC2327U0S2”, “FJC2721271T”] |
|
指定需要进行配置备份的特定设备类型的设备系列列表。 例如 - [“Cisco Catalyst 9300 系列交换机”] |
|
指定站点列表。该模块将对指定站点内的所有设备进行配置备份。 每个站点都应表示为字符串值,指示站点的完整层次结构路径。 例如 - [“Global/USA/San Francisco/Building_2/floor_1”, “Global/USA/New York/Building_3/floor_2”] 注意 - 当提供 `site_list` 之外的附加参数时,操作将包括指定站点中的所有设备以及任何匹配附加条件(不包括 `site_list`)的设备。换句话说,操作将在站点内的设备以及满足附加条件的设备上执行。 |
|
指定需要进行配置备份的特定设备系列中的设备类型列表。 例如 - [“Cisco Catalyst 9300 Switch”, “Cisco Catalyst 9500 Switch”] |
|
设置为 True,以在应用 playbook 配置后验证 Cisco Catalyst Center 配置。 选择
|
|
定义 API 调用以检索任务详细信息的超时时间(以秒为单位)。如果在此期间未收到任务详细信息,则进程将结束,并且将记录超时通知。 默认值: |
|
指示是否在 Cisco Catalyst Center SDK 中启用调试。 选择
|
|
Cisco Catalyst Center 的主机名。 |
|
启用/禁用 playbook 执行日志记录的标志。 当为 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) 模式打开。- 在共享文件场景中,如果没有追加模式,则每次模块执行后都会覆盖内容。- 对于共享日志文件,将追加设置为 False 用于第一个模块(进行覆盖);对于后续模块,将追加设置为 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 方法是 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
返回值
常见的返回值记录在此处 这里,以下是此模块特有的字段
键 |
描述 |
---|---|
一个包含 Cisco Catalyst Center Python SDK 返回的响应的字典 返回: 始终 示例: |
|
一个包含 Cisco Catalyst Center Python SDK 返回的响应的字符串 返回: 始终 示例: |