Spec-Zone.ru › Ansible 2.11

ansible.netcommon.cli_config – Передача текстовой конфигурации на сетевые устройства через network_cli

Примечание

Этот плагин является частью коллекции ansible.netcommon (версия 1.5.0).

Для его установки используйте: ansible-galaxy collection install ansible.netcommon.

Для использования в книге задач укажите: ansible.netcommon.cli_config.

Добавлена в версии 1.0.0: из ansible.netcommon

  • Обзор
  • Параметры
  • Примечания
  • Примеры
  • Значения возврата

Обзор

  • Этот модуль предоставляет платформенно-независимый способ передачи текстовой конфигурации на сетевые устройства через плагин подключения network_cli.

Примечание

У этого модуля есть соответствующий плагин действий.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
backup
логическое значение
    Варианты:
  • нет ←
  • да
Этот аргумент заставит модуль создать полную резервную копию текущей рабочей конфигурации с удаленного устройства перед внесением любых изменений. Если значение backup_options не указано, файл резервной копии записывается в папку backup в корневой директории книги задач или директории роли, если книга задач является частью роли Ansible. Если директория не существует, она создается.
backup_options
словарь
Это объект типа dict, содержащий настраиваемые параметры, связанные с путем к файлу резервной копии. Значение этого параметра считывается только при backup установлено в да. Если backup установлено в нет, этот параметр будет проигнорирован.
dir_path
путь
Этот параметр предоставляет путь, заканчивающийся именем директории, в которой будет храниться файл резервной копии конфигурации. Если директория не существует, она будет создана, а имя файла будет либо значением filename, либо именем по умолчанию, как описано в описании опций filename. Если значение пути не указано, будет создана директория backup в текущей рабочей директории, и резервная копия конфигурации будет скопирована в filename внутри директории backup.
filename
строка
Имя файла, используемого для хранения резервной копии конфигурации. Если имя файла не указано, оно будет сгенерировано на основе имени хоста, текущей даты и времени в формате <имя_хоста>_config.<дата>@<время>
commit
логическое значение
    Варианты:
  • нет
  • да
Аргумент commit инструктирует модуль отправить конфигурацию на устройство. Это сопоставляется с режимом проверки модуля.
commit_comment
строка
Аргумент commit_comment указывает строку текста, которая будет использована при фиксации конфигурации. Если аргумент commit установлен в False, этот аргумент будет проигнорирован. Этот аргумент допустим только для платформ, которые поддерживают операцию фиксации с комментарием.
config
строка
Конфигурация, которая должна быть отправлена на сетевое устройство. Этот аргумент взаимоисключающий с rollback, и должен быть задан один из них. Для обеспечения идемпотентности и правильного разностного анализа строки конфигурации должны соответствовать тому, как они выглядят, если присутствуют в текущей конфигурации устройства, включая отступы.
defaults
логическое значение
    Варианты:
  • нет ←
  • да
Аргумент 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/JUNOS, аргумент replace принимает путь к файлу на устройстве, который будет использован для замены всей текущей конфигурации. Значение параметра config должно быть None для таких устройств. Устройства Nexus 9K поддерживают только замену. Используйте net_put или nxos_file_copy в случае модуля NXOS, чтобы скопировать плоский файл на удаленное устройство, а затем установите полный путь к этому аргументу.
rollback
целое число
Аргумент rollback инструктирует модуль выполнить откат текущей конфигурации до идентификатора, указанного в аргументе. Если указанный идентификатор отката не существует на удаленном устройстве, модуль завершится с ошибкой. Для отката до последней фиксации установите аргумент rollback в 0. Этот параметр взаимоисключающий с config.

Примечания

Примечание

  • Команды будут возвращены только для платформ, которые не поддерживают разностный анализ на устройстве. Параметр --diff в книге задач вернет разницу в конфигурации для устройств, которые поддерживают разностный анализ на устройстве.
  • Для обеспечения идемпотентности и правильного разностного анализа строки конфигурации в соответствующих параметрах модуля должны соответствовать тому, как они выглядят, если присутствуют в текущей конфигурации устройства, включая отступы.
  • Этот модуль поддерживается на сетевых платформах ansible_network_os. Подробности см. в Параметрах сетевой платформы.

Примеры

- name: configure device with config
  ansible.netcommon.cli_config:
    config: "{{ lookup('template', 'basic/config.j2') }}"

- name: multiline config
  ansible.netcommon.cli_config:
    config: |
      hostname foo
      feature nxapi

- name: configure device with config with defaults enabled
  ansible.netcommon.cli_config:
    config: "{{ lookup('template', 'basic/config.j2') }}"
    defaults: yes

- name: Use diff_match
  ansible.netcommon.cli_config:
    config: "{{ lookup('file', 'interface_config') }}"
    diff_match: none

- name: nxos replace config
  ansible.netcommon.cli_config:
    replace: bootflash:nxoscfg

- name: junos replace config
  ansible.netcommon.cli_config:
    replace: /var/home/ansible/junos01.cfg

- name: commit with comment
  ansible.netcommon.cli_config:
    config: set system host-name foo
    commit_comment: this is a test

- name: configurable backup path
  ansible.netcommon.cli_config:
    config: "{{ lookup('template', 'basic/config.j2') }}"
    backup: yes
    backup_options:
      filename: backup.cfg
      dir_path: /home/user

Значения возврата

Общие значения возврата описаны в этом разделе, ниже перечислены поля, уникальные для этого модуля:

Ключ Возвращаемое значение Описание
backup_path
строка
при backup=да
Полный путь к файлу резервной копии

Пример:
/playbooks/ansible/backup/имя_хоста_config.2016-07-16@22:28:34
commands
список / элементы=строка
Когда supports_generated_diff=True и supports_onbox_diff=False в плагине cliconf платформы
Набор команд, которые будут отправлены на удаленное устройство

Пример:
['interface Loopback999', 'no shutdown']
diff
строка
Когда supports_onbox_diff=True в плагине cliconf платформы
Разностный анализ, сгенерированный на устройстве при применении команд

Пример:
--- system:/running-config +++ session:/ansible_1599745461-session-config @@ -4,7 +4,7 @@ ! transceiver qsfp default-mode 4x10G ! -hostname veos +hostname veos3 ! spanning-tree mode mstp


Авторы

  • Trishna Guha (@trishnaguha)

© 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/ansible/netcommon/cli_config_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API