ansible.netcommon.net_put 模块 – 将文件从 Ansible 控制器复制到网络设备

注意

此模块是 ansible.netcommon 集合 (版本 7.1.0) 的一部分。

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

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

要在剧本中使用它,请指定:ansible.netcommon.net_put

ansible.netcommon 1.0.0 中的新增功能

概要

  • 此模块提供将文件从 Ansible 控制器复制到网络设备的功能。

注意

此模块具有相应的 action 插件

要求

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

  • 如果使用带有 paramiko 的 protocol=scp,则需要 scp

参数

参数

注释

dest

字符串

指定目标文件。目标文件的路径可以是网络操作系统支持的完整路径或相对路径。

默认值: ["Filename from src and at default directory of user shell on network_os."]

mode

字符串

设置文件传输模式。如果 mode 设置为 *text*,则 *src* 文件将通过 Jinja2 模板引擎来替换 src 文件中存在的任何变量。如果 mode 设置为 *binary*,则文件将原样复制到目标设备。

选项

  • "binary" ← (默认)

  • "text"

protocol

字符串

用于传输文件的协议。

选项

  • "scp" ← (默认)

  • "sftp"

src

字符串 / 必填

指定源文件。源文件的路径可以是 Ansible 控制主机上的完整路径,也可以是相对于剧本或角色根目录的相对路径。

注释

注意

  • 某些设备需要启用特定配置才能使 scp 工作。例如,在使用此模块之前,应预先配置这些配置,例如 ios - ip scp server enable

  • 在网络设备上执行 scp 的用户权限应预先配置,例如,ios - 默认情况下需要用户权限 15 才能允许 scp。

  • 源文件的默认目标位置。

  • 此模块支持 ansible_network_os 网络平台。有关详细信息,请参阅:ref:`网络平台选项 `。

示例

- name: copy file from ansible controller to a network device
  ansible.netcommon.net_put:
    src: running_cfg_ios1.txt

- name: copy file at root dir of flash in slot 3 of sw1(ios)
  ansible.netcommon.net_put:
    src: running_cfg_sw1.txt
    protocol: sftp
    dest: flash3:/running_cfg_sw1.txt

作者

  • Deepak Agrawal (@dagrawal)