eos_eapi – Управление и настройка Arista EOS eAPI.
Новое в версии 2.1.
Обзор
- Используется для включения или отключения доступа к eAPI, а также для настройки порта и состояния серверов http, https, local_http и unix-socket.
- При включении доступа к eAPI по умолчанию включено HTTP на порту 80, HTTPS на порту 443, отключено локальное HTTP и отключен сервер Unix-сокет. Используйте параметры, перечисленные ниже, чтобы переопределить стандартную конфигурацию.
- Требуется EOS v4.12 или выше.
Требования
Ниже перечислены требования, которые должны быть выполнены на хосте, на котором выполняется данный модуль.
- EOS v4.12 или выше
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| auth_pass - | Устарело Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli и become: yes с become_pass. Этот параметр требуется только при использовании eAPI. Дополнительную информацию см. в руководстве EOS Platform Options. Указывает пароль для входа в привилегированный режим на удалённом устройстве. Если authorize равно false, этот параметр игнорируется. Если значение не указано в задаче, будет использовано значение переменной среды ANSIBLE_NET_AUTH_PASS. | ||
| authorize boolean |
| Устарело Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli и become: yes. Этот параметр требуется только при использовании eAPI. Дополнительную информацию см. в руководстве EOS Platform Options. Инструктирует модуль войти в привилегированный режим на удалённом устройстве перед отправкой команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задаче, будет использовано значение переменной среды ANSIBLE_NET_AUTHORIZE. | |
| config - добавлено в 2.2 | По умолчанию модуль подключается к удалённому устройству и получает текущую конфигурацию, чтобы использовать её как основу для сравнения с содержимым источника. Иногда нежелательно получать текущую конфигурацию для каждой задачи в плейбуке. Параметр config позволяет разработчику указать конфигурацию, которая будет использоваться как базовая для сравнения. | ||
| http boolean |
| Параметр http управляет состоянием протокола HTTP-транспорта, когда eAPI присутствует в текущей конфигурации. Если значение равно True, протокол HTTP включён, а если False — отключён. По умолчанию, при первой настройке eAPI, протокол HTTP отключён.псевдонимы: enable_http | |
| http_port - | Значение по умолчанию: 80 | Настраивает HTTP-порт, который будет слушать подключения, когда протокол HTTP-транспорта включён. Этот параметр принимает целые значения в диапазоне от 1 до 65535. | |
| https boolean |
| Параметр https управляет состоянием протокола HTTPS-транспорта, когда eAPI присутствует в текущей конфигурации. Если значение равно True, протокол HTTPS включён, а если False — отключён. По умолчанию, при первой настройке eAPI, протокол HTTPS включён.псевдонимы: enable_https | |
| https_port - | Значение по умолчанию: 443 | Настраивает HTTP-порт, который будет слушать подключения, когда протокол HTTP-транспорта включён. Этот параметр принимает целые значения в диапазоне от 1 до 65535. | |
| local_http boolean |
| Параметр local_http управляет состоянием локального протокола HTTP-транспорта, когда eAPI присутствует в текущей конфигурации. Если значение равно True, протокол HTTP включён и ограничен подключениями только с localhost. Если значение равно False, локальный HTTP-протокол отключён.Обратите внимание, что значение независимо от параметра http. псевдонимы: enable_local_http | |
| local_http_port - | Значение по умолчанию: 8080 | Настраивает HTTP-порт, который будет слушать подключения, когда протокол HTTP-транспорта включён. Этот параметр принимает целые значения в диапазоне от 1 до 65535. | |
| provider - | Устарело Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli. Этот параметр требуется только при использовании eAPI. Дополнительную информацию см. в руководстве EOS Platform Options. Объект словаря, содержащий данные подключения. | ||
| auth_pass - | Указывает пароль для входа в привилегированный режим на удалённом устройстве. Если authorize равно false, этот параметр игнорируется. Если значение не указано в задаче, будет использовано значение переменной среды ANSIBLE_NET_AUTH_PASS. | ||
| authorize boolean |
| Инструктирует модуль войти в привилегированный режим на удалённом устройстве перед отправкой команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задаче, будет использовано значение переменной среды ANSIBLE_NET_AUTHORIZE. | |
| host - / обязательно | Указывает имя хоста DNS или адрес для подключения к удалённому устройству по указанному транспорту. Значение host используется в качестве адреса назначения для транспорта. | ||
| password - | Указывает пароль для аутентификации подключения к удалённому устройству. Этот параметр обычно используется для транспортов cli или eapi. Если значение не указано в задаче, будет использовано значение переменной среды ANSIBLE_NET_PASSWORD. | ||
| port - | Значение по умолчанию: "0 (использовать стандартный порт)" | Указывает порт, используемый при построении подключения к удалённому устройству. Это значение относится к транспорту cli или eapi. Значение порта по умолчанию соответствует стандартному порту для транспорта, если оно не указано в задаче (cli=22, http=80, https=443). | |
| ssh_keyfile - | Указывает SSH-ключ для аутентификации подключения к удалённому устройству. Этот параметр используется только для транспортов cli. Если значение не указано в задаче, будет использовано значение переменной среды ANSIBLE_NET_SSH_KEYFILE. | ||
| timeout - | Значение по умолчанию: 10 | Указывает время ожидания в секундах для связи с сетевым устройством при подключении или отправке команд. Если время ожидания истечёт до завершения операции, модуль вернёт ошибку. | |
| transport - / обязательно |
| Настраивает транспортное подключение для соединения с удалённым устройством. | |
| use_proxy boolean добавлено в 2.5 |
| Если no, переменные среды http_proxy и https_proxy будут проигнорированы. | |
| use_ssl boolean |
| Настраивает transport для использования SSL, если значение равно true, только когда transport=eapi. Если параметр transport не равен eapi, это значение игнорируется. | |
| username - | Настраивает имя пользователя для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации входа в CLI или аутентификации eAPI в зависимости от используемого транспорта. Если значение не указано в задаче, будет использовано значение переменной среды ANSIBLE_NET_USERNAME. | ||
| validate_certs boolean |
| Если no, сертификаты SSL не будут проверены. Это следует использовать только на сайтах, контролируемых вами лично, которые используют самоподписанные сертификаты. Если аргумент transport не равен eapi, это значение игнорируется. | |
| socket boolean |
| Аргумент socket управляет рабочим состоянием UNIX доменного сокета, используемого для получения запросов eAPI. Когда значение этого аргумента установлено в True, UDS будет слушать запросы eAPI. Когда значение установлено в False, UDS не будет доступен для обработки запросов. По умолчанию, когда eAPI впервые настроен, UDS отключен.Псевдонимы: enable_socket | |
| state - |
| Аргумент state управляет рабочим состоянием eAPI на удалённом устройстве. Когда этот аргумент установлен в started, eAPI включен для получения запросов, а когда этот аргумент установлен в stopped, eAPI выключен и не будет получать запросы. | |
| vrf - добавлен в 2.2 | Значение по умолчанию: "default" | Аргумент vrf настроит eAPI на прослушивание подключений в указанном VRF. По умолчанию, eAPI-транспорты будут прослушивать подключения в глобальной таблице. Это значение требует, чтобы VRF был уже создан, иначе задача завершится ошибкой. | |
Примечания
Примечание
- Сведения об использовании командной строки, eAPI и привилегированного режима см. в руководстве EOS Platform Options
- Дополнительную информацию об использовании Ansible для управления сетевыми устройствами см. в руководстве Ansible Network Guide
- Дополнительную информацию об использовании Ansible для управления устройствами Arista EOS см. на странице интеграции Arista.
Примеры
- name: Enable eAPI access with default configuration
eos_eapi:
state: started
- name: Enable eAPI with no HTTP, HTTPS at port 9443, local HTTP at port 80, and socket enabled
eos_eapi:
state: started
http: false
https_port: 9443
local_http: yes
local_http_port: 80
socket: yes
- name: Shutdown eAPI access
eos_eapi:
state: stopped
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие являются полями, уникальными для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| commands список | всегда | Список команд конфигурации режима, которые необходимо отправить на устройство Пример: ['management api http-commands', 'protocol http port 81', 'no protocol https'] |
| session_name строка | при изменении значение True | Имя сеанса конфигурации EOS, используемого для загрузки конфигурации Пример: ansible_1479315771 |
| urls словарь | при запуске eAPI | Хэш URL-адресов конечных точек, на которых eAPI прослушивает по интерфейсу Пример: {'Management1': ['http://172.26.10.1:80']} |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [предварительный просмотр]
- Этот модуль поддерживается командой 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.7/modules/eos_eapi_module.html