community.general.github_key 模块 – 管理 GitHub 访问密钥

注意

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

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

要安装它,请使用: ansible-galaxy collection install community.general

要在剧本中使用它,请指定: community.general.github_key

概要

  • 创建、删除或更新 GitHub 访问密钥。

参数

参数

注释

force

布尔值

默认为 true,如果现有远程密钥与 pubkey 不同,则将替换它。如果为 false,则只有在没有具有给定 name 的密钥存在时,才会设置密钥。

选项

  • false

  • true ← (默认)

name

字符串 / 必需

SSH 密钥名称

pubkey

字符串

SSH 公钥值。当 state=present 时必需。

state

字符串

是否删除密钥、确保其存在或更新其值。

选项

  • "present" ← (默认)

  • "absent"

token

字符串 / 必需

具有列出和创建公钥权限的 GitHub 访问令牌。

属性

属性

支持

描述

check_mode

支持:完全支持

可以在 check_mode 中运行,并在不修改目标的情况下返回更改状态预测。

diff_mode

支持:不支持

在差异模式下,将返回有关已更改内容(或可能需要在 check_mode 中更改的内容)的详细信息。

示例

- name: Read SSH public key to authorize
  ansible.builtin.shell: cat /home/foo/.ssh/id_rsa.pub
  register: ssh_pub_key

- name: Authorize key with GitHub
  local_action:
    module: github_key
    name: Access Key for Some Machine
    token: '{{ github_access_token }}'
    pubkey: '{{ ssh_pub_key.stdout }}'

# Alternatively, a single task can be used reading a key from a file on the controller
- name: Authorize key with GitHub
  community.general.github_key:
    name: Access Key for Some Machine
    token: '{{ github_access_token }}'
    pubkey: "{{ lookup('ansible.builtin.file', '/home/foo/.ssh/id_rsa.pub') }}"

返回值

常用返回值已在 此处 记录,以下是此模块特有的字段

描述

deleted_keys

列表 / 元素=字符串

已删除的密钥对象的数组。仅在 state=absent 时出现

返回:当 state=absent 时

示例: [{"created_at": "YYYY-MM-DDTHH:MM:SZ", "id": 0, "key": "BASE64 编码的 密钥", "read_only": false, "url": "http://example.com/github 密钥"}]

key

字典

关于刚刚创建的密钥的元数据。仅在 state=present 时出现

返回:成功

示例: {"created_at": "YYYY-MM-DDTHH:MM:SZ", "id": 0, "key": "BASE64 编码的 密钥", "read_only": false, "url": "http://example.com/github 密钥"}

matching_keys

列表 / 元素=字符串

与指定名称匹配的密钥数组。仅在 state=present 时出现

返回:当 state=present 时

示例: [{"created_at": "YYYY-MM-DDTHH:MM:SZ", "id": 0, "key": "BASE64 编码的 密钥", "read_only": false, "url": "http://example.com/github 密钥"}]

作者

  • Robert Estelle (@erydo)