github_key - Manage GitHub access keys.

New in version 2.2.

Synopsis

Parameters

Parameter Choices/Defaults Comments
force
bool
    Choices:
  • no
  • yes ←
The default is yes, which will replace the existing remote key if it's different than pubkey. If no, the key will only be set if no key with the given name exists.
name
required
SSH key name
pubkey
SSH public key value. Required when state=present.
state
    Choices:
  • present ←
  • absent
Whether to remove a key, ensure that it exists, or update its value.
token
required
GitHub Access Token with permission to list and create public keys.

Examples

- name: Read SSH public key to authorize
  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 Returned Description
deleted_keys
list
When state=absent
An array of key objects that were deleted. Only present on state=absent

Sample:
[{'url': 'http://example.com/github key', 'read_only': False, 'created_at': 'YYYY-MM-DDTHH:MM:SZ', 'id': 0, 'key': 'BASE64 encoded key'}]
key
dict
success
Metadata about the key just created. Only present on state=present

Sample:
{'url': 'http://example.com/github key', 'read_only': False, 'created_at': 'YYYY-MM-DDTHH:MM:SZ', 'id': 0, 'key': 'BASE64 encoded key'}
matching_keys
list
When state=present
An array of keys matching the specified name. Only present on state=present

Sample:
[{'url': 'http://example.com/github key', 'read_only': False, 'created_at': 'YYYY-MM-DDTHH:MM:SZ', 'id': 0, 'key': 'BASE64 encoded key'}]


Status

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

Maintenance

This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.

For a list of other modules that are also maintained by the Ansible Community, see here.

Author

  • Robert Estelle (@erydo)

Hint

If you notice any issues in this documentation you can edit this document to improve it.