dellemc.enterprise_sonic.sonic_users 模块 – 管理用户及其参数

注意

此模块是 dellemc.enterprise_sonic 集合(版本 2.5.1)的一部分。

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

要安装它,请使用:ansible-galaxy collection install dellemc.enterprise_sonic

要在 playbook 中使用它,请指定:dellemc.enterprise_sonic.sonic_users

dellemc.enterprise_sonic 1.1.0 中的新增功能

概要

  • 此模块提供在运行 Enterprise SONiC 的设备上对用户参数进行配置管理。

注意

此模块有一个对应的 action 插件

参数

参数

注释

config

列表 / 元素=字典

指定用户相关的配置。

name

字符串 / 必需

指定用户的名称。

password

字符串

指定用户的密码。

role

字符串

指定用户的角色。

选择

  • "admin"

  • "operator"

  • "netadmin"

  • "secadmin"

update_password

字符串

指定更新密码标志。

在 always 的情况下,每次都会更新密码。

在 on_create 的情况下,仅在创建用户时才会更新密码。

选择

  • "always" ← (默认)

  • "on_create"

state

字符串

指定在设备上配置的用户上执行的操作。

在 merged 的情况下,输入配置将与设备上现有的用户配置合并。

在 deleted 的情况下,现有的用户配置将从设备中删除。

在 replaced 的情况下,现有的指定用户配置将被提供的配置替换。

在 overridden 的情况下,现有的用户配置将被提供的配置覆盖。

选择

  • "merged" ← (默认)

  • "deleted"

  • "overridden"

  • "replaced"

说明

注意

  • 已针对戴尔科技公司的 Enterprise SONiC 发行版进行测试。

  • 支持 check_mode

示例

# Using deleted
#
# Before state:
# -------------
#
# sonic# show users configured
# ----------------------------------------------------------------------
# User                              Role(s)
# ----------------------------------------------------------------------
# admin                             admin
# sysadmin                          admin
# sysoperator                       operator

- name: Delete user
  dellemc.enterprise_sonic.sonic_users:
    config:
      - name: sysoperator
    state: deleted

# After state:
# ------------
#
# sonic# show users configured
# ----------------------------------------------------------------------
# User                              Role(s)
# ----------------------------------------------------------------------
# admin                             admin
# sysadmin                          admin

# Using deleted
#
# Before state:
# -------------
#
# sonic# show users configured
# ----------------------------------------------------------------------
# User                              Role(s)
# ----------------------------------------------------------------------
# admin                             admin
# sysadmin                          admin
# sysoperator                       operator

- name: Delete all users configurations except admin
  dellemc.enterprise_sonic.sonic_users:
    config:
    state: deleted

# After state:
# ------------
#
# sonic# show users configured
# ----------------------------------------------------------------------
# User                              Role(s)
# ----------------------------------------------------------------------
# admin                             admin

# Using merged
#
# Before state:
# -------------
#
# sonic# show users configured
# ----------------------------------------------------------------------
# User                              Role(s)
# ----------------------------------------------------------------------
# admin                             admin

- name: Merge users configurations
  dellemc.enterprise_sonic.sonic_users:
    config:
      - name: sysadmin
        role: admin
        password: admin
        update_password: always
      - name: sysoperator
        role: operator
        password: operator
        update_password: always
    state: merged

# After state:
# ------------
#
# sonic# show users configured
# ----------------------------------------------------------------------
# User                              Role(s)
# ----------------------------------------------------------------------
# admin                             admin
# sysadmin                          admin
# sysoperator                       operator

# Using Overridden
#
# Before state:
# -------------
#
# sonic# show users configured
# ----------------------------------------------------------------------
# User                              Role(s)
# ----------------------------------------------------------------------
# admin                             admin
# sysadmin                          admin
# sysoperator                       operator

- name: Override users configurations
  dellemc.enterprise_sonic.sonic_users:
    config:
      - name: user1
        role: secadmin
        password: 123abc
        update_password: always
    state: overridden

# After state:
# ------------
#
# sonic# show users configured
# ----------------------------------------------------------------------
# User                              Role(s)
# ----------------------------------------------------------------------
# admin                             admin
# user1                             secadmin

# Using Replaced
#
# Before state:
# -------------
#
# sonic# show users configured
# ----------------------------------------------------------------------
# User                              Role(s)
# ----------------------------------------------------------------------
# admin                             admin
# user1                             secadmin
# user2                             operator

- name: Replace users configurations
  dellemc.enterprise_sonic.sonic_users:
    config:
      - name: user1
        role: operator
        password: 123abc
        update_password: always
      - name: user2
        role: netadmin
        password: 123abc
        update_password: always
    state: replaced

# After state:
# ------------
#
# sonic# show users configured
# ----------------------------------------------------------------------
# User                              Role(s)
# ----------------------------------------------------------------------
# admin                             admin
# user1                             operator
# user2                             netadmin

返回值

常见的返回值记录在这里,以下是此模块独有的字段

描述

after

列表 / 元素=字符串

模块调用后的结果配置。

返回: 当发生更改时

示例: ["返回的配置将始终与上述参数的格式相同。\n"]

after(生成)

列表 / 元素=字符串

生成的模块调用配置。

返回:check_mode

示例: ["返回的配置将始终与上述参数的格式相同。\n"]

before

列表 / 元素=字符串

模块调用之前的配置。

返回: 始终

示例: ["返回的配置将始终与上述参数的格式相同。\n"]

commands

列表 / 元素=字符串

推送到远程设备的一组命令。

返回: 始终

示例: ["命令 1", "命令 2", "命令 3"]

作者

  • Niraimadaiselvam M (@niraimadaiselvamm)