Spec-Zone.ru › Ansible

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

Примечание

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

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

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

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

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

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

  • Если переменная проекта не существует, она создаётся.
  • Если переменная проекта существует и не скрыта, её значение обновляется, когда значения различаются. Если переменная проекта существует и скрыта, её значение обновляется. В этом случае модуль не является идемпотентным.
  • Переменные, которые не затрагиваются в плейбуке, но затрагиваются в проекте GitLab, остаются нетронутыми (purge=false) или удаляются (purge=true).

Требования

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

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

Параметры

Параметр

Комментарии

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.

project

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

Путь и имя проекта.

purge

boolean

Если установлено значение true, удаляются все переменные, не затронутые в задаче.

Возможные значения:

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

state

string

Создать или удалить переменную проекта.

Возможные значения: present и absent.

Возможные значения:

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

validate_certs

boolean

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

Возможные значения:

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

variables

list / элементы=dictionary

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

Список словарей, представляющих переменные CI/CD.

Внутри модуль работает с этой структурой, даже если используется устаревший параметр vars.

По умолчанию: []

description

string

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

Описание переменной.

Поддержка описаний требует GitLab >= 16.2.

environment_scope

string

Область действия переменной.

Поддержка variables[].environment_scope требует GitLab Premium >= 13.11.

По умолчанию: "*"

hidden

boolean

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

Скрыто ли значение переменной.

Подразумевает masked.

Поддержка скрытых значений требует GitLab >= 17.4.

Возможные значения:

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

masked

boolean

Маскируется ли значение переменной.

Поддержка маскированных значений требует GitLab >= 11.10.

Возможные значения:

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

name

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

Имя переменной.

protected

boolean

Защищено ли значение переменной.

Поддержка защищённых значений требует GitLab >= 9.3.

Возможные значения:

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

raw

boolean

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

Является ли значение переменной необработанным.

Поддержка необработанных значений требует GitLab >= 15.7.

Возможные значения:

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

value

string

Значение переменной.

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

variable_type

string

Является ли переменная переменной окружения (env_var) или файлом (file).

Поддержка variables[].variable_type требует GitLab >= 11.11.

Возможные значения:

  • "env_var" ← (по умолчанию)
  • "file"

vars

dictionary

Если элемент списка представляет собой простую пару «ключ-значение», для masked, hidden, raw и protected устанавливается значение false.

Если элемент списка является словарём с ключами value, masked, hidden, raw и protected, пользователь может полностью управлять тем, следует ли маскировать, скрывать или защищать значение, обрабатывать его как необработанное, а также применять комбинации этих параметров.

Поддержка защищённых значений требует GitLab >= 9.3.

Поддержка маскированных значений требует GitLab >= 11.10.

Поддержка скрытых значений требует GitLab >= 17.4 и добавлена в community.general 11.3.0.

Поддержка необработанных значений требует GitLab >= 15.7.

Поддержка environment_scope требует GitLab Premium >= 13.11.

Поддержка variable_type требует GitLab >= 11.11.

Значение value должно быть строкой или числом.

Поле variable_type должно быть строкой со значением env_var (по умолчанию) или file.

Поле environment_scope должно быть строкой, определяемой областью действия окружения.

Маскируемое значение должно быть закодировано в Base64 и иметь длину не менее 8 символов. Допустимые значения для маскированной переменной описаны в документации GitLab (https://docs.gitlab.com/ce/ci/variables/#masked-variables).

По умолчанию: {}

Атрибуты

Атрибут

Поддержка

Описание

check_mode

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

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

diff_mode

Поддержка: отсутствует

В режиме сравнения возвращает сведения об изменениях (или о том, что, возможно, требуется изменить в check_mode).

Примеры

- name: Set or update some CI/CD variables
  community.general.gitlab_project_variable:
    api_url: https://gitlab.com
    api_token: secret_access_token
    project: markuman/dotfiles
    purge: false
    variables:
      - name: ACCESS_KEY_ID
        value: abc123
      - name: SECRET_ACCESS_KEY
        value: dassgrfaeui8989
        masked: true
        protected: true
        environment_scope: production

- name: Set or update some CI/CD variables
  community.general.gitlab_project_variable:
    api_url: https://gitlab.com
    api_token: secret_access_token
    project: markuman/dotfiles
    purge: false
    vars:
      ACCESS_KEY_ID: abc123
      SECRET_ACCESS_KEY:
        value: 3214cbad
        masked: true
        protected: true
        variable_type: env_var
        environment_scope: '*'

- name: Set or update some CI/CD variables with raw value
  community.general.gitlab_project_variable:
    api_url: https://gitlab.com
    api_token: secret_access_token
    project: markuman/dotfiles
    purge: false
    vars:
      ACCESS_KEY_ID: abc123
      SECRET_ACCESS_KEY:
        value: 3214cbad
        masked: true
        protected: true
        raw: true
        variable_type: env_var
        environment_scope: '*'

- name: Set or update some CI/CD variables with expandable value
  community.general.gitlab_project_variable:
    api_url: https://gitlab.com
    api_token: secret_access_token
    project: markuman/dotfiles
    purge: false
    vars:
      ACCESS_KEY_ID: abc123
      SECRET_ACCESS_KEY:
        value: '$MY_OTHER_VARIABLE'
        masked: true
        protected: true
        raw: false
        variable_type: env_var
        environment_scope: '*'

- name: Delete one variable
  community.general.gitlab_project_variable:
    api_url: https://gitlab.com
    api_token: secret_access_token
    project: markuman/dotfiles
    state: absent
    vars:
      ACCESS_KEY_ID: abc123

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

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

Ключ

Описание

project_variable

dictionary

Четыре списка имён переменных, которые были добавлены, обновлены, удалены или существуют.

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

added

list / элементы=string

Список созданных переменных.

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

Пример: ["ACCESS_KEY_ID", "SECRET_ACCESS_KEY"]

removed

list / элементы=string

Список удалённых переменных.

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

Пример: ["ACCESS_KEY_ID", "SECRET_ACCESS_KEY"]

untouched

list / элементы=string

Список существующих переменных.

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

Пример: ["ACCESS_KEY_ID", "SECRET_ACCESS_KEY"]

updated

list / элементы=string

Список переменных, значения которых были изменены.

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

Пример: ["ACCESS_KEY_ID", "SECRET_ACCESS_KEY"]

Авторы

  • Markus Bergholz (@markuman)

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

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

© 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_project_variable_module.html

Spec-Zone.ru

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