Spec-Zone.ru › Ansible

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

Примечание

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

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

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

Для использования в плейбуке укажите: community.general.gitlab_project_variable.

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

Описание

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

Требования

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

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

Параметры

Параметр

Комментарии

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

строка

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

api_url

строка

Доступный конечный пункт API.

api_username

строка

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

ca_path

строка

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

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

project

строка / обязательно

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

purge

логическое

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

Варианты:

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

state

строка

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

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

Варианты:

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

validate_certs

логическое

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

Варианты:

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

variables

список / элементы=словарь

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

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

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

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

environment_scope

строка

Сфера действия переменной.

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

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

masked

логическое

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

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

Варианты:

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

name

строка / обязательно

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

protected

логическое

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

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

Варианты:

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

raw

логическое

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

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

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

Варианты:

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

value

строка

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

Обязательно, когда state=present.

variable_type

строка

Тип переменной (переменная среды (env_var) или файл (file)).

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

Варианты:

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

vars

словарь

Когда элемент списка представляет собой простую пару ключ-значение, маскировка, необработанное значение и защита будут установлены в ложь.

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

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

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

Поддержка необработанных значений требует 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), при использовании режима diff.

Примеры

- 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

словарь

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

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

added

список / элементы=строка

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

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

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

removed

список / элементы=строка

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

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

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

untouched

список / элементы=строка

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

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

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

updated

список / элементы=строка

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

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

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

Авторы

  • Markus Bergholz (@markuman)

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

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

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

Spec-Zone.ru

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