Spec-Zone.ru › Ansible

Модуль community.general.gitlab_user — создание, обновление, удаление, блокировка и разблокировка пользователей GitLab

Примечание

Этот модуль входит в коллекцию community.general (версия 12.6.1).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.general. Для работы с этим модулем нужны дополнительные требования; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: community.general.gitlab_user.

  • Краткое описание
  • Требования
  • Параметры
  • Атрибуты
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Если пользователя нет в GitLab, он создаётся.
  • Если пользователь существует и state=absent, он удаляется.
  • Если пользователь существует и state=blocked, он блокируется.
  • Если в данные пользователя внесены изменения, они применяются.

Требования

На хосте, на котором выполняется этот модуль, необходимы следующие компоненты.

  • права администратора на сервере GitLab
  • модуль Python python-gitlab
  • requests (библиотека Python https://pypi.org/project/requests/)

Параметры

Параметр

Комментарии

access_level

string

Уровень доступа к группе.

Значение master является псевдонимом для maintainer.

Варианты:

  • "guest" ← (по умолчанию)
  • "reporter"
  • "developer"
  • "master"
  • "maintainer"
  • "owner"

api_job_token

string

добавлено в community.general 4.2.0

Токен задания GitLab CI для входа.

api_oauth_token

string

добавлено в community.general 4.2.0

Токен OAuth GitLab для входа.

api_password

string

Пароль для аутентификации через API.

api_token

string

Токен доступа GitLab с разрешениями API.

api_url

string

Доступная по имени конечная точка API.

api_username

string

Имя пользователя для аутентификации через API.

ca_path

string

добавлено в community.general 8.1.0

Пакет сертификатов CA для проверки сертификата сервера GitLab.

confirm

boolean

Требовать подтверждение.

Варианты:

  • false
  • true ← (по умолчанию)

email

string

Адрес электронной почты пользователя.

Обязателен только если state=present.

external

boolean

Задать параметр внешнего пользователя для этого пользователя.

Варианты:

  • false ← (по умолчанию)
  • true

group

string

ID или полный путь родительской группы в формате group/name.

Добавить пользователя в эту группу в качестве участника.

identities

list / elements=dictionary

добавлено в community.general 3.3.0

Список идентификаторов, которые нужно добавить или обновить для этого пользователя.

Чтобы удалить все остальные идентификаторы пользователя, задайте overwrite_identities=true.

extern_uid

string

ID пользователя для внешней идентификации.

provider

string

Имя внешнего поставщика идентификации.

isadmin

boolean

Предоставить пользователю права администратора.

Варианты:

  • false ← (по умолчанию)
  • true

name

string

Имя пользователя, которого нужно создать.

Обязательно только если state=present.

overwrite_identities

boolean

добавлено в community.general 3.3.0

Заменить идентификаторы идентификаторами, добавленными этим модулем.

Это означает, что все идентификаторы пользователя, не указанные в identities, будут удалены.

Это выполняется только в том случае, если для identities указан список. Чтобы удалить все идентификаторы, укажите пустой список.

Варианты:

  • false ← (по умолчанию)
  • true

password

string

Пароль пользователя.

Сервер GitLab требует, чтобы длина пароля составляла не менее 8 символов; задайте значение длиной 8 или более символов.

reset_password

boolean

добавлено в community.general 3.3.0

Может ли пользователь менять свой пароль.

Варианты:

  • false ← (по умолчанию)
  • true

sshkey_expires_at

string

добавлено в community.general 3.1.0

Дата истечения срока действия открытого ключа SSH в формате ISO 8601 YYYY-MM-DDTHH:MM:SSZ.

Используется только при добавлении новых открытых ключей SSH.

sshkey_file

string

Сам открытый ключ SSH.

sshkey_name

string

Имя открытого ключа SSH.

state

string

Создать, удалить или заблокировать пользователя.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"
  • "blocked"
  • "unblocked"

username

string / обязательный

Имя пользователя.

validate_certs

boolean

Проверять ли сертификаты SSL при указании конечной точки HTTPS.

Варианты:

  • false
  • true ← (по умолчанию)

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

Может выполняться в режиме check_mode и возвращать прогноз изменения состояния без изменения целевого объекта.

diff_mode

Поддержка: нет

В режиме diff возвращает сведения об изменениях (или о возможных изменениях в check_mode).

Примечания

Примечание

  • Начиная с community.general 0.2.0, параметры name, email и password необязательны при удалении пользователя.

Примеры

- 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

Возвращаемые значения

Общие возвращаемые значения описаны здесь; ниже перечислены поля, характерные только для этого модуля:

Ключ

Описание

error

string

Сообщение об ошибке, возвращённое API GitLab.

Возвращается: при ошибке

Пример: "400: path is already in use"

msg

string

Сообщение об успехе или ошибке.

Возвращается: всегда

Пример: "Success"

result

dictionary

Ответ сервера, разобранный из JSON.

Возвращается: всегда

user

dictionary

Объект API.

Возвращается: всегда

Авторы

  • Werner Dijkerman (@dj-wasabi)
  • Guillaume Martinez (@Lunik)
  • Lennert Mertens (@LennertMertens)
  • Stef Graces (@stgrace)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Задать вопрос
  • Сообщить об ошибке
  • Предложить новую функцию
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/gitlab_user_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API