On this page
community.general.rax_files – Manipulate Rackspace Cloud Files Containers
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_files
.
Synopsis
- Manipulate Rackspace Cloud Files Containers
Requirements
The below requirements are needed on the host that executes this module.
- pyrax
- python >= 2.6
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/
|
|
clear_meta
boolean
|
|
Optionally clear existing metadata when applying metadata to existing containers. Selecting this option is only appropriate when setting type=meta
|
container
string
|
The container to use for container or metadata operations.
|
|
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.
|
meta
dictionary
|
A hash of items to set as metadata values on a container
|
|
private
boolean
|
|
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
boolean
|
|
Used to set a container as public, available via the Cloud Files CDN
|
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.
|
|
ttl
integer
|
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
string
|
|
Type of object to do work on, i.e. metadata object or a container object
|
username
string
|
Rackspace username, overrides credentials.
|
|
validate_certs
boolean
|
|
Whether or not to require SSL validation of API endpoints.
aliases: verify_ssl |
web_error
string
|
Sets an object to be presented as the HTTP error page when accessed by the CDN URL
|
|
web_index
string
|
Sets an object to be presented as the HTTP index page when accessed by the CDN URL
|
Notes
Note
- 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#authenticatingRAX_USERNAME
andRAX_API_KEY
obviate the use of a credentials fileRAX_REGION
defines a Rackspace Public Cloud region (DFW, ORD, LON, …)- 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#authenticatingRAX_USERNAME
andRAX_API_KEY
obviate the use of a credentials fileRAX_REGION
defines a Rackspace Public Cloud region (DFW, ORD, LON, …)
Examples
- name: "Test Cloud Files Containers"
hosts: local
gather_facts: no
tasks:
- name: "List all containers"
community.general.rax_files:
state: list
- name: "Create container called 'mycontainer'"
community.general.rax_files:
container: mycontainer
- name: "Create container 'mycontainer2' with metadata"
community.general.rax_files:
container: mycontainer2
meta:
key: value
file_for: someuser@example.com
- name: "Set a container's web index page"
community.general.rax_files:
container: mycontainer
web_index: index.html
- name: "Set a container's web error page"
community.general.rax_files:
container: mycontainer
web_error: error.html
- name: "Make container public"
community.general.rax_files:
container: mycontainer
public: yes
- name: "Make container public with a 24 hour TTL"
community.general.rax_files:
container: mycontainer
public: yes
ttl: 86400
- name: "Make container private"
community.general.rax_files:
container: mycontainer
private: yes
- name: "Test Cloud Files Containers Metadata Storage"
hosts: local
gather_facts: no
tasks:
- name: "Get mycontainer2 metadata"
community.general.rax_files:
container: mycontainer2
type: meta
- name: "Set mycontainer2 metadata"
community.general.rax_files:
container: mycontainer2
type: meta
meta:
uploaded_by: someuser@example.com
- name: "Remove mycontainer2 metadata"
community.general.rax_files:
container: "mycontainer2"
type: meta
state: absent
meta:
key: ""
file_for: ""
Authors
- Paul Durivage (@angstwad)
© 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_files_module.html