Spec-Zone.ru › Ansible 2.10

cisco.nxos.nxos_config – Управление разделами конфигурации Cisco NXOS

Примечание

Этот плагин является частью коллекции cisco.nxos (версия 1.3.1).

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

Чтобы использовать его в плейбуке, укажите: cisco.nxos.nxos_config

Новое в версии 1.0.0: of cisco.nxos

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

Обзор

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

Примечание

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
after
список / элементы=строка
Упорядоченный набор команд для добавления в конец стека команд, если необходимо внести изменения. Аналогично параметру before, это позволяет разработчику плейбука добавлять набор команд, которые будут выполняться после набора команд.
backup
логическое значение
    Варианты:
  • нет ←
  • да
Этот аргумент заставит модуль создать полную резервную копию текущей running-config удалённого устройства перед внесением любых изменений. Если значение backup_options не указано, файл резервной копии записывается в папку backup в корневой директории плейбука или директории роли, если плейбук является частью роли Ansible. Если директория не существует, она создаётся.
backup_options
словарь
Это объект типа dict, содержащий конфигурируемые параметры, связанные с путём к файлу резервной копии. Значение этого параметра читается только тогда, когда backup установлено в истинное значение. Если backup установлено в ложное значение, этот параметр будет проигнорирован.
dir_path
путь
Этот параметр указывает путь, заканчивающийся именем директории, в которой будет храниться файл конфигурации резервной копии. Если директория не существует, она будет создана, а имя файла будет либо значением filename, либо именем по умолчанию, как описано в описании параметров filename. Если значение пути не указано, в текущей рабочей директории будет создана директория backup, и конфигурация резервной копии будет скопирована в filename внутри директории backup.
filename
строка
Имя файла, используемого для хранения конфигурации резервной копии. Если имя файла не указано, оно будет сгенерировано на основе имени хоста, текущей даты и времени в формате <имя_хоста>_config.<дата>@<время>
before
список / элементы=строка
Упорядоченный набор команд для помещения в стек команд, если необходимо внести изменения. Это позволяет разработчику плейбука выполнить команды конфигурации перед внесением любых изменений без влияния на способ сопоставления набора команд с системой.
defaults
логическое значение
    Варианты:
  • нет ←
  • да
Аргумент defaults повлияет на то, как собирается running-конфигурация с устройства. Когда значение установлено в истинное, команда для сбора running-конфигурации дополняется ключевым словом all. Когда значение установлено в ложное, команда выполняется без ключевого слова all.
diff_against
строка
    Варианты:
  • startup
  • intended
  • running
При использовании аргумента командной строки ansible-playbook --diff модуль может генерировать разницы относительно разных источников.
Когда этот параметр настроен как startup, модуль вернёт разницу между running-конфигурацией и startup-конфигурацией.
Когда этот параметр настроен как intended, модуль вернёт разницу между running-конфигурацией и конфигурацией, предоставленной в аргументе intended_config.
Когда этот параметр настроен как running, модуль вернёт разницу до и после running-конфигурации по отношению к любым изменениям, внесённым в конфигурацию устройства.
diff_ignore_lines
список / элементы=строка
Используйте этот аргумент, чтобы указать одну или несколько строк, которые должны быть проигнорированы при сравнении. Это используется для строк в конфигурации, которые автоматически обновляются системой. Этот аргумент принимает список регулярных выражений или точных совпадений строк.
intended_config
строка
intended_config предоставляет основную конфигурацию, которой должен соответствовать узел, и используется для проверки окончательной running-конфигурации. Этот аргумент не будет изменять какие-либо настройки на удалённом устройстве и используется исключительно для проверки соответствия конфигурации текущего устройства. При указании этого аргумента задача также должна изменить значение diff_against и установить его в intended.
lines
список / элементы=строка
Упорядоченный набор команд, которые должны быть сконфигурированы в разделе. Команды должны быть абсолютно такими же, как и в running-конфигурации устройства. Обратите внимание на синтаксис команд конфигурации, так как некоторые команды автоматически изменяются анализатором конфигурации устройства.

