| Author: | Matt Martz |
|---|
| parameter | required | default | choices | comments |
|---|---|---|---|---|
| api_key | no | Rackspace API key (overrides credentials) | ||
| auth_endpoint | no | https://identity.api.rackspacecloud.com/v2.0/ | The URI of the authentication service (added in Ansible 1.5) | |
| credentials | no | File to find the Rackspace credentials in (ignored if api_key and username are provided) | ||
| env | no | Environment as configured in ~/.pyrax.cfg, see https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#pyrax-configuration (added in Ansible 1.5) | ||
| identity_type | no | rackspace | Authentication machanism to use, such as rackspace or keystone (added in Ansible 1.5) | |
| name | yes | Name of keypair | ||
| public_key | no | Public Key string to upload | ||
| region | no | DFW | Region to create an instance in | |
| state | no | present |
|
Indicate desired state of the resource |
| tenant_id | no | The tenant ID used for authentication (added in Ansible 1.5) | ||
| tenant_name | no | The tenant name used for authentication (added in Ansible 1.5) | ||
| username | no | Rackspace username (overrides credentials) | ||
| verify_ssl | no | Whether or not to require SSL validation of API endpoints (added in Ansible 1.5) |
Note
Requires pyrax
- name: Create a keypair
hosts: local
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 }}"
Note
The following environment variables can be used, RAX_USERNAME, RAX_API_KEY, RAX_CREDS_FILE, RAX_CREDENTIALS, RAX_REGION.
Note
RAX_CREDENTIALS and RAX_CREDS_FILE points to a credentials file appropriate for pyrax. See https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticating
Note
RAX_USERNAME and RAX_API_KEY obviate the use of a credentials file
Note
RAX_REGION defines a Rackspace Public Cloud region (DFW, ORD, LON, ...)
Note
Keypairs cannot be manipulated, only created and deleted. To “update” a keypair you must first delete and then recreate.