eos_user — Управление списком локальных пользователей на устройствах EOS
Новое в версии 2.3.
Описание
- Этот модуль предоставляет декларативное управление локальными именами пользователей, настроенными на устройствах Arista EOS. Он позволяет плейбукам управлять либо отдельными именами пользователей, либо списком имен пользователей в текущей конфигурации. Он также поддерживает удаление имен пользователей из конфигурации, которые не определены явно.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| aggregate (добавлено в 2.4) | Набор объектов имени пользователя, которые должны быть настроены на удалённом устройстве Arista EOS. Элементы списка могут быть либо именем пользователя, либо хешем имени пользователя и свойств. Этот аргумент взаимоисключающий с аргументом username. алиасы: users, collection | ||
| auth_pass | Устарело Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli и become: yes с become_pass. Этот параметр необходим только если используется eAPI. Для получения дополнительной информации, пожалуйста, обратитесь к руководству EOS Platform Options. Указывает пароль, используемый для входа в привилегированный режим на удалённом устройстве. Если authorize имеет значение false, то этот аргумент ничего не делает. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_AUTH_PASS. | ||
| authorize bool |
| Устарело Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli и become: yes.Этот параметр необходим только если используется eAPI. Для получения дополнительной информации, пожалуйста, обратитесь к руководству EOS Platform Options. Инструктирует модуль войти в привилегированный режим на удалённом устройстве перед отправкой любых команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_AUTHORIZE. | |
| configured_password (добавлено в 2.4) | Пароль, который будет настроен на удалённом устройстве Arista EOS. Пароль должен быть предоставлен в открытом виде и будет зашифрован на устройстве. Обратите внимание, что этот параметр не такой же, как provider password. | ||
| name (добавлено в 2.4) | Имя пользователя, которое будет настроен на удалённом устройстве Arista EOS. Этот аргумент принимает строковое значение и взаимоисключающий с аргументом aggregate. Обратите внимание, что этот параметр не такой же, как provider username. | ||
| nopassword bool |
| Определяет имя пользователя без присвоения пароля. Это позволит пользователю войти в систему без аутентификации паролем. | |
| privilege | Аргумент privilege настраивает уровень привилегий пользователя при входе в систему. Этот аргумент принимает целочисленные значения в диапазоне от 1 до 15. | ||
| provider | Устарело Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli.Этот параметр необходим только если используется eAPI. Для получения дополнительной информации, пожалуйста, обратитесь к руководству EOS Platform Options. Объект dict, содержащий данные подключения. | ||
| host обязательно | Указывает имя хоста DNS или адрес для подключения к удалённому устройству по указанному транспорту. Значение host используется в качестве адреса назначения для транспорта. | ||
| port | Значение по умолчанию: "0 (использовать стандартный порт)" | Указывает порт для использования при установлении соединения с удалённым устройством. Это значение относится к cli или eapi. Значение порта по умолчанию соответствует стандартному порту соответствующего транспорта, если он не указан в задаче. (cli=22, http=80, https=443). | |
| username | Настраивает имя пользователя для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации входа по CLI или аутентификации eAPI в зависимости от используемого транспорта. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_USERNAME. | ||
| password | Указывает пароль для аутентификации подключения к удалённому устройству. Это общий аргумент, используемый для транспортов cli или eapi. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_PASSWORD. | ||
| timeout | Значение по умолчанию: 10 | Указывает тайм-аут в секундах для связи с сетевым устройством для подключения или отправки команд. Если тайм-аут превышен до завершения операции, модуль вернёт ошибку. | |
| ssh_keyfile | Указывает SSH ключ для аутентификации подключения к удалённому устройству. Этот аргумент используется только для транспортов cli. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_SSH_KEYFILE. | ||
| authorize bool |
| Инструктирует модуль войти в привилегированный режим на удалённом устройстве перед отправкой любых команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_AUTHORIZE. | |
| auth_pass | Указывает пароль для использования при необходимости входа в привилегированный режим на удалённом устройстве. Если authorize имеет значение false, то этот аргумент ничего не делает. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_AUTH_PASS. | ||
| transport обязательно |
| Настраивает транспортное соединение для подключения к удалённому устройству. | |
| use_ssl bool |
| Настраивает transport для использования SSL, если значение true, только когда transport=eapi. Если аргумент transport не eapi, это значение игнорируется. | |
| validate_certs bool |
| Если no, сертификаты SSL не будут проверены. Это следует использовать только на контролируемых вами сайтах, использующих самозаверяющие сертификаты. Если аргумент transport не eapi, это значение игнорируется. | |
| use_proxy bool (добавлено в 2.5) |
| Если no, переменные окружения http_proxy и https_proxy будут проигнорированы. | |
| purge bool |
| Инструктирует модуль рассматривать определение ресурса как абсолютное. Он удалит все ранее настроенные имена пользователей на устройстве, за исключением пользователя `admin`, который по ограничениям EOS не может быть удалён. | |
| role | Настраивает роль для имени пользователя в конфигурации устройства. Аргумент принимает строковое значение, определяющее имя роли. Этот аргумент не проверяет, была ли роль настроена на устройстве. | ||
| sshkey | Указывает открытый ключ SSH для настройки для данного имени пользователя. Этот аргумент принимает допустимое значение SSH ключа. | ||
| state |
| Настраивает состояние определения имени пользователя по отношению к рабочей конфигурации устройства. При установке в значение present имя пользователя(и) должны быть настроены в активной конфигурации устройства, а при установке в значение absent имя пользователя(и) не должно быть в активной конфигурации устройства. | |
| update_password |
| Так как пароли шифруются в рабочей конфигурации устройства, этот аргумент укажет модулю, когда необходимо изменить пароль. При установке в значение always, пароль всегда будет обновлён на устройстве, а при установке в значение on_create пароль будет обновлён только при создании имени пользователя. | |
Примечания
Примечание
- Проверено на EOS 4.15
- Для получения информации о использовании CLI, eAPI и привилегированного режима, пожалуйста, обратитесь к руководству EOS Platform Options
- Для получения дополнительной информации об использовании Ansible для управления сетевыми устройствами, пожалуйста, обратитесь к руководству Ansible Network
- Для получения дополнительной информации об использовании Ansible для управления устройствами Arista EOS, обратитесь к странице интеграции Arista.
Примеры
- name: create a new user
eos_user:
name: ansible
sshkey: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
state: present
- name: remove all users except admin
eos_user:
purge: yes
- name: set multiple users to privilege level 15
eos_user:
aggregate:
- name: netop
- name: netend
privilege: 15
state: present
- name: Change Password for User netop
eos_user:
username: netop
configured_password: "{{ new_password }}"
update_password: always
state: present
Возвращаемые значения
Общие значения возвращаемых данных описаны здесь, ниже приведены поля, уникальные для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| commands список | всегда | Список команд режима конфигурации, которые необходимо отправить устройству Пример: ['name ansible secret password', 'name admin secret admin'] |
| session_name строка | при изменении равно True | Имя сессии конфигурации EOS, используемой для загрузки конфигурации Пример: ansible_1479315771 |
Статус
Этот модуль помечен как превью, что означает отсутствие гарантии обратной совместимости.
Техническое обслуживание
Этот модуль помечен как сетевой, что означает, что он поддерживается командой Ansible Network Team. Дополнительную информацию см. в разделе Техническое обслуживание и поддержка модулей.
Список других модулей, поддерживаемых командой Ansible Network Team, см. здесь.
Поддержка
Дополнительную информацию о поддержке данного модуля 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.6/modules/eos_user_module.html