псевдонимы: команды
match
строка
    Варианты:
  • строка ←
  • строго
  • точно
  • ничего
Указывает модулю способ сравнения набора команд с текущей конфигурацией устройства. Если match установлен в строка, команды сравниваются по строкам. Если match установлен в строго, строки команд сравниваются относительно позиции. Если match установлен в точно, строки команд должны быть точным совпадением. Наконец, если match установлен в ничего, модуль не будет пытаться сравнить исходную конфигурацию с рабочей конфигурацией на удалённом устройстве.
parents
список / элементы=строка
Упорядоченный набор родителей, которые однозначно идентифицируют раздел или иерархию, по которой должны проверяться команды. Если аргумент parents опущен, команды проверяются относительно набора команд верхнего уровня или глобальных команд.
provider
словарь
Устаревший
Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli.
Начиная с Ansible 2.6, для NX-API рекомендуется использовать connection: httpapi.
Этот параметр будет удалён в выпуске после 2022-06-01.
Для получения дополнительной информации см. руководство NXOS Platform Options.
Объект типа dict, содержащий сведения о подключении.
auth_pass
строка
Указывает пароль, который необходимо использовать для входа в привилегированный режим на удалённом устройстве. Если authorize ложно, этот аргумент ничего не делает. Если значение не указано в задаче, используется значение переменной среды 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
строка
    Варианты:
  • cli ←
  • nxapi
Настраивает транспортное соединение для подключения к удалённому устройству. Аргумент transport поддерживает подключение к устройству по протоколу cli (ssh) или nxapi.
use_proxy
логическое значение
  • нет
  • да ←
Если no, переменные среды http_proxy и https_proxy будут проигнорированы.
use_ssl
логическое значение
  • нет ←
  • да
Настраивает транспорт transport на использование SSL, если установлено в yes, только когда transport=nxapi, в противном случае это значение игнорируется.
username
string
Настраивает имя пользователя для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации входа в CLI или аутентификации nxapi в зависимости от используемого транспорта. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_USERNAME.
validate_certs
boolean
    Выборы:
  • нет ←
  • да
Если no, сертификаты SSL не будут проверены. Это следует использовать только на сайтах, контролируемых лично, с использованием собственных подписанных сертификатов. Если аргумент transport не nxapi, это значение игнорируется.
replace
string
    Выборы:
  • строка ←
  • блок
  • конфигурация
Указывает модулю способ выполнения конфигурации на устройстве. Если аргумент replace установлен в строка, то изменённые строки отправляются на устройство в режиме конфигурации. Если аргумент replace установлен в блок, то весь блок команд отправляется на устройство в режиме конфигурации, если какая-либо строка неверна. replace конфигурация поддерживается только на устройстве Nexus 9K.
replace_src
string
Аргумент replace_src предоставляет путь к файлу конфигурации для загрузки в удалённую систему. Этот аргумент используется для замены всей конфигурации на плоский файл. Он используется с аргументом replace со значением конфигурация. Он взаимоисключающий с аргументами lines и src. Этот аргумент поддерживается на устройстве Nexus 9K. Используйте модуль nxos_file_copy для копирования плоского файла на удалённое устройство, а затем используйте путь с этим аргументом.
running_config
string
Модуль по умолчанию подключается к удалённому устройству и получает текущую конфигурацию running-config для использования в качестве основы для сравнения с содержимым источника. Иногда нежелательно, чтобы задача получала текущую конфигурацию running-config для каждой задачи в книге сценариев. Аргумент running_config позволяет разработчику передать конфигурацию для использования в качестве базовой конфигурации сравнения.

алиасы: конфигурация
save_when
string
    Выборы:
  • всегда
  • никогда ←
  • изменённая
  • изменённая
