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_objects
.
The below requirements are needed on the host that executes this module.
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 objects. Selecting this option is only appropriate when setting type=meta |
container string / required | The container to use for file object operations. | |
credentials path | File to find the Rackspace credentials in. Ignored if api_key and username are provided. aliases: creds_file | |
dest string | The destination of a "get" operation; i.e. a local directory, "/home/user/myfolder". Used to specify the destination of an operation on a remote object; i.e. a file name, "file1", or a comma-separated list of remote objects, "file1,file2,file17" | |
env string | Environment as configured in ~/.pyrax.cfg, see https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#pyrax-configuration. | |
expires integer | Used to set an expiration on a file or folder uploaded to Cloud Files. Requires an integer, specifying expiration in seconds | |
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 an uploaded file or folder | |
method string |
| The method of operation to be performed. For example, put to upload files to Cloud Files, get to download files from Cloud Files or delete to delete remote objects in Cloud Files |
region string | Region to create an instance in. | |
src string | Source from which to upload files. Used to specify a remote object as a source for an operation, i.e. a file name, "file1", or a comma-separated list of remote objects, "file1,file2,file17". src and dest are mutually exclusive on remote-only object operations | |
structure boolean |
| Used to specify whether to maintain nested directory structure when downloading objects from Cloud Files. Setting to false downloads the contents of a container to a single, flat directory |
tenant_id string | The tenant ID used for authentication. | |
tenant_name string | The tenant name used for authentication. | |
type string |
| Type of object to do work on Metadata object or a file object |
username string | Rackspace username, overrides credentials. | |
validate_certs boolean |
| Whether or not to require SSL validation of API endpoints. aliases: verify_ssl |
Note
RAX_USERNAME
, RAX_API_KEY
, RAX_CREDS_FILE
, RAX_CREDENTIALS
, RAX_REGION
.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
RAX_USERNAME
and RAX_API_KEY
obviate the use of a credentials fileRAX_REGION
defines a Rackspace Public Cloud region (DFW, ORD, LON, …)RAX_USERNAME
, RAX_API_KEY
, RAX_CREDS_FILE
, RAX_CREDENTIALS
, RAX_REGION
.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
RAX_USERNAME
and RAX_API_KEY
obviate the use of a credentials fileRAX_REGION
defines a Rackspace Public Cloud region (DFW, ORD, LON, …)- name: "Test Cloud Files Objects" hosts: local gather_facts: False tasks: - name: "Get objects from test container" community.general.rax_files_objects: container: testcont dest: ~/Downloads/testcont - name: "Get single object from test container" community.general.rax_files_objects: container: testcont src: file1 dest: ~/Downloads/testcont - name: "Get several objects from test container" community.general.rax_files_objects: container: testcont src: file1,file2,file3 dest: ~/Downloads/testcont - name: "Delete one object in test container" community.general.rax_files_objects: container: testcont method: delete dest: file1 - name: "Delete several objects in test container" community.general.rax_files_objects: container: testcont method: delete dest: file2,file3,file4 - name: "Delete all objects in test container" community.general.rax_files_objects: container: testcont method: delete - name: "Upload all files to test container" community.general.rax_files_objects: container: testcont method: put src: ~/Downloads/onehundred - name: "Upload one file to test container" community.general.rax_files_objects: container: testcont method: put src: ~/Downloads/testcont/file1 - name: "Upload one file to test container with metadata" community.general.rax_files_objects: container: testcont src: ~/Downloads/testcont/file2 method: put meta: testkey: testdata who_uploaded_this: [email protected] - name: "Upload one file to test container with TTL of 60 seconds" community.general.rax_files_objects: container: testcont method: put src: ~/Downloads/testcont/file3 expires: 60 - name: "Attempt to get remote object that does not exist" community.general.rax_files_objects: container: testcont method: get src: FileThatDoesNotExist.jpg dest: ~/Downloads/testcont ignore_errors: yes - name: "Attempt to delete remote object that does not exist" community.general.rax_files_objects: container: testcont method: delete dest: FileThatDoesNotExist.jpg ignore_errors: yes - name: "Test Cloud Files Objects Metadata" hosts: local gather_facts: false tasks: - name: "Get metadata on one object" community.general.rax_files_objects: container: testcont type: meta dest: file2 - name: "Get metadata on several objects" community.general.rax_files_objects: container: testcont type: meta src: file2,file1 - name: "Set metadata on an object" community.general.rax_files_objects: container: testcont type: meta dest: file17 method: put meta: key1: value1 key2: value2 clear_meta: true - name: "Verify metadata is set" community.general.rax_files_objects: container: testcont type: meta src: file17 - name: "Delete metadata" community.general.rax_files_objects: container: testcont type: meta dest: file17 method: delete meta: key1: '' key2: '' - name: "Get metadata on all objects" community.general.rax_files_objects: container: testcont type: meta
© 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_objects_module.html