community.general.packet_sshkey – Create/delete an SSH key in Packet host.
Note
This plugin is part of the community.general collection (version 3.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.packet_sshkey
.
Synopsis
Create/delete an SSH key in Packet host.
API is documented at https://www.packet.net/help/api/#page:ssh-keys%2Cheader:ssh-keys-ssh-keys-post.
Requirements
The below requirements are needed on the host that executes this module.
python >= 2.6
packet-python
Parameters
Parameter |
Comments |
---|---|
Packet API token. You can also supply it in env var |
|
Fingerprint of the key which you want to remove. |
|
UUID of the key which you want to remove. |
|
Public Key string ({type} {base64 encoded key} {description}). |
|
File with the public key. |
|
Label for the key. If you keep it empty, it will be read from key string. |
|
Indicate desired state of the target. Choices:
|
Examples
# All the examples assume that you have your Packet API token in env var PACKET_API_TOKEN.
# You can also pass the api token in module param auth_token.
- name: Create sshkey from string
hosts: localhost
tasks:
community.general.packet_sshkey:
key: "{{ lookup('file', 'my_packet_sshkey.pub') }}"
- name: Create sshkey from file
hosts: localhost
tasks:
community.general.packet_sshkey:
label: key from file
key_file: ~/ff.pub
- name: Remove sshkey by id
hosts: localhost
tasks:
community.general.packet_sshkey:
state: absent
id: eef49903-7a09-4ca1-af67-4087c29ab5b6
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
True if a sshkey was created or removed. Returned: always Sample: true |
|
Information about sshkeys that were created/removed. Returned: always Sample: [{“fingerprint”: “5c:93:74:7c:ed:07:17:62:28:75:79:23:d6:08:93:46”, “id”: “41d61bd8-3342-428b-a09c-e67bdd18a9b7”, “key”: “ssh-dss AAAAB3NzaC1kc3MAAACBAIfNT5S0ncP4BBJBYNhNPxFF9lqVhfPeu6SM1LoCocxqDc1AT3zFRi8hjIf6TLZ2AA4FYbcAWxLMhiBxZRVldT9GdBXile78kAK5z3bKTwq152DCqpxwwbaTIggLFhsU8wrfBsPWnDuAxZ0h7mmrCjoLIE3CNLDA/NmV3iB8xMThAAAAFQCStcesSgR1adPORzBxTr7hug92LwAAAIBOProm3Gk+HWedLyE8IfofLaOeRnbBRHAOL4z0SexKkVOnQ/LGN/uDIIPGGBDYTvXgKZT+jbHeulRJ2jKgfSpGKN4JxFQ8uzVH492jEiiUJtT72Ss1dCV4PmyERVIw+f54itihV3z/t25dWgowhb0int8iC/OY3cGodlmYb3wdcQAAAIBuLbB45djZXzUkOTzzcRDIRfhaxo5WipbtEM2B1fuBt2gyrvksPpH/LK6xTjdIIb0CxPu4OCxwJG0aOz5kJoRnOWIXQGhH7VowrJhsqhIc8gN9ErbO5ea8b1L76MNcAotmBDeTUiPw01IJ8MdDxfmcsCslJKgoRKSmQpCwXQtN2g== tomk@hp2”, “label”: “mynewkey33”}] |
Authors
Tomas Karasek (@t0mk) <tom.to.the.k@gmail.com>