cisco.iosxr.iosxr_user 模块 – 用于管理本地用户聚合的模块。

注意

此模块是 cisco.iosxr 集合(版本 10.2.2)的一部分。

如果您正在使用 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install cisco.iosxr。您需要其他要求才能使用此模块,请参阅 要求 以了解详细信息。

要在 playbook 中使用它,请指定:cisco.iosxr.iosxr_user

cisco.iosxr 1.0.0 中新增

概要

  • 此模块提供对网络设备上配置的本地用户名的声明式管理。它允许 playbook 管理单个用户名或当前运行配置中用户名的聚合。它还支持从配置中清除未明确定义的用户名。

要求

在执行此模块的主机上需要以下要求。

  • 使用 netconf 时,需要 ncclient >= 0.5.3

  • 使用 netconf 时,需要 lxml >= 4.1.1

  • 使用 public_key_contentspublic_key 时,需要 base64

参数

参数

说明

admin

布尔值

进入管理配置模式,以对设备进行配置更改。

仅在使用 network_cli 传输时适用

选项

  • false ←(默认)

  • true

aggregate

别名:users,collection

list / elements=dictionary

要在远程 Cisco IOS XR 设备上配置的用户名对象集合。列表条目可以是用户名或用户名和属性的哈希值。此参数与 name 参数互斥。

admin

布尔值

进入管理配置模式,以对设备进行配置更改。

仅在使用 network_cli 传输时适用

选项

  • false

  • true

configured_password

字符串

要在 Cisco IOS XR 设备上配置的密码。密码需要以明文形式提供。当与 cli 一起使用时,密码在设备上加密,当与 netconf 一起使用时,密码由 Ansible 使用相同的 MD5 哈希技术进行加密,盐的大小为 3。请注意,此选项与 provider password 不同。

group

别名:role

字符串

在设备运行配置中配置用户名的组。该参数接受定义组名称的字符串值。此参数不检查是否已在设备上配置了组。

groups

list / elements=string

在设备运行配置中配置用户名的组。该参数接受组名称列表。此参数不检查是否已在设备上配置了组。它类似于用户名的聚合命令,但允许您为用户配置多个组。

name

string / required

要在 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

字符串

由于密码在设备运行配置中是加密的,此参数将指示模块何时更改密码。设置为 always 时,密码将始终在设备中更新;设置为 on_create 时,仅当创建用户名时才更新密码。

选项

  • "on_create"

  • "always"

configured_password

字符串

要在 Cisco IOS XR 设备上配置的密码。密码需要以明文形式提供。当与 cli 一起使用时,密码在设备上加密,当与 netconf 一起使用时,密码由 Ansible 使用相同的 MD5 哈希技术进行加密,盐的大小为 3。请注意,此选项与 provider password 不同。

group

别名:role

字符串

在设备运行配置中配置用户名的组。该参数接受定义组名称的字符串值。此参数不检查是否已在设备上配置了组。

groups

list / elements=string

在设备运行配置中配置用户名的组。该参数接受组名称列表。此参数不检查是否已在设备上配置了组。它类似于用户名的聚合命令,但允许您为用户配置多个组。

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 互斥。如果与聚合中的多个用户一起使用,则所有用户都使用同一个密钥文件。

purge

布尔值

指示模块将资源定义视为绝对的。它将删除设备上以前配置的所有用户名,但 `admin` 用户和当前定义的用户集除外。

选项

  • false ←(默认)

  • true

state

字符串

配置与设备运行配置相关的用户名定义的状态。设置为present时,用户名应配置在设备的活动配置中;设置为absent时,用户名不应出现在设备的活动配置中。

选项

  • "present" ←(默认)

  • "absent"

update_password

字符串

由于密码在设备运行配置中是加密的,此参数将指示模块何时更改密码。设置为 always 时,密码将始终在设备中更新;设置为 on_create 时,仅当创建用户名时才更新密码。

选项

  • "on_create"

  • "always" ←(默认)

注意

注意

示例

- 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

要发送到设备的配置模式命令列表

返回: 总是

示例: ["username ansible secret password group sysadmin", "username admin secret admin"]

xml

list / elements=string

通过传输 netconf 发送到设备的 NetConf RPC XML

返回: 总是(当没有要发送的 XML RPC 时为空列表)

示例: ["<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)