cisco.nxos.nxos_file_copy 模块 – 将文件复制到远程 NXOS 设备。

注意

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

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

要安装它,请使用:ansible-galaxy collection install cisco.nxos。您需要更多要求才能使用此模块,请参阅要求了解详情。

要在 playbook 中使用它,请指定:cisco.nxos.nxos_file_copy

cisco.nxos 1.0.0 中的新增功能

概要

  • 此模块支持两种不同的工作流程,用于将文件复制到 NXOS 设备上的闪存(或启动闪存)。文件可以(1)从 Ansible 控制器推送到设备,或(2)从远程 SCP 文件服务器拉取到设备。文件复制是从 NXOS 设备启动到远程 SCP 服务器的。此模块仅支持使用连接 network_cliCli 传输以及连接 local

要求

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

  • paramiko 或 libssh(当 file_pull 为 False 时需要)

  • scp(当 file_pull 为 False 时需要)

参数

参数

注释

connect_ssh_port

整数

已弃用

此选项已被弃用,将在 2024-06-01 之后的版本中删除。

为了保持向后兼容性,在删除之前,此选项将继续覆盖 ansible_port 的值。

<hr>

用于文件传输的 SSH 服务器端口。

仅当 file_pullTrue 时使用。

默认值: 22

file_pull

布尔值

当 (False) 文件从 Ansible 控制器复制到 NXOS 设备。

当 (True) 文件从远程 SCP 服务器复制到 NXOS 设备。在此模式下,文件复制是从 NXOS 设备启动的。

如果文件已存在于设备上,它将被覆盖,因此操作不是幂等的。

选项

  • false ←(默认)

  • true

file_pull_compact

布尔值

当 file_pull 为 True 时,此选项用于压缩 nxos 镜像文件。此选项只能与 nxos 镜像文件一起使用。

当 (file_pull 为 False) 时,不使用此选项。

选项

  • false ←(默认)

  • true

file_pull_kstack

布尔值

当 file_pull 为 True 时,当 nxos 正在运行的镜像支持 use-kstack 选项时,可以使用此选项来加速文件复制。

当 (file_pull 为 False) 时,不使用此选项。

选项

  • false ←(默认)

  • true

file_pull_protocol

字符串

当 file_pull 为 True 时,可以使用此选项定义将文件从远程复制到 NXOS 设备的传输协议。

当 (file_pull 为 False) 时,不使用此选项。

选项

  • "scp" ←(默认)

  • "sftp"

  • "ftp"

  • "http"

  • "https"

  • "tftp"

file_pull_timeout

整数

已弃用

此选项已被弃用,将在 2024-06-01 之后的版本中删除。

为了保持向后兼容性,在删除之前,此选项将继续覆盖 ansible_command_timeout 的值。

<hr>

当传输大文件或网络速度较慢时,使用此参数设置超时时间(以秒为单位)。

当 (file_pull 为 False) 时,不使用此选项。

默认值: 300

file_system

字符串

nxos 设备上的远程文件系统。如果省略,支持 file_system 参数的设备将使用其默认值。

默认值: "bootflash:"

local_file

路径

当 (file_pull 为 False) 时,这是 Ansible 控制器上本地文件的路径。本地目录必须存在。

当 (file_pull 为 True) 时,这是 NXOS 设备上的目标文件名。

local_file_directory

路径

当 (file_pull 为 True) 文件从远程 SCP 服务器复制到 NXOS 设备,并写入 NXOS 设备上的此目录。如果该目录不存在,则将在 file_system 下创建。这是一个可选参数。

当 (file_pull 为 False) 时,不使用此选项。

remote_file

路径

当 (file_pull 为 False) 时,这是 NXOS 设备上的远程文件路径。如果省略,将使用本地文件名。远程目录必须存在。

当 (file_pull 为 True) 时,这是要复制到 NXOS 设备的远程 SCP 服务器上文件的完整路径。

remote_scp_server

