cisco.nxos.nxos_file_copy – Скопировать файл на удалённый устройство NXOS.
Примечание
Этот плагин входит в коллекцию cisco.nxos (версия 1.4.0).
Для его установки используйте: ansible-galaxy collection install cisco.nxos.
Для использования в playbook, укажите: cisco.nxos.nxos_file_copy.
Новый в версии 1.0.0: of cisco.nxos
Обзор
- Этот модуль поддерживает два различных потока работы для копирования файла на флэш (или bootflash) на устройствах NXOS. Файлы могут быть (1) отправлены с контроллера Ansible на устройство или (2) извлечены с удаленного сервера SCP на устройство. Копирование файлов инициируется с устройства NXOS на удаленный сервер SCP. Этот модуль поддерживает только использование подключения
network_cliилиCliтранспорта с подключениемlocal.
Примечание
Этот модуль имеет соответствующий плагин действия.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- paramiko (необходим, когда file_pull равен False)
- SCPClient (необходим, когда file_pull равен False)
- pexpect (необходим, когда file_pull равен True)
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| connect_ssh_port строка | По умолчанию: 22 | Порт SSH-сервера, используемый для передачи файлов. | |
| file_pull логический тип |
| Когда (False) файл копируется с контроллера Ansible на устройство NXOS. Когда (True) файл копируется с удаленного сервера SCP на устройство NXOS. В этом режиме копирование файла инициируется с устройства NXOS. Если файл уже присутствует на устройстве, он будет перезаписан, поэтому операция НЕ идемпотентна. | |
| file_pull_compact логический тип |
| Когда file_pull равен True, используется для сжатия файлов образа nxos. Этот параметр может быть использован только с файлами образов nxos. Когда (file_pull равен False), он не используется. | |
| file_pull_kstack логический тип |
| Когда file_pull равен True, это может быть использовано для ускорения копирования файлов, когда образ nxos поддерживает опцию use-kstack. Когда (file_pull равен False), он не используется. | |
| file_pull_protocol строка |
| Когда file_pull равен True, это может быть использовано для определения протокола передачи для копирования файла с удаленного устройства на устройство NXOS. Когда (file_pull равен False), он не используется. | |
| file_pull_timeout строка | По умолчанию: 300 | Используйте этот параметр для установки таймаута в секундах при передаче больших файлов или при медленном сетевом соединении. Когда (file_pull равен False), он не используется. | |
| file_system строка | По умолчанию: "bootflash:" | Удаленная файловая система на устройстве nxos. Если опущено, устройства, поддерживающие параметр file_system, будут использовать свои значения по умолчанию. | |
| local_file строка | Когда (file_pull равен False), это путь к локальному файлу на контроллере Ansible. Локальный каталог должен существовать. Когда (file_pull равен True), это имя целевого файла на устройстве NXOS. | ||
| local_file_directory строка | Когда (file_pull равен True) файл копируется с удаленного сервера SCP на устройство NXOS и записывается в этот каталог на устройстве NXOS. Если каталог не существует, он будет создан в файловой системе. Это необязательный параметр. Когда (file_pull равен False), он не используется. | ||
| provider словарь | Устаревшее Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli. Начиная с Ansible 2.6, рекомендуется использовать connection: httpapi для NX-API.Этот параметр будет удален в релизе после 2022-06-01. Для получения дополнительной информации, пожалуйста, обратитесь к руководству по платформе NXOS NXOS Platform Options guide. Объект словаря, содержащий данные подключения. | ||
| auth_pass строка | Указывает пароль для входа в привилегированный режим на удалённом устройстве, если это необходимо. Если authorize равно false, то этот аргумент ничего не делает. Если значение не указано в задаче, будет использовано значение переменной среды ANSIBLE_NET_AUTH_PASS. | ||
| authorize логический тип |
| Инструктирует модуль войти в привилегированный режим на удалённом устройстве перед отправкой любых команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задаче, будет использовано значение переменной среды ANSIBLE_NET_AUTHORIZE. | |
| host строка | Указывает имя хоста DNS или адрес для подключения к удалённому устройству по указанному транспорту. Значение host используется в качестве целевого адреса для транспорта. | ||
| password строка | Указывает пароль для аутентификации подключения к удалённому устройству. Это общий аргумент, используемый для cli или nxapi транспортов. Если значение не указано в задаче, будет использовано значение переменной среды ANSIBLE_NET_PASSWORD. | ||
| port целое число | Указывает порт для использования при построении подключения к удалённому устройству. Это значение относится к cli или nxapi. Значение порта по умолчанию будет соответствовать общему порту для данного транспорта, если он не указан в задаче (cli=22, http=80, https=443). | ||
| ssh_keyfile строка | Указывает SSH-ключ для аутентификации подключения к удалённому устройству. Этот аргумент используется только для транспорта cli. Если значение не указано в задаче, будет использовано значение переменной среды ANSIBLE_NET_SSH_KEYFILE. | ||
| timeout целое число | Указывает таймаут в секундах для связи с сетевым устройством для подключения или отправки команд. Если таймаут превышен до завершения операции, модуль вернёт ошибку. NX-API может медленно возвращать результаты при выполнении длительных команд (sh mac, sh bgp и т.д.). | ||
| transport строка |
| Настраивает транспортное соединение для использования при подключении к удалённому устройству. Аргумент transport поддерживает подключение к устройству через cli (ssh) или nxapi. | |
| use_proxy логический тип |
| Если no, переменные среды http_proxy и https_proxy будут проигнорированы. | |
| use_ssl логический тип |
| Настраивает transport для использования SSL, если установлено yes, только когда transport=nxapi, в противном случае это значение игнорируется. | |
| username строка | Настраивает имя пользователя для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации входа в CLI или аутентификации nxapi в зависимости от используемого транспорта. Если значение не указано в задаче, будет использовано значение переменной среды ANSIBLE_NET_USERNAME. | ||
| validate_certs логический тип |
| Если no, сертификаты SSL не будут проверены. Это следует использовать только на контролируемых сайтах, использующих самозаверяющие сертификаты. Если аргумент transport не nxapi, это значение игнорируется. | |
| remote_file строка | Когда (file_pull равен False), это путь к удалённому файлу на устройстве NXOS. Если опущено, будет использовано имя локального файла. Удалённый каталог должен существовать. Когда (file_pull равен True), это полный путь к файлу на удалённом сервере SCP, который будет скопирован на устройство NXOS. | ||
| remote_scp_server строка | Адрес удалённого сервера scp, когда file_pull равен True. Это требуется, если file_pull равен True. Когда (file_pull равен False), он не используется. | ||
| remote_scp_server_password строка | Пароль удалённого сервера scp, когда file_pull равен True. Это требуется, если file_pull равен True. Когда (file_pull равен False), он не используется. | ||
| remote_scp_server_user строка | Имя пользователя удалённого сервера scp, когда file_pull равен True. Это требуется, если file_pull равен True. Когда (file_pull равен False), он не используется. | ||
| vrf строка | По умолчанию: "management" | VRF, используемый для извлечения файла. Полезно, когда нет определённого vrf управления | |
Примечания
Примечание
- Проверено на 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
- При отправке файлов (file_pull равен False) на устройство NXOS, функция scp-server должна быть включена.
- При извлечении файлов (file_pull равен True) с устройства NXOS, функция scp-server не требуется.
- При извлечении файлов (file_pull равен True) с устройства NXOS, передача не произойдёт, если файл уже существует.
- Режим проверки покажет, будет ли файл скопирован.
- Для получения информации об использовании CLI и NX-API, см. руководство по платформе NXOS NXOS Platform Options guide
- Дополнительную информацию об использовании Ansible для управления сетевыми устройствами, см. руководство по сети Ansible Ansible Network Guide
- Дополнительную информацию об использовании Ansible для управления устройствами Cisco см. на странице интеграции Cisco Cisco integration page.
Примеры
# 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 boolean | успех | Указывает, был ли файл скопирован. Пример: True |
| local_file string | успех | Путь к локальному файлу. Пример: /path/to/local/file |
| remote_file string | успех | Путь к удалённому файлу. Пример: /path/to/remote/file |
| remote_scp_server string | успех | Имя сервера scp, когда file_pull равен True. Пример: fileserver.example.com |
| transfer_status string | успех | Указывает, был ли файл передан на устройство nxos. Пример: Отправлено |
Авторы
- Jason Edelman (@jedelman8)
- Gabriele Gerbino (@GGabriele)
- Переписано как плагин (@mikewiebe)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/cisco/nxos/nxos_file_copy_module.html