Author: | Paul Durivage |
---|
parameter | required | default | choices | comments |
---|---|---|---|---|
api_key | no | Rackspace API key (overrides credentials) | ||
clear_meta | no | no |
|
Optionally clear existing metadata when applying metadata to existing containers. Selecting this option is only appropriate when setting type=meta |
container | yes | The container to use for container or metadata operations. | ||
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) | ||
meta | no | A hash of items to set as metadata values on a container | ||
private | no | Used to set a container as private, removing it from the CDN. Warning! Private containers, if previously made public, can have live objects available until the TTL on cached objects expires | ||
public | no | Used to set a container as public, available via the Cloud Files CDN | ||
region | no | DFW | Region to create an instance in | |
state | no | present |
|
Indicate desired state of the resource |
ttl | no | In seconds, set a container-wide TTL for all objects cached on CDN edge nodes. Setting a TTL is only appropriate for containers that are public | ||
type | no | file |
|
Type of object to do work on, i.e. metadata object or a container object |
username | no | Rackspace username (overrides credentials) | ||
verify_ssl | no | Whether or not to require SSL validation of API endpoints (added in Ansible 1.5) | ||
web_error | no | Sets an object to be presented as the HTTP error page when accessed by the CDN URL | ||
web_index | no | Sets an object to be presented as the HTTP index page when accessed by the CDN URL |
Note
Requires pyrax
- name: "Test Cloud Files Containers"
hosts: local
gather_facts: no
tasks:
- name: "List all containers"
rax_files: state=list
- name: "Create container called 'mycontainer'"
rax_files: container=mycontainer
- name: "Create container 'mycontainer2' with metadata"
rax_files:
container: mycontainer2
meta:
key: value
file_for: someuser@example.com
- name: "Set a container's web index page"
rax_files: container=mycontainer web_index=index.html
- name: "Set a container's web error page"
rax_files: container=mycontainer web_error=error.html
- name: "Make container public"
rax_files: container=mycontainer public=yes
- name: "Make container public with a 24 hour TTL"
rax_files: container=mycontainer public=yes ttl=86400
- name: "Make container private"
rax_files: container=mycontainer private=yes
- name: "Test Cloud Files Containers Metadata Storage"
hosts: local
gather_facts: no
tasks:
- name: "Get mycontainer2 metadata"
rax_files:
container: mycontainer2
type: meta
- name: "Set mycontainer2 metadata"
rax_files:
container: mycontainer2
type: meta
meta:
uploaded_by: someuser@example.com
- name: "Remove mycontainer2 metadata"
rax_files:
container: "mycontainer2"
type: meta
state: absent
meta:
key: ""
file_for: ""
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, ...)