ansible.builtin.gc_storage (v2.9.27) — module

This module manages objects/buckets in Google Cloud Storage.

| "added in version" 1.4 of ansible.builtin"

Authors: Benno Joy (@bennojoy), Lukas Beumer (@Nitaco)

preview | supported by community

Install Ansible via pip

Install with pip install ansible==2.9.27

Description

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 U(https://developers.google.com/storage/docs/reference/v1/apiversion1) for information about setting the default project.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Upload some content
  gc_storage:
    bucket: mybucket
    object: key.txt
    src: /usr/local/myfile.txt
    mode: put
    permission: public-read
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Upload some headers
  gc_storage:
    bucket: mybucket
    object: key.txt
    src: /usr/local/myfile.txt
    headers: '{"Content-Encoding": "gzip"}'
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Download some content
  gc_storage:
    bucket: mybucket
    object: key.txt
    dest: /usr/local/myfile.txt
    mode: get
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Download an object as a string to use else where in your playbook
  gc_storage:
    bucket: mybucket
    object: key.txt
    mode: get_str
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create an empty bucket
  gc_storage:
    bucket: mybucket
    mode: create
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create a bucket with key as directory
  gc_storage:
    bucket: mybucket
    object: /my/directory/path
    mode: create
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete a bucket and all contents
  gc_storage:
    bucket: mybucket
    mode: delete
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create a bucket with versioning enabled
  gc_storage:
    bucket: "mybucket"
    versioning: yes
    mode: create
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create a bucket located in the eu
  gc_storage:
    bucket: "mybucket"
    region: "europe-west3"
    mode: create

Inputs

    
src:
    description:
    - The source file path when performing a PUT operation.

dest:
    description:
    - The destination file path when downloading an object/key with a GET operation.

mode:
    choices:
    - get
    - put
    - get_url
    - get_str
    - delete
    - create
    description:
    - Switches the module behaviour between upload, download, get_url (return download
      url) , get_str (download object as string), create (bucket) and delete (bucket).
    required: true

force:
    aliases:
    - overwrite
    default: 'yes'
    description:
    - Forces an overwrite either locally on the filesystem or remotely with the object/key.
      Used with PUT and GET operations.
    type: bool

bucket:
    description:
    - Bucket name.
    required: true

object:
    description:
    - Keyname of the object inside the bucket. Can be also be used to create "virtual
      directories" (see examples).

region:
    default: US
    description:
    - The gs region to use. If not defined then the value 'US' will be used. See U(https://cloud.google.com/storage/docs/bucket-locations)
    version_added: '2.4'
    version_added_collection: ansible.builtin

headers:
    default: {}
    description:
    - Headers to attach to object.
    version_added: '2.0'
    version_added_collection: ansible.builtin

expiration:
    description:
    - 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 available when public-read
      is the acl for the object.

permission:
    default: private
    description:
    - 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'.

versioning:
    description:
    - Whether versioning is enabled or disabled (note that once versioning is enabled,
      it can only be suspended)
    type: bool
    version_added: '2.4'
    version_added_collection: ansible.builtin

gs_access_key:
    description:
    - GS access key. If not set then the value of the GS_ACCESS_KEY_ID environment variable
      is used.
    required: true

gs_secret_key:
    description:
    - GS secret key. If not set then the value of the GS_SECRET_ACCESS_KEY environment
      variable is used.
    required: true