community.general.gitlab_user 模块 – 创建/更新/删除/阻塞/解除阻塞 GitLab 用户
注意
此模块是 community.general 集合 (版本 10.1.0) 的一部分。
如果您使用的是 ansible
包,则可能已安装此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.general
。您需要进一步的要求才能使用此模块,有关详细信息,请参阅 要求。
要在剧本中使用它,请指定:community.general.gitlab_user
。
概要
如果 GitLab 中不存在用户,则将创建该用户。
如果用户存在且 state=absent,则将删除该用户。
如果用户存在且 state=blocked,则将阻塞该用户。
如果对用户进行了更改,则将更新该用户。
要求
以下要求是在执行此模块的主机上需要的。
GitLab 服务器上的管理员权限
python-gitlab Python 模块
requests(Python 库 https://pypi.ac.cn/project/requests/)
参数
参数 |
注释 |
---|---|
组的访问级别。可以使用以下任一项。 guest reporter developer master(maintainer 的别名) maintainer owner 选项
|
|
用于登录的 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: me@example.com
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: me@example.com
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 对象 返回:始终返回 |