community.general.rax_keypair – Create a keypair for use with Rackspace Cloud Servers
Note
This plugin is part of the community.general collection (version 3.8.1).
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.rax_keypair
.
Synopsis
- Create a keypair for use with Rackspace Cloud Servers
Requirements
The below requirements are needed on the host that executes this module.
- python >= 2.6
- pyrax
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
api_key string | Rackspace API key, overrides credentials. aliases: password | |
auth_endpoint string | The URI of the authentication service. If not specified will be set to https://identity.api.rackspacecloud.com/v2.0/
| |
credentials path | File to find the Rackspace credentials in. Ignored if api_key and username are provided. aliases: creds_file | |
env string | Environment as configured in ~/.pyrax.cfg, see https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#pyrax-configuration. | |
identity_type string | Default: "rackspace" | Authentication mechanism to use, such as rackspace or keystone. |
name string / required | Name of keypair | |
public_key string | Public Key string to upload. Can be a file path or string | |
region string | Region to create an instance in. | |
state string |
| Indicate desired state of the resource |
tenant_id string | The tenant ID used for authentication. | |
tenant_name string | The tenant name used for authentication. | |
username string | Rackspace username, overrides credentials. | |
validate_certs boolean |
| Whether or not to require SSL validation of API endpoints. aliases: verify_ssl |
Notes
Note
- Keypairs cannot be manipulated, only created and deleted. To “update” a keypair you must first delete and then recreate.
- The ability to specify a file path for the public key was added in 1.7
- The following environment variables can be used,
RAX_USERNAME
,RAX_API_KEY
,RAX_CREDS_FILE
,RAX_CREDENTIALS
,RAX_REGION
. -
RAX_CREDENTIALS
andRAX_CREDS_FILE
points to a credentials file appropriate for pyrax. See https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticating -
RAX_USERNAME
andRAX_API_KEY
obviate the use of a credentials file -
RAX_REGION
defines a Rackspace Public Cloud region (DFW, ORD, LON, …)
Examples
- name: Create a keypair hosts: localhost gather_facts: False tasks: - name: Keypair request local_action: module: rax_keypair credentials: ~/.raxpub name: my_keypair region: DFW register: keypair - name: Create local public key local_action: module: copy content: "{{ keypair.keypair.public_key }}" dest: "{{ inventory_dir }}/{{ keypair.keypair.name }}.pub" - name: Create local private key local_action: module: copy content: "{{ keypair.keypair.private_key }}" dest: "{{ inventory_dir }}/{{ keypair.keypair.name }}" - name: Create a keypair hosts: localhost gather_facts: False tasks: - name: Keypair request local_action: module: rax_keypair credentials: ~/.raxpub name: my_keypair public_key: "{{ lookup('file', 'authorized_keys/id_rsa.pub') }}" region: DFW register: keypair
Authors
- Matt Martz (@sivel)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/rax_keypair_module.html