cli_config – Передача текстовой конфигурации на сетевые устройства через network_cli
Новая в версии 2.7.
Обзор
- Этот модуль предоставляет платформенно-независимый способ передачи текстовой конфигурации на сетевые устройства через плагин подключения network_cli.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| backup boolean добавлен в 2.8 |
| Этот аргумент заставит модуль создать полную резервную копию текущей рабочей конфигурации удаленного устройства перед внесением каких-либо изменений. Если значение backup_options не указано, файл резервной копии записывается в папку backup в корневом каталоге playbook или в корневом каталоге роли, если playbook входит в состав роли ansible. Если каталог не существует, он создаётся. | |
| backup_options словарь добавлен в 2.8 | Это объект типа dict, содержащий конфигурируемые параметры, связанные с путём к файлу резервной копии. Значение этого параметра считывается только тогда, когда backup установлено в yes; если backup установлено в no, этот параметр будет проигнорирован. | ||
| dir_path путь | Этот параметр задаёт путь, заканчивающийся именем каталога, в котором будет храниться файл резервной копии конфигурации. Если каталог не существует, он будет сначала создан, а имя файла будет либо значением filename, либо именем по умолчанию, как описано в описании параметров filename. Если значение пути не указано, в текущем рабочем каталоге будет создан каталог backup, и резервная копия конфигурации будет скопирована в filename внутри каталога backup. | ||
| filename - | Имя файла для хранения резервной копии конфигурации. Если имя файла не указано, оно будет сгенерировано на основе имени хоста, текущей даты и времени в формате <имя_хоста>_config.<дата>@<время> | ||
| commit boolean |
| Аргумент commit указывает модулю на необходимость передачи конфигурации на устройство. Это сопоставляется с режимом проверки модуля. | |
| commit_comment строка | Аргумент commit_comment задаёт текстовую строку, которая будет использоваться при фиксации конфигурации. Если аргумент commit установлен в False, этот аргумент будет проигнорирован. Этот аргумент допустим только для платформ, поддерживающих операцию фиксации с комментарием. | ||
| config строка | Конфигурация, которая должна быть передана на сетевое устройство. Этот аргумент взаимоисключает rollback, и должен быть указан один из этих вариантов. Конфигурация должна иметь отступы, используемые устройством. | ||
| defaults boolean |
| Аргумент defaults повлияет на то, как собирается текущая конфигурация с устройства. При установке значения в true команда, используемая для сбора текущей конфигурации, дополняется ключевым словом all. При установке значения в false команда выполняется без ключевого слова all. | |
| diff_ignore_lines - | Используйте этот аргумент для указания одной или нескольких строк, которые следует игнорировать во время сравнения. Это используется для строк в конфигурации, которые автоматически обновляются системой. Этот аргумент принимает список регулярных выражений или точных совпадений строк. Обратите внимание, что этот параметр будет проигнорирован, если платформа поддерживает локальное сравнение. | ||
| diff_match - |
| Указывает модулю способ сопоставления набора команд с текущей конфигурацией устройства. Если diff_match установлено в строка, команды сопоставляются по строкам. Если diff_match установлено в строго, строки команд сопоставляются с учётом позиции. Если diff_match установлено в точно, строки команд должны точно совпадать. Наконец, если diff_match установлено в нет, модуль не будет пытаться сравнить исходную конфигурацию с текущей конфигурацией удалённого устройства. Обратите внимание, что этот параметр будет проигнорирован, если платформа поддерживает локальное сравнение. | |
| diff_replace - |
| Указывает модулю способ внесения изменений на устройстве. Если аргумент diff_replace установлен в строка, изменённые строки передаются устройству в режиме конфигурации. Если аргумент установлен в блок, весь блок команды передаётся устройству в режиме конфигурации, если какая-либо строка некорректна. Обратите внимание, что этот параметр будет проигнорирован, если платформа поддерживает локальное сравнение. | |
| multiline_delimiter строка | Этот аргумент используется при передаче многострочного элемента конфигурации на устройство. Он задаёт символ, который используется в качестве разделителя. Это относится только к действию конфигурации. | ||
| replace строка | Если аргумент replace установлен в yes, он заменит всю текущую конфигурацию устройства значением аргумента config. Для устройств NXOS аргумент replace принимает путь к файлу на устройстве, который будет использован для замены всей текущей конфигурации. Устройства Nexus 9K поддерживают только замену. Используйте модуль net_put или nxos_file_copy для копирования текстового файла на удалённое устройство, а затем установите полный путь к этому аргументу. | ||
| rollback - | Аргумент rollback указывает модулю откатиться к текущей конфигурации, идентификатор которой указан в аргументе. Если указанный идентификатор отката не существует на удалённом устройстве, модуль завершится с ошибкой. Для отката к последней фиксации установите аргумент rollback в 0. Этот параметр взаимоисключающий с config. | ||
Примечания
Примечание
- Этот модуль поддерживается на сетевых платформах
ansible_network_os. Подробнее см. Параметры сетевых платформ.
Примеры
- name: configure device with config
cli_config:
config: "{{ lookup('template', 'basic/config.j2') }}"
- name: multiline config
cli_config:
config: |
hostname foo
feature nxapi
- name: configure device with config with defaults enabled
cli_config:
config: "{{ lookup('template', 'basic/config.j2') }}"
defaults: yes
- name: Use diff_match
cli_config:
config: "{{ lookup('file', 'interface_config') }}"
diff_match: none
- name: nxos replace config
cli_config:
replace: 'bootflash:nxoscfg'
- name: commit with comment
cli_config:
config: set system host-name foo
commit_comment: this is a test
- name: configurable backup path
cli_config:
config: "{{ lookup('template', 'basic/config.j2') }}"
backup: yes
backup_options:
filename: backup.cfg
dir_path: /home/user
Возвращаемые значения
Общие возвращаемые значения описаны здесь. Ниже приведены поля, уникальные для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| backup_path строка | при backup=yes | Полный путь к файлу резервной копии Пример: /playbooks/ansible/backup/имя_хоста_config.2016-07-16@22:28:34 |
| commands список | всегда | Набор команд, который будет передан на удалённое устройство Пример: ['interface Loopback999', 'no shutdown'] |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
- Этот модуль поддерживается командой Ansible по работе с сетями. [сеть]
Поддержка Red Hat
Дополнительную информацию о поддержке этого модуля Red Hat можно найти в этой статье базы знаний Red Hat.
Авторы
- Trishna Guha (@trishnaguha)
Подсказка
Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/cli_config_module.html