community.general.gitlab_user 模块 – 创建/更新/删除/阻塞/解除阻塞 GitLab 用户
注意
此模块是 community.general 集合 (版本 10.1.0) 的一部分。
如果您使用的是 ansible
包,则可能已安装此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用: ansible-galaxy collection install community.general
。您需要其他要求才能使用此模块,有关详细信息,请参见 需求。
要在 playbook 中使用它,请指定: community.general.gitlab_user
。
概要
如果 GitLab 中不存在用户,则会创建该用户。
如果用户存在且 state=absent,则会删除该用户。
如果用户存在且 state=blocked,则会阻塞该用户。
如果对用户进行了更改,则会更新该用户。
需求
执行此模块的主机需要以下需求。
GitLab 服务器上的管理员权限
python-gitlab Python 模块
requests (Python 库 https://pypi.ac.cn/project/requests/)
参数
参数 |
注释 |
---|---|
组的访问级别。可以使用以下选项之一。 访客 报告者 开发者 master(maintainer 的别名) 维护者 所有者 选项
|
|
用于登录的 GitLab CI 作业令牌。 |
|
用于登录的 GitLab OAuth 令牌。 |
|
用于针对 API 进行身份验证的密码。 |
|
具有 API 权限的 GitLab 访问令牌。 |
|
API 的可解析端点。 |
|
用于针对 API 进行身份验证的用户名。 |
|
用于验证 GitLab 服务器证书的 CA 证书捆绑包。 |
|
需要确认。 选项
|
|
属于用户的电子邮件。 仅当 |
|
为该用户定义外部参数。 选项
|
|
以 group/name 形式表示的父组的 ID 或完整路径。 将用户添加为该组的成员。 |
|
要为该用户添加/更新的身份列表。 要从此用户中删除所有其他身份,请设置 |
|
外部身份的用户 ID。 |
|
外部身份提供程序的名称 |
|
授予用户管理员权限。 选项
|
|
要创建的用户的名称。 仅当 |
|
用在此模块中添加的身份覆盖身份。 这意味着用户拥有的并且未在 仅当为 选项
|
|
用户的密码。 GitLab 服务器强制执行最小密码长度为 8,请使用 8 个或更多字符设置此值。 |
|
用户是否可以更改其密码。 选项
|
|
SSH 公钥的到期日期,采用 ISO 8601 格式 这仅在添加新的 SSH 公钥时使用。 |
|
SSH 公钥本身。 |
|
SSH 公钥的名称。 |
|
创建、删除或阻塞用户。 选项
|
|
用户的用户名。 |
|
提供 HTTPS 端点时是否验证 SSL 证书。 选项
|
属性
属性 |
支持 |
描述 |
---|---|---|
支持:完全支持 |
可以在 |
|
支持:不支持 |
在 diff 模式下,将返回有关已更改内容(或在 |
备注
注意
从 community.general 0.2.0 版本开始,删除用户时,名称、电子邮件和密码都是可选的。
示例
- name: "Delete GitLab User"
community.general.gitlab_user:
api_url: https://gitlab.example.com/
api_token: "{{ access_token }}"
username: myusername
state: absent
- name: "Create GitLab User"
community.general.gitlab_user:
api_url: https://gitlab.example.com/
validate_certs: true
api_username: dj-wasabi
api_password: "MySecretPassword"
name: My Name
username: myusername
password: mysecretpassword
email: [email protected]
sshkey_name: MySSH
sshkey_file: ssh-rsa AAAAB3NzaC1yc...
state: present
group: super_group/mon_group
access_level: owner
- name: "Create GitLab User using external identity provider"
community.general.gitlab_user:
api_url: https://gitlab.example.com/
validate_certs: true
api_token: "{{ access_token }}"
name: My Name
username: myusername
password: mysecretpassword
email: [email protected]
identities:
- provider: Keycloak
extern_uid: f278f95c-12c7-4d51-996f-758cc2eb11bc
state: present
group: super_group/mon_group
access_level: owner
- name: "Block GitLab User"
community.general.gitlab_user:
api_url: https://gitlab.example.com/
api_token: "{{ access_token }}"
username: myusername
state: blocked
- name: "Unblock GitLab User"
community.general.gitlab_user:
api_url: https://gitlab.example.com/
api_token: "{{ access_token }}"
username: myusername
state: unblocked
返回值
常见的返回值已在 此处 记录,以下是此模块特有的字段
键 |
描述 |
---|---|
GitLab API 返回的错误消息 返回:失败 示例: |
|
成功或失败消息 返回:始终返回 示例: |
|
从服务器解析的 JSON 响应 返回:始终返回 |
|
API 对象 返回:始终返回 |