Когда изменения вносятся в рабочую конфигурацию устройства, эти изменения по умолчанию не копируются в энергонезависимую память. Использование этого аргумента изменит это. Если аргумент установлен в всегда, то running-config всегда копируется в startup-config, а флаг изменённая всегда устанавливается в True. Если аргумент установлен в изменённая, то running-config копируется в startup-config только в том случае, если он изменился с момента последнего сохранения в startup-config. Если аргумент установлен в никогда, running-config никогда не будет скопирован в startup-config. Если аргумент установлен в изменённая, то running-config будет скопирован в startup-config только в том случае, если задача внесла изменение. изменённая была добавлена в Ansible 2.6.
src
путь
Аргумент src предоставляет путь к файлу конфигурации для загрузки в удалённую систему. Путь может быть полным системным путём к файлу конфигурации, если значение начинается с /, или относительным к корню реализованной роли или книги сценариев. Этот аргумент взаимоисключающий с аргументами lines и parents.

Примечания

Примечание

  • Сокращённые команды НЕ являются идемпотентными, см. Вопросы и ответы по сети.
  • Дополнительную информацию об использовании CLI и NX-API см. в руководстве NXOS Platform Options
  • Дополнительную информацию об использовании Ansible для управления сетевыми устройствами см. в руководстве Ansible Network Guide
  • Дополнительную информацию об использовании Ansible для управления устройствами Cisco см. на странице интеграции Cisco cisco integration page.

Примеры

- name: configure top level configuration and save it
  cisco.nxos.nxos_config:
    lines: hostname {{ inventory_hostname }}
    save_when: modified

- name: diff the running-config against a provided config
  cisco.nxos.nxos_config:
    diff_against: intended
    intended_config: "{{ lookup('file', 'master.cfg') }}"

- cisco.nxos.nxos_config:
    lines:
    - 10 permit ip 192.0.2.1/32 any log
    - 20 permit ip 192.0.2.2/32 any log
    - 30 permit ip 192.0.2.3/32 any log
    - 40 permit ip 192.0.2.4/32 any log
    - 50 permit ip 192.0.2.5/32 any log
    parents: ip access-list test
    before: no ip access-list test
    match: exact

- cisco.nxos.nxos_config:
    lines:
    - 10 permit ip 192.0.2.1/32 any log
    - 20 permit ip 192.0.2.2/32 any log
    - 30 permit ip 192.0.2.3/32 any log
    - 40 permit ip 192.0.2.4/32 any log
    parents: ip access-list test
    before: no ip access-list test
    replace: block

- name: replace config with flat file
  cisco.nxos.nxos_config:
    replace_src: config.txt
    replace: config

- name: for idempotency, use full-form commands
  cisco.nxos.nxos_config:
    lines:
      # - shut
    - shutdown
    # parents: int eth1/1
    parents: interface Ethernet1/1

- name: configurable backup path
  cisco.nxos.nxos_config:
    backup: yes
    backup_options:
      filename: backup.cfg
      dir_path: /home/user

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

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

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

Пример:
/playbooks/ansible/backup/nxos_config.2016-07-16@22:28:34
commands
список / элементы=строка
всегда
Набор команд, которые будут отправлены на удалённое устройство

Пример:
['hostname foo', 'vlan 1', 'name default']
date
string
при backup yes
Дата, извлечённая из имени файла резервной копии

Пример:
2016-07-16
filename
string
при backup yes и имя файла не указано в параметрах резервной копии
Имя файла резервной копии

Пример:
nxos_config.2016-07-16@22:28:34
shortname
string
при backup yes и имя файла не указано в параметрах резервной копии
Полный путь к файлу резервной копии без отметки времени

Пример:
/playbooks/ansible/backup/nxos_config
time
string
при backup yes
Время, извлечённое из имени файла резервной копии

Пример:
22:28:34
updates
список / элементы=строка
всегда
Набор команд, которые будут отправлены на удалённое устройство

Пример:
['hostname foo', 'vlan 1', 'name default']


Авторы

  • Peter Sprygada (@privateip)

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/cisco/nxos/nxos_config_module.html

Spec-Zone.ru

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