arista.eos.eos_eapi – Управление и настройка Arista EOS eAPI.
Примечание
Этот плагин входит в коллекцию arista.eos (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install arista.eos.
Для использования в playbook укажите: arista.eos.eos_eapi.
Новое в версии 1.0.0: из arista.eos
Обзор
- Используется для включения или отключения доступа eAPI и установки порта и состояния серверов http, https, local_http и unix-socket.
- При включении доступа eAPI по умолчанию включен HTTP на порту 80, включен HTTPS на порту 443, выключен локальный HTTP и выключен сервер Unix-соккета. Используйте перечисленные ниже параметры для изменения конфигурации по умолчанию.
- Требуется EOS v4.12 или более поздняя версия.
Примечание
Этот модуль имеет соответствующий плагин действий.
Требования
Ниже перечислены требования, необходимые на хосте, который выполняет этот модуль.
- EOS v4.12 или более поздняя версия
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| config строка | По умолчанию модуль подключается к удалённому устройству и получает текущую конфигурацию для сравнения с содержимым источника. Иногда нежелательно получать текущую рабочую конфигурацию для каждой задачи в плейбуке. Аргумент config позволяет разработчику указать конфигурацию для сравнения. | ||
| http логическое значение |
| Аргумент http управляет состоянием протокола HTTP-транспорта, когда eAPI присутствует в текущей конфигурации. При значении True протокол HTTP включен, а при значении False — отключен. По умолчанию, при первой настройке eAPI, протокол HTTP отключен.псевдонимы: enable_http | |
| http_port целое число | Настраивает HTTP-порт, который будет принимать подключения при включенном HTTP-протоколе транспорта. Этот аргумент принимает целые числа в диапазоне от 1 до 65535. | ||
| https логическое значение |
| Аргумент https управляет состоянием протокола HTTPS-транспорта, когда eAPI присутствует в текущей конфигурации. При значении True протокол HTTPS включен, а при значении False — отключен. По умолчанию, при первой настройке eAPI, протокол HTTPS включен.псевдонимы: enable_https | |
| https_port целое число | Настраивает HTTP-порт, который будет принимать подключения при включенном HTTP-протоколе транспорта. Этот аргумент принимает целые числа в диапазоне от 1 до 65535. | ||
| local_http логическое значение |
| Аргумент local_http управляет состоянием локального HTTP-протокола транспорта, когда eAPI присутствует в текущей конфигурации. При значении True HTTP-протокол включен и ограничен подключениями только с localhost. При значении False, локальный HTTP-протокол отключен.Примечание: значение независимо от аргумента httpпсевдонимы: enable_local_http | |
| local_http_port целое число | Настраивает HTTP-порт, который будет принимать подключения при включенном HTTP-протоколе транспорта. Этот аргумент принимает целые числа в диапазоне от 1 до 65535. | ||
| provider словарь | Устарело Начиная с Ansible 2.5, рекомендуется использовать connection: network_cliНачиная с Ansible 2.6, рекомендуется использовать connection: httpapi для eAPI.Этот параметр будет удалён в версии после 2022-06-01. Для получения дополнительной информации, пожалуйста, обратитесь к руководству EOS Platform Options. Объект словаря, содержащий детали подключения. | ||
| auth_pass строка | Указывает пароль для входа в привилегированный режим на удалённом устройстве, если это необходимо. Если authorize равно false, этот аргумент не имеет эффекта. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_AUTH_PASS | ||
| authorize логическое значение |
| Инструктирует модуль войти в привилегированный режим на удалённом устройстве перед отправкой команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задаче, используется значение переменной окружения 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 целое число | Указывает таймаут в секундах для связи с сетевым устройством при подключении или отправке команд. Если таймаут превышен до завершения операции, модуль вернёт ошибку. | ||
| transport строка |
| Настраивает транспортное подключение для подключения к удалённому устройству. | |
| use_proxy логическое значение |
| Если no, переменные окружения http_proxy и https_proxy будут проигнорированы. | |
| use_ssl логическое значение |
| Настраивает transport на использование SSL, если установлено значение yes, только когда transport=eapi. Если аргумент transport не eapi, это значение игнорируется. | |
| username строка | Настраивает имя пользователя для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации входа в CLI или аутентификации eAPI в зависимости от используемого транспорта. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_USERNAME | ||
| validate_certs логическое значение |
| Если no, сертификаты SSL не будут проверены. Это следует использовать только на контролируемых вами сайтах с самоподписанными сертификатами. Если аргумент transport не eapi, это значение игнорируется. | |
| socket логическое значение |
| Аргумент socket управляет состоянием сокета UNIX Domain Socket, используемого для получения запросов eAPI. При значении True UDS будет слушать запросы eAPI. При значении False UDS не будет доступен для обработки запросов. По умолчанию, при первой настройке eAPI, UDS отключён.псевдонимы: enable_socket | |
| state строка |
| Аргумент state управляет рабочим состоянием eAPI на удалённом устройстве. При значении started eAPI включён для приема запросов, а при значении stopped eAPI отключён и не будет принимать запросы. | |
| timeout целое число | Значение по умолчанию: 30 | Время (в секундах) ожидания отражения конфигурации eAPI в рабочей конфигурации. | |
| vrf строка | Значение по умолчанию: "default" | Аргумент vrf настраивает eAPI на прослушивание подключений в указанном VRF. По умолчанию eAPI-транспорты прослушивают подключения в глобальной таблице. Это значение требует, чтобы VRF был уже создан, иначе задача завершится ошибкой. | |
Примечания
Примечание
- Дополнительная информация об использовании CLI, eAPI и привилегированного режима см. в руководстве EOS Platform Options
- Дополнительная информация об использовании Ansible для управления сетевыми устройствами см. в руководстве Ansible Network Guide
- Дополнительная информация об использовании Ansible для управления устройствами Arista EOS см. на странице интеграции Arista.
Примеры
- name: Enable eAPI access with default configuration
arista.eos.eos_eapi:
state: started
- name: Enable eAPI with no HTTP, HTTPS at port 9443, local HTTP at port 80, and socket
enabled
arista.eos.eos_eapi:
state: started
http: false
https_port: 9443
local_http: yes
local_http_port: 80
socket: yes
- name: Shutdown eAPI access
arista.eos.eos_eapi:
state: stopped
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| commands список / elements=строка | всегда | Список команд режима конфигурации для отправки устройству Пример: ['management api http-commands', 'protocol http port 81', 'no protocol https'] |
| session_name строка | при изменении is True | Имя сеанса конфигурации EOS, используемого для загрузки конфигурации Пример: ansible_1479315771 |
| urls словарь | при запуске eAPI | Хэш конечных точек URL, на которых eAPI прослушивает по интерфейсу Пример: {'Management1': ['http://172.26.10.1:80']} |
Авторы
- Peter Sprygada (@privateip)
© 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/arista/eos/eos_eapi_module.html