Spec-Zone.ru › Ansible 2.10

cisco.iosxr.iosxr_user – Управление совокупностью локальных пользователей на устройстве Cisco IOS XR

Примечание

Этот плагин входит в коллекцию cisco.iosxr (версия 1.2.0).

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

Для использования в playbook, укажите: cisco.iosxr.iosxr_user.

Добавлен в версии 1.0.0: cisco.iosxr

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

Обзор

  • Этот модуль обеспечивает декларативное управление локальными именами пользователей, настроенными на сетевых устройствах. Он позволяет playbooks управлять как отдельными именами пользователей, так и совокупностью имен пользователей в текущей рабочей конфигурации. Он также поддерживает удаление имен пользователей из конфигурации, которые не определены явно.

Примечание

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

Требования

Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.

  • ncclient >= 0.5.3 при использовании netconf
  • lxml >= 4.1.1 при использовании netconf
  • base64 при использовании public_key_contents или public_key
  • paramiko при использовании public_key_contents или public_key

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
admin
boolean
    Варианты:
  • нет ←
  • да
Переходит в режим администрирования для внесения изменений в конфигурацию устройства.
Применимо только при использовании транспорта network_cli
aggregate
список / элементы=словарь
Набор объектов имен пользователей, которые нужно настроить на удаленном устройстве Cisco IOS XR. Элементы списка могут представлять собой имя пользователя или хеш из имени пользователя и свойств. Этот аргумент взаимоисключает аргумент name.

псевдонимы: пользователи, коллекция
admin
boolean
    Варианты:
  • нет
  • да
Переходит в режим администрирования для внесения изменений в конфигурацию устройства.
Применимо только при использовании транспорта network_cli
configured_password
строка
Пароль, который нужно настроить на устройстве Cisco IOS XR. Пароль должен быть предоставлен в открытом виде. Пароль шифруется на устройстве при использовании cli и Ansible при использовании netconf с помощью того же метода хеширования MD5 с размером соли 3. Обратите внимание, что этот параметр отличается от provider password.
group
строка
Настраивает группу для имени пользователя в рабочей конфигурации устройства. Аргумент принимает строковое значение, определяющее имя группы. Этот аргумент не проверяет, настроена ли группа на устройстве.

псевдонимы: роль
groups
список / элементы=строка
Настраивает группы для имени пользователя в рабочей конфигурации устройства. Аргумент принимает список имен групп. Этот аргумент не проверяет, настроена ли группа на устройстве. Он похож на команду aggregate для имен пользователей, но позволяет настраивать для пользователя(ей) несколько групп.
name
строка / требуется
Имя пользователя, которое нужно настроить на устройстве Cisco IOS XR. Этот аргумент принимает строковое значение и взаимоисключает аргумент aggregate . Обратите внимание, что этот параметр отличается от provider username.
public_key
строка
Настраивает содержимое файла открытого ключа для загрузки на узел IOS-XR. Это позволяет пользователям входить в систему с помощью соответствующего закрытого ключа. IOS-XR принимает только файлы, декодированные в base64, поэтому они будут декодированы и загружены на узел. Обратите внимание, что это требует файла открытого ключа OpenSSL, сгенерированные файлы PuTTy не подойдут! Взаимоисключающий с public_key_contents. Если используется с несколькими пользователями в агрегатах, то для всех пользователей используется один и тот же файл ключа.
public_key_contents
строка
Настраивает содержимое файла открытого ключа для загрузки на узел IOS-XR. Это позволяет пользователям входить в систему с помощью соответствующего закрытого ключа. IOS-XR принимает только файлы, декодированные в base64, поэтому они будут декодированы и загружены на узел. Обратите внимание, что это требует файла открытого ключа OpenSSL, сгенерированные файлы PuTTy не подойдут! Взаимоисключающий с public_key.Если используется с несколькими пользователями в агрегатах, то для всех пользователей используется один и тот же файл ключа.
state
строка
    Варианты:
  • present
  • absent
