Spec-Zone.ru › Ansible 2.9

nxos_config – Управление секциями конфигурации Cisco NXOS

  • Краткое описание
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус

Краткое описание

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

Параметры

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

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

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

Примечания

Примечание

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

Примеры

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

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

- 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

- 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
  nxos_config:
    replace_src: config.txt
    replace: config

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

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

Возвращаемые значения

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

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

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

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

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

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

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

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

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


Статус

  • Данный модуль не гарантирует обратной совместимости интерфейса. [превью]
  • Этот модуль поддерживается командой Ansible Network. [сеть]

Поддержка Red Hat

Дополнительную информацию о поддержке этого модуля компанией Red Hat можно найти в этой статье базы знаний Red Hat.

Авторы

  • 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.9/modules/nxos_config_module.html

Spec-Zone.ru

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