- Docs »
- ngine_io.cloudstack.cs_sshkeypair – Manages SSH keys on Apache CloudStack based clouds.
-
You are reading an older version of the Ansible documentation. Use the version selection to the left if you want the latest stable released version.
ngine_io.cloudstack.cs_sshkeypair – Manages SSH keys on Apache CloudStack based clouds.
Note
This plugin is part of the ngine_io.cloudstack collection (version 1.2.0).
To install it use: ansible-galaxy collection install ngine_io.cloudstack
.
To use it in a playbook, specify: ngine_io.cloudstack.cs_sshkeypair
.
New in version 0.1.0: of ngine_io.cloudstack
Create, register and remove SSH keys.
If no key was found and no public key was provided and a new SSH private/public key pair will be created and the private key will be returned.
The below requirements are needed on the host that executes this module.
python >= 2.6
cs >= 0.9.0
Parameter |
Choices/Defaults |
Comments |
account
string
|
|
Account the public key is related to.
|
api_http_method
string
|
|
HTTP method used to query the API endpoint.
If not given, the CLOUDSTACK_METHOD env variable is considered.
As the last option, the value is taken from the ini config file, also see the notes.
Fallback value is get if not specified.
|
api_key
string
|
|
API key of the CloudStack API.
If not given, the CLOUDSTACK_KEY env variable is considered.
As the last option, the value is taken from the ini config file, also see the notes.
|
api_region
string
|
Default:
"cloudstack"
|
Name of the ini section in the cloustack.ini file.
If not given, the CLOUDSTACK_REGION env variable is considered.
|
api_secret
string
|
|
Secret key of the CloudStack API.
If not set, the CLOUDSTACK_SECRET env variable is considered.
As the last option, the value is taken from the ini config file, also see the notes.
|
api_timeout
integer
|
|
HTTP timeout in seconds.
If not given, the CLOUDSTACK_TIMEOUT env variable is considered.
As the last option, the value is taken from the ini config file, also see the notes.
Fallback value is 10 seconds if not specified.
|
api_url
string
|
|
URL of the CloudStack API e.g. https://cloud.example.com/client/api.
If not given, the CLOUDSTACK_ENDPOINT env variable is considered.
As the last option, the value is taken from the ini config file, also see the notes.
|
api_verify_ssl_cert
string
|
|
CA authority cert file.
If not given, the CLOUDSTACK_VERIFY env variable is considered.
As the last option, the value is taken from the ini config file, also see the notes.
Fallback value is null if not specified.
|
domain
string
|
|
Domain the public key is related to.
|
name
string
/ required
|
|
Name of public key.
|
project
string
|
|
Name of the project the public key to be registered in.
|
public_key
string
|
|
String of the public key.
|
state
string
|
Choices:
present ←
- absent
|
State of the public key.
|
Note
Ansible uses the cs
library’s configuration method if credentials are not provided by the arguments api_url
, api_key
, api_secret
. Configuration is read from several locations, in the following order. The CLOUDSTACK_ENDPOINT
, CLOUDSTACK_KEY
, CLOUDSTACK_SECRET
and CLOUDSTACK_METHOD
. CLOUDSTACK_TIMEOUT
environment variables. A CLOUDSTACK_CONFIG
environment variable pointing to an .ini
file. A cloudstack.ini
file in the current working directory. A .cloudstack.ini
file in the users home directory. Optionally multiple credentials and endpoints can be specified using ini sections in cloudstack.ini
. Use the argument api_region
to select the section name, default section is cloudstack
. See https://github.com/exoscale/cs for more information.
A detailed guide about cloudstack modules can be found in the CloudStack Cloud Guide.
This module supports check mode.
- name: create a new private / public key pair
ngine_io.cloudstack.cs_sshkeypair:
name: linus@example.com
register: key
- debug:
msg: 'Private key is {{ key.private_key }}'
- name: remove a public key by its name
ngine_io.cloudstack.cs_sshkeypair:
name: linus@example.com
state: absent
- name: register your existing local public key
ngine_io.cloudstack.cs_sshkeypair:
name: linus@example.com
public_key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
Common return values are documented here, the following are the fields unique to this module:
Key |
Returned |
Description |
fingerprint
string
|
success |
Fingerprint of the SSH public key.
Sample:
86:5e:a3:e8:bd:95:7b:07:7c:c2:5c:f7:ad:8b:09:28
|
id
string
|
success |
UUID of the SSH public key.
Sample:
a6f7a5fc-43f8-11e5-a151-feff819cdc9f
|
name
string
|
success |
Name of the SSH public key.
Sample:
linus@example.com
|
private_key
string
|
changed |
Private key of generated SSH keypair.
Sample:
-----BEGIN RSA PRIVATE KEY----- MII...8tO -----END RSA PRIVATE KEY-----
|