community.general.gitlab_group_access_token 模块 – 管理 GitLab 群组访问令牌

注意

此模块是 community.general 集合(版本 10.1.0)的一部分。

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

要安装它,请使用:ansible-galaxy collection install community.general。您需要进一步的要求才能使用此模块,有关详细信息,请参阅 要求

要在 playbook 中使用它,请指定:community.general.gitlab_group_access_token

community.general 8.4.0 中的新增功能

概要

  • 创建和撤销群组访问令牌。

要求

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

参数

参数

注释

access_level

字符串

访问令牌的访问级别。

选择

  • "guest"

  • "reporter"

  • "developer"

  • "maintainer" ← (默认)

  • "owner"

api_job_token

字符串

在 community.general 4.2.0 中添加

用于登录的 GitLab CI 作业令牌。

api_oauth_token

字符串

在 community.general 4.2.0 中添加

用于登录的 GitLab OAuth 令牌。

api_password

字符串

用于针对 API 进行身份验证的密码。

api_token

字符串

具有 API 权限的 GitLab 访问令牌。

api_url

字符串

API 的可解析端点。

api_username

字符串

用于针对 API 进行身份验证的用户名。

ca_path

字符串

在 community.general 8.1.0 中添加

用于验证 GitLab 服务器证书的 CA 证书捆绑包。

expires_at

字符串 / 必需

访问令牌的到期日期,格式为 YYYY-MM-DD

确保在 YAML 中引用此值,以确保它保持为字符串而不是被解释为 YAML 日期。

group

字符串 / 必需

群组的 ID 或完整路径,格式为 group/subgroup。

name

字符串 / 必需

访问令牌的名称。

recreate

字符串

如果访问令牌已存在,是否重新创建该令牌。

当为 never 时,永远不会重新创建令牌。

当为 always 时,将始终重新创建令牌。

当为 state_change 时,如果所需状态和实际状态之间存在差异,则会重新创建令牌。

选择

  • "never" ← (默认)

  • "always"

  • "state_change"

scopes

别名:scope

列表 / 元素=字符串 / 必需

访问令牌的范围。

选择

  • "api"

  • "read_api"

  • "read_registry"

  • "write_registry"

  • "read_repository"

  • "write_repository"

  • "create_runner"

  • "ai_features"

  • "k8s_proxy"

state

字符串

当为 present 时,如果访问令牌不存在,则会将其添加到群组中。

当为 absent 时,如果访问令牌存在,则会将其从群组中移除。

选择

  • "present" ← (默认)

  • "absent"

validate_certs

布尔值

当提供 HTTPS 端点时,是否验证 SSL 证书。

选择

  • false

  • true ← (默认)

属性

属性

支持

描述

check_mode

支持:完全

可以在 check_mode 中运行并返回已更改状态预测,而无需修改目标。

diff_mode

支持:

当处于 diff 模式时,将返回有关已更改内容(或可能需要在 check_mode 中进行更改)的详细信息。

备注

注意

  • 访问令牌无法更改。如果需要更改参数,则必须重新创建访问令牌。令牌是否会被重新创建由 recreate 选项控制,该选项默认为 never

  • 仅当创建或重新创建访问令牌时,结果中才会包含令牌字符串。之后无法获取它。

  • 令牌匹配是通过比较 name 选项来完成的。

示例

- name: "Creating a group access token"
  community.general.gitlab_group_access_token:
    api_url: https://gitlab.example.com/
    api_token: "somegitlabapitoken"
    group: "my_group/my_subgroup"
    name: "group_token"
    expires_at: "2024-12-31"
    access_level: developer
    scopes:
      - api
      - read_api
      - read_repository
      - write_repository
    state: present

- name: "Revoking a group access token"
  community.general.gitlab_group_access_token:
    api_url: https://gitlab.example.com/
    api_token: "somegitlabapitoken"
    group: "my_group/my_group"
    name: "group_token"
    expires_at: "2024-12-31"
    scopes:
      - api
      - read_api
      - read_repository
      - write_repository
    state: absent

- name: "Change (recreate) existing token if its actual state is different than desired state"
  community.general.gitlab_group_access_token:
    api_url: https://gitlab.example.com/
    api_token: "somegitlabapitoken"
    group: "my_group/my_group"
    name: "group_token"
    expires_at: "2024-12-31"
    scopes:
      - api
      - read_api
      - read_repository
      - write_repository
    recreate: state_change
    state: present

返回值

通用返回值在这里文档中有说明,以下是此模块独有的字段

描述

access_token

字典

API 对象。

仅当令牌被创建或重新创建时才包含令牌的值。

返回: 成功,且 state=present

作者

  • Zoran Krleza (@pixslx)