Spec-Zone.ru › Ansible

Модуль community.general.github_deploy_key – Управление ключами развертывания для репозиториев GitHub

Примечание

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

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

Для установки используйте: ansible-galaxy collection install community.general.

Для использования в playbook, укажите: community.general.github_deploy_key.

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

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

  • Добавляет или удаляет ключи развертывания для репозиториев GitHub. Поддерживает аутентификацию с использованием имени пользователя и пароля, имени пользователя, пароля и кода двухфакторной аутентификации (OTP), токена OAuth2 или личного токена доступа. Требуются права администратора в репозитории.

Параметры

Параметр

Комментарии

force

boolean

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

Варианты:

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

github_url

string

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

Базовый URL API GitHub

По умолчанию: "https://api.github.com"

key

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

Открытый SSH-ключ для добавления в репозиторий в качестве ключа развертывания.

name

псевдонимы: title, label

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

Имя для ключа развертывания.

otp

integer

6-значный одноразовый пароль для двухфакторной аутентификации. Требуется вместе с username и password.

owner

псевдонимы: account, organization

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

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

password

string

Пароль для аутентификации. В качестве альтернативы можно использовать личный токен доступа вместо комбинации username и password.

read_only

boolean

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

Варианты:

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

repo

псевдонимы: repository

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

Имя репозитория GitHub.

state

string

Состояние ключа развертывания.

Варианты:

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

token

string

Токен OAuth2 или личный токен доступа для аутентификации. Взаимоисключающий с password.

username

string

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

Атрибуты

Атрибут

Поддержка

Описание

check_mode

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

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

diff_mode

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

В режиме diff будет возвращать подробную информацию о том, что изменилось (или, возможно, что нужно изменить в check_mode).

Примечания

Примечание

  • См. документацию по API GitHub здесь: https://developer.github.com/v3/repos/keys/.

Примеры

- name: Add a new read-only deploy key to a GitHub repository using basic authentication
  community.general.github_deploy_key:
    owner: "johndoe"
    repo: "example"
    name: "new-deploy-key"
    key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAwXxn7kIMNWzcDfou..."
    read_only: true
    username: "johndoe"
    password: "supersecretpassword"

- name: Remove an existing deploy key from a GitHub repository
  community.general.github_deploy_key:
    owner: "johndoe"
    repository: "example"
    name: "new-deploy-key"
    key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAwXxn7kIMNWzcDfou..."
    force: true
    username: "johndoe"
    password: "supersecretpassword"
    state: absent

- name: Add a new deploy key to a GitHub repository, replace an existing key, use an OAuth2 token to authenticate
  community.general.github_deploy_key:
    owner: "johndoe"
    repository: "example"
    name: "new-deploy-key"
    key: "{{ lookup('file', '~/.ssh/github.pub') }}"
    force: true
    token: "ABAQDAwXxn7kIMNWzcDfo..."

- name: Re-add a deploy key to a GitHub repository but with a different name
  community.general.github_deploy_key:
    owner: "johndoe"
    repository: "example"
    name: "replace-deploy-key"
    key: "{{ lookup('file', '~/.ssh/github.pub') }}"
    username: "johndoe"
    password: "supersecretpassword"

- name: Add a new deploy key to a GitHub repository using 2FA
  community.general.github_deploy_key:
    owner: "johndoe"
    repo: "example"
    name: "new-deploy-key-2"
    key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAwXxn7kIMNWzcDfou..."
    username: "johndoe"
    password: "supersecretpassword"
    otp: 123456

- name: Add a read-only deploy key to a repository hosted on GitHub Enterprise
  community.general.github_deploy_key:
    github_url: "https://api.example.com"
    owner: "janedoe"
    repo: "example"
    name: "new-deploy-key"
    key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAwXxn7kIMNWzcDfou..."
    read_only: true
    username: "janedoe"
    password: "supersecretpassword"

Значения возврата

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

Ключ

Описание

ошибка

строка

сообщение об ошибке, возвращённое API GitHub

Возвращено: ошибка

Пример: "key is already in use"

http_status_code

целое число

код HTTP-статуса, возвращённый API GitHub

Возвращено: ошибка

Пример: 400

id

целое число

идентификатор ключа, присвоенный GitHub для ключа развертывания

Возвращено: изменение

Пример: 24381901

сообщение

строка

сообщение состояния, описывающее произошедшее

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

Пример: "Deploy key added successfully"

Авторы

  • Ali (@bincyber)

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

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

© 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/github_deploy_key_module.html

Spec-Zone.ru

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