Настраивает состояние определения имени пользователя, связанное с рабочей конфигурацией устройства. При установке в present имя пользователя(ей) должно быть настроено в активной конфигурации устройства, а при установке в absent — не должно быть в активной конфигурации устройства
update_password
строка
    Варианты:
  • on_create
  • always
Поскольку пароли шифруются в рабочей конфигурации устройства, этот аргумент указывает модулю, когда следует изменить пароль. При установке в always, пароль всегда обновляется на устройстве, а при установке в on_create пароль обновляется только в том случае, если имя пользователя создано.
configured_password
строка
Пароль, который нужно настроить на устройстве Cisco IOS XR. Пароль должен быть предоставлен в открытом виде. Пароль шифруется на устройстве при использовании cli и Ansible при использовании netconf с помощью того же метода хеширования MD5 с размером соли 3. Обратите внимание, что этот параметр отличается от provider password.
group
строка
Настраивает группу для имени пользователя в рабочей конфигурации устройства. Аргумент принимает строковое значение, определяющее имя группы. Этот аргумент не проверяет, настроена ли группа на устройстве.

псевдонимы: роль
groups
список / элементы=строка
Настраивает группы для имени пользователя в рабочей конфигурации устройства. Аргумент принимает список имен групп. Этот аргумент не проверяет, настроена ли группа на устройстве. Он похож на команду aggregate для имен пользователей, но позволяет настраивать для пользователя(ей) несколько групп.
name
строка
Имя пользователя, которое нужно настроить на устройстве Cisco IOS XR. Этот аргумент принимает строковое значение и взаимоисключает аргумент aggregate . Обратите внимание, что этот параметр отличается от provider username.
provider
словарь
Устарело
Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli.
Дополнительная информация находится в Руководстве по сети.
Объект словаря, содержащий сведения о подключении.
host
строка
Указывает имя хоста DNS или адрес для подключения к удаленному устройству через указанный транспорт. Значение host используется в качестве адреса назначения для транспорта.
password
строка
Указывает пароль, используемый для аутентификации подключения к удаленному устройству. Это значение используется для аутентификации сеанса SSH. Если значение не указано в задаче, будет использовано значение переменной среды ANSIBLE_NET_PASSWORD.
port
целое число
Указывает порт, используемый при построении подключения к удаленному устройству.
ssh_keyfile
путь
Указывает SSH-ключ, используемый для аутентификации подключения к удаленному устройству. Это значение — путь к ключу, используемому для аутентификации сеанса SSH. Если значение не указано в задаче, будет использовано значение переменной среды ANSIBLE_NET_SSH_KEYFILE.
timeout
целое число
Указывает таймаут в секундах для связи с сетевым устройством для подключения или отправки команд. Если таймаут истечет до завершения операции, модуль выдаст ошибку.
transport
строка
    Варианты:
  • cli ←
  • netconf
Указывает тип транспорта, основанного на подключении.
username
строка
Настраивает имя пользователя, используемое для аутентификации подключения к удаленному устройству. Это значение используется для аутентификации сеанса SSH. Если значение не указано в задаче, будет использовано значение переменной среды ANSIBLE_NET_USERNAME.
public_key
строка
Настраивает содержимое файла открытого ключа для загрузки на узел IOS-XR. Это позволяет пользователям входить в систему с помощью соответствующего закрытого ключа. IOS-XR принимает только файлы, декодированные в base64, поэтому они будут декодированы и загружены на узел. Обратите внимание, что это требует файла открытого ключа OpenSSL, сгенерированные файлы PuTTy не подойдут! Взаимоисключающий с public_key_contents. Если используется с несколькими пользователями в агрегатах, то для всех пользователей используется один и тот же файл ключа.
public_key_contents
строка
Настраивает содержимое файла открытого ключа для загрузки на узел IOS-XR. Это позволяет пользователям входить в систему с помощью соответствующего закрытого ключа. IOS-XR принимает только файлы, декодированные в base64, поэтому они будут декодированы и загружены на узел. Обратите внимание, что это требует файла открытого ключа OpenSSL, сгенерированные файлы PuTTy не подойдут! Взаимоисключающий с public_key. Если используется с несколькими пользователями в агрегатах, то для всех пользователей используется один и тот же файл ключа.
purge
boolean
    Варианты:
  • нет ←
  • да