字符串

当 file_pull 为 True 时,远程 scp 服务器地址。如果 file_pull 为 True,则此参数是必需的。

当 (file_pull 为 False) 时,不使用此选项。

remote_scp_server_password

字符串

当 file_pull 为 True 时,远程 scp 服务器密码。如果 file_pull 为 True,则此参数是必需的。

当 (file_pull 为 False) 时,不使用此选项。

remote_scp_server_user

字符串

当 file_pull 为 True 时,远程 scp 服务器用户名。如果 file_pull 为 True,则此参数是必需的。

当 (file_pull 为 False) 时,不使用此选项。

vrf

字符串

用于拉取文件的 VRF。当未定义 vrf 管理时很有用。

此选项不适用于 MDS 交换机。

默认值: "management"

备注

注意

  • 已针对 NXOS 7.0(3)I2(5), 7.0(3)I4(6), 7.0(3)I5(3), 7.0(3)I6(1), 7.0(3)I7(3), 6.0(2)A8(8), 7.0(3)F3(4), 7.3(0)D1(1), 8.3(0), 9.2, 9.3 进行测试。

  • 对 Cisco MDS 的支持有限

  • 当将文件推送 (file_pull 为 False) 到 NXOS 设备时,必须启用功能 scp-server。

  • 当将文件拉取 (file_pull 为 True) 到 NXOS 设备时,不需要功能 scp-server。

  • 当将文件拉取 (file_pull 为 True) 到 NXOS 设备时,如果文件已存在,则不会进行传输。

  • 检查模式会告诉您是否会复制该文件。

  • 有关使用 CLI 和 NX-API 的信息,请参阅 :ref:`NXOS 平台选项指南 <nxos_platform_options>`

  • 有关使用 Ansible 管理网络设备的更多信息,请参阅 :ref:`Ansible 网络指南 <network_guide>`

  • 有关使用 Ansible 管理 Cisco 设备的更多信息,请参阅 `Cisco 集成页面 <https://ansible.org.cn/integrations/networks/cisco>`_。

示例

# File copy from ansible controller to nxos device
- name: copy from server to device
  cisco.nxos.nxos_file_copy:
    local_file: ./test_file.txt
    remote_file: test_file.txt

# Initiate file copy from the nxos device to transfer file from an SCP server back to the nxos device
- name: initiate file copy from device
  cisco.nxos.nxos_file_copy:
    file_pull: true
    local_file: xyz
    local_file_directory: dir1/dir2/dir3
    remote_file: /mydir/abc
    remote_scp_server: 192.168.0.1
    remote_scp_server_user: myUser
    remote_scp_server_password: myPassword
    vrf: management

# Initiate file copy from the nxos device to transfer file from a ftp server back to the nxos device.
# remote_scp_server_user and remote_scp_server_password are used to login to the FTP server.
- name: initiate file copy from device
  cisco.nxos.nxos_file_copy:
    file_pull: true
    file_pull_protocol: ftp
    local_file: xyz
    remote_file: /mydir/abc
    remote_scp_server: 192.168.0.1
    remote_scp_server_user: myUser
    remote_scp_server_password: myPassword
    vrf: management

返回值

通用返回值在此处记录 此处,以下是此模块独有的字段

描述

changed

布尔值

指示文件是否被复制。

返回: 成功

示例: true

local_file

字符串

本地文件的路径。

返回: 成功

示例: "/path/to/local/file"

remote_file

字符串

远程文件的路径。

返回: 成功

示例: "/path/to/remote/file"

remote_scp_server

字符串

当 file_pull 为 True 时,scp 服务器的名称。

返回: 成功

示例: "fileserver.example.com"

transfer_status

字符串

是否将文件传输到 nxos 设备。

返回: 成功

示例: "Sent"

作者

  • Jason Edelman (@jedelman8)

  • Gabriele Gerbino (@GGabriele)

  • 由 (@mikewiebe) 重写为插件