Documentation

rax_files - Manipulate Rackspace Cloud Files Containers

New in version 1.5.

Synopsis

Manipulate Rackspace Cloud Files Containers

Requirements (on host that executes module)

  • python >= 2.6
  • pyrax

Options

parameter required default choices comments
api_key
no
    Rackspace API key (overrides credentials)

    aliases: password
    clear_meta
    no no
    • yes
    • 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)

        aliases: creds_file
        env
        (added in 1.5)
        no
          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
                  • present
                  • absent
                  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
                    • file
                    • meta
                    Type of object to do work on, i.e. metadata object or a container object
                    username
                    no
                      Rackspace username (overrides credentials)
                      verify_ssl
                      (added in 1.5)
                      no
                        Whether or not to require SSL validation of API endpoints
                        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

                            Examples

                            - 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: ""
                            

                            Notes

                            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, ...)

                            This is a Core Module

                            For more information on what this means please read Core Modules

                            For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Helping Testing PRs and Developing Modules.