Указывает модулю рассматривать определение ресурса как абсолютное. Он удалит любые ранее настроенные имена пользователей на устройстве, за исключением пользователя `admin` и текущего набора определенных пользователей.
state
строка
    Варианты:
  • present ←
  • absent
Настраивает состояние определения имени пользователя, связанное с рабочей конфигурацией устройства. При установке в present имя пользователя(ей) должно быть настроено в активной конфигурации устройства, а при установке в absent — не должно быть в активной конфигурации устройства
update_password
string
    Choices:
  • on_create
  • always ←
Since passwords are encrypted in the device running config, this argument will instruct the module when to change the password. When set to always, the password will always be updated in the device and when set to on_create the password will be updated only if the username is created.

Примечания

Примечание

  • Этот модуль работает с соединениями network_cli и netconf. См. параметры платформы IOS-XR.
  • Тестировалось на IOS XRv 6.1.3
  • Дополнительную информацию об использовании Ansible для управления сетевыми устройствами см. в Руководстве по сетям Ansible
  • Дополнительную информацию об использовании Ansible для управления устройствами Cisco см. на странице интеграции Cisco.

Примеры

- name: create a new user
  cisco.iosxr.iosxr_user:
    name: ansible
    configured_password: mypassword
    state: present
- name: create a new user in admin configuration mode
  cisco.iosxr.iosxr_user:
    name: ansible
    configured_password: mypassword
    admin: true
    state: present
- name: remove all users except admin
  cisco.iosxr.iosxr_user:
    purge: true
- name: set multiple users to group sys-admin
  cisco.iosxr.iosxr_user:
    aggregate:
    - name: netop
    - name: netend
    group: sysadmin
    state: present
- name: set multiple users to multiple groups
  cisco.iosxr.iosxr_user:
    aggregate:
    - name: netop
    - name: netend
    groups:
    - sysadmin
    - root-system
    state: present
- name: Change Password for User netop
  cisco.iosxr.iosxr_user:
    name: netop
    configured_password: '{{ new_password }}'
    update_password: always
    state: present
- name: Add private key authentication for user netop
  cisco.iosxr.iosxr_user:
    name: netop
    state: present
    public_key_contents: "{{ lookup('file', '/home/netop/.ssh/id_rsa.pub' }}"

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

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

Ключ Возвращаемое значение Описание
commands
list / elements=string
always
Список команд режима конфигурации для отправки устройству

Пример:
['username ansible secret password group sysadmin', 'username admin secret admin']
xml
list / elements=string
always (пустой список, если нет xml rpc для отправки)
XML-RPC NetConf, отправленные на устройство с транспортом netconf

Пример:
['<config xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0"> <aaa xmlns="http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-lib-cfg"> <usernames xmlns="http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-locald-cfg"> <username xc:operation="merge"> <name>test7</name> <usergroup-under-usernames> <usergroup-under-username> <name>sysadmin</name> </usergroup-under-username> </usergroup-under-usernames> <secret>$1$ZsXC$zZ50wqhDC543ZWQkkAHLW0</secret> </username> </usernames> </aaa> </config>']


Авторы

  • Trishna Guha (@trishnaguha)
  • Sebastiaan van Doesselaar (@sebasdoes)
  • Kedar Kekan (@kedarX)

© 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/iosxr/iosxr_user_module.html

Spec-Zone.ru

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