nxos_file_copy – Копирование файла на удалённое устройство NXOS
Описание
- Этот модуль поддерживает два разных подхода для копирования файла на флеш-память (или bootflash) устройств NXOS. Файлы могут быть (1) отправлены с контроллера Ansible на устройство или (2) извлечены из удалённого сервера SCP на устройство. Копирование файлов инициируется с устройства NXOS на удалённый сервер SCP. Этот модуль поддерживает только использование подключения
network_cliилиCliтранспорта с подключением %%%CODE_BLOCK_2%%.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- paramiko (требуется, когда file_pull равен False)
- SCPClient (требуется, когда file_pull равен False)
- pexpect (требуется, когда file_pull равен True)
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| connect_ssh_port - добавлен в 2.5 | По умолчанию: 22 | Порт SSH-сервера, используемый для передачи файлов. | |
| file_pull boolean добавлен в 2.7 |
| Если (False), файл копируется с контроллера Ansible на устройство NXOS. Если (True), файл копируется с удаленного SCP-сервера на устройство NXOS. В этом режиме копирование файла инициируется с устройства NXOS. Если файл уже присутствует на устройстве, он будет перезаписан, поэтому операция НЕ идемпотентна. | |
| file_pull_compact boolean добавлен в 2.9 |
| Если file_pull = True, используется для сжатия файлов образа nxos. Этот параметр может использоваться только с файлами образа nxos. Если (file_pull = False), этот параметр не используется. | |
| file_pull_kstack boolean добавлен в 2.9 |
| Если file_pull = True, это можно использовать для ускорения копирования файлов, когда образ nxos поддерживает опцию use-kstack. Если (file_pull = False), этот параметр не используется. | |
| file_pull_timeout - добавлен в 2.7 | По умолчанию: 300 | Используйте этот параметр для установки таймаута в секундах при передаче больших файлов или при медленном сетевом соединении. Если (file_pull = False), этот параметр не используется. | |
| file_system - | По умолчанию: "bootflash:" | Удаленная файловая система на устройстве nxos. Если опущено, устройства, поддерживающие параметр file_system, будут использовать свои значения по умолчанию. | |
| local_file - | Если (file_pull = False), это путь к локальному файлу на контроллере Ansible. Локальный каталог должен существовать. Если (file_pull = True), это имя целевого файла на устройстве NXOS. | ||
| local_file_directory - добавлен в 2.7 | Если (file_pull = True), файл копируется с удаленного SCP-сервера на устройство NXOS и записывается в этот каталог на устройстве NXOS. Если каталог не существует, он будет создан в файловой системе. Это необязательный параметр. Если (file_pull = False), этот параметр не используется. | ||
| provider словарь | Устарело Начиная с Ansible 2.5 рекомендуется использовать connection: network_cli. Этот параметр требуется только при использовании NX-API. Для получения дополнительной информации, пожалуйста, обратитесь к руководству NXOS Platform Options. Объект словаря, содержащий детали подключения. | ||
| auth_pass строка добавлен в 2.5.3 | Указывает пароль для входа в привилегированный режим на удаленном устройстве, если это необходимо. Если authorize = false, то этот аргумент ничего не делает. Если значение не указано в задаче, вместо него используется значение переменной среды ANSIBLE_NET_AUTH_PASS. | ||
| authorize boolean добавлен в 2.5.3 |
| Инструктирует модуль войти в привилегированный режим на удаленном устройстве перед отправкой любых команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задаче, вместо него используется значение переменной среды ANSIBLE_NET_AUTHORIZE. | |
| host строка / обязательно | Указывает имя хоста DNS или адрес для подключения к удаленному устройству по указанному транспорту. Значение host используется в качестве целевого адреса для транспорта. | ||
| password строка | Указывает пароль для аутентификации подключения к удаленному устройству. Это общий аргумент, используемый для транспортов cli или nxapi. Если значение не указано в задаче, вместо него используется значение переменной среды ANSIBLE_NET_PASSWORD. | ||
| port целое число | По умолчанию: "0 (использовать общий порт)" | Указывает порт для создания соединения с удаленным устройством. Это значение применяется к транспорту cli или nxapi. Значение порта по умолчанию соответствует обычному порту соответствующего транспорта, если он не указан в задаче (cli=22, http=80, https=443). | |
| ssh_keyfile строка | Указывает SSH-ключ для аутентификации подключения к удаленному устройству. Этот аргумент используется только для транспорта cli. Если значение не указано в задаче, вместо него используется значение переменной среды ANSIBLE_NET_SSH_KEYFILE. | ||
| timeout целое число | По умолчанию: 10 | Указывает таймаут в секундах для связи с сетевым устройством при подключении или отправке команд. Если таймаут превышен до завершения операции, модуль вернет ошибку. NX-API может медленно реагировать на длительные команды (sh mac, sh bgp и т.д.). | |
| transport строка / обязательно |
| Настраивает транспортное соединение для подключения к удаленному устройству. Аргумент transport поддерживает подключение к устройству по протоколам cli (ssh) или nxapi. | |
| use_proxy boolean добавлен в 2.5 |
| Если no, переменные среды http_proxy и https_proxy будут проигнорированы. | |
| use_ssl boolean |
| Настраивает transport для использования SSL, если установлено yes, только когда transport=nxapi, в противном случае это значение игнорируется. | |
| username строка | Настраивает имя пользователя для аутентификации подключения к удаленному устройству. Это значение используется для аутентификации входа CLI или аутентификации nxapi в зависимости от используемого транспорта. Если значение не указано в задаче, вместо него используется значение переменной среды ANSIBLE_NET_USERNAME. | ||
| validate_certs boolean |
| Если no, сертификаты SSL не будут проверены. Это следует использовать только на сайтах, контролируемых лично, использующих самозаверяемые сертификаты. Если аргумент transport не nxapi, это значение игнорируется. | |
| remote_file - | Если (file_pull = False), это удаленный путь к файлу на устройстве NXOS. Если опущено, используется имя локального файла. Удаленный каталог должен существовать. Если (file_pull = True), это полный путь к файлу на удаленном SCP-сервере, который будет скопирован на устройство NXOS. | ||
| remote_scp_server - добавлен в 2.7 | Адрес удаленного SCP-сервера, когда file_pull = True. Это требуется, если file_pull = True. Если (file_pull = False), этот параметр не используется. | ||
| remote_scp_server_password - added in 2.7 | Пароль удалённого сервера scp при file_pull = True. Требуется, если file_pull = True. Если (file_pull = False), не используется. | ||
| remote_scp_server_user - added in 2.7 | Имя пользователя удалённого сервера scp при file_pull = True. Требуется, если file_pull = True. Если (file_pull = False), не используется. | ||
| vrf - added in 2.9 | По умолчанию: "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
- Для получения дополнительной информации об использовании Ansible для управления сетевыми устройствами см. Руководство по сети Ansible
- Для получения дополнительной информации об использовании Ansible для управления устройствами Cisco см. страницу интеграции Cisco https://www.ansible.com/integrations/networks/cisco.
Примеры
# File copy from ansible controller to nxos device
- name: "copy from server to device"
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"
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"
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| 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. Пример: Отправлено |
Статус
- Данный модуль не гарантирует обратную совместимость интерфейса. [предварительная версия]
- Этот модуль поддерживается командой Ansible Network. [сеть]
Поддержка Red Hat
Дополнительная информация о поддержке данного модуля Red Hat доступна в этой статье базы знаний Red Hat https://access.redhat.com/articles/3166901.
Авторы
- Jason Edelman (@jedelman8)
- Gabriele Gerbino (@GGabriele)
- Переписано как плагин (@mikewiebe)
Подсказка
Если вы заметили какие-либо проблемы в этой документации, вы можете изменить этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/nxos_file_copy_module.html