gc_storage - This module manages objects/buckets in Google Cloud Storage.

Author:benno@ansible.com Note. Most of the code has been taken from the S3 module.

Synopsis

New in version 1.4.

This module allows users to manage their objects/buckets in Google Cloud Storage. It allows upload and download operations and can set some canned permissions. It also allows retrieval of URLs for objects for use in playbooks, and retrieval of string contents of objects. This module requires setting the default project in GCS prior to playbook usage. See https://developers.google.com/storage/docs/reference/v1/apiversion1 for information about setting the default project.

Options

parameter required default choices comments
bucket yes
    Bucket name.
    dest no
      The destination file path when downloading an object/key with a GET operation.
      expiration no
        Time limit (in seconds) for the URL generated and returned by GCA when performing a mode=put or mode=get_url operation. This url is only avaialbe when public-read is the acl for the object.
        force no True
          Forces an overwrite either locally on the filesystem or remotely with the object/key. Used with PUT and GET operations.
          gcs_access_key yes
            GCS access key. If not set then the value of the GCS_ACCESS_KEY environment variable is used.
            gcs_secret_key yes
              GCS secret key. If not set then the value of the GCS_SECRET_KEY environment variable is used.
              mode yes
              • get
              • put
              • get_url
              • get_str
              • delete
              • create
              Switches the module behaviour between upload, download, get_url (return download url) , get_str (download object as string), create (bucket) and delete (bucket).
              object no
                Keyname of the object inside the bucket. Can be also be used to create "virtual directories" (see examples).
                permission no private
                  This option let's the user set the canned permissions on the object/bucket that are created. The permissions that can be set are 'private', 'public-read', 'authenticated-read'.
                  src no
                    The source file path when performing a PUT operation.

                    Note

                    Requires boto 2.9+

                    Examples


                    # upload some content
                    - gc_storage: bucket=mybucket object=key.txt src=/usr/local/myfile.txt mode=put permission=public-read
                    
                    # download some content
                    - gc_storage: bucket=mybucket object=key.txt dest=/usr/local/myfile.txt mode=get
                    
                    # Download an object as a string to use else where in your playbook
                    - gc_storage: bucket=mybucket object=key.txt mode=get_str
                    
                    # Create an empty bucket
                    - gc_storage: bucket=mybucket mode=create
                    
                    # Create a bucket with key as directory
                    - gc_storage: bucket=mybucket object=/my/directory/path mode=create
                    
                    # Delete a bucket and all contents
                    - gc_storage: bucket=mybucket mode=delete