community.general.github_key module – Manage GitHub access keys.
Note
This module is part of the community.general collection (version 4.8.3).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.general
.
To use it in a playbook, specify: community.general.github_key
.
Parameters
Parameter |
Comments |
---|---|
The default is Choices:
|
|
SSH key name |
|
SSH public key value. Required when |
|
Whether to remove a key, ensure that it exists, or update its value. Choices:
|
|
GitHub Access Token with permission to list and create public keys. |
Examples
- 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 }}'
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
An array of key objects that were deleted. Only present on state=absent Returned: When state=absent Sample: [{“created_at”: “YYYY-MM-DDTHH:MM:SZ”, “id”: 0, “key”: “BASE64 encoded key”, “read_only”: false, “url”: “http://example.com/github key”}] |
|
Metadata about the key just created. Only present on state=present Returned: success Sample: {“created_at”: “YYYY-MM-DDTHH:MM:SZ”, “id”: 0, “key”: “BASE64 encoded key”, “read_only”: false, “url”: “http://example.com/github key”} |
|
An array of keys matching the specified name. Only present on state=present Returned: When state=present Sample: [{“created_at”: “YYYY-MM-DDTHH:MM:SZ”, “id”: 0, “key”: “BASE64 encoded key”, “read_only”: false, “url”: “http://example.com/github key”}] |
Authors
Robert Estelle (@erydo)
Collection links
Issue Tracker Repository (Sources) Submit a bug report Request a feature Communication