ansible.builtin.gc_storage (v2.4.6.0-1) — module

This module manages objects/buckets in Google Cloud Storage.

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

Authors: Benno Joy (@bennojoy), extended by Lukas Beumer (@nitaco)

preview | supported by community

Install Ansible via pip

Install with pip install ansible==2.4.6.0.post1

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:
    default: null
    description:
    - The source file path when performing a PUT operation.
    required: false

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

mode:
    choices:
    - get
    - put
    - get_url
    - get_str
    - delete
    - create
    default: null
    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: true
    description:
    - Forces an overwrite either locally on the filesystem or remotely with the object/key.
      Used with PUT and GET operations.
    required: false

bucket:
    description:
    - Bucket name.
    required: true

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

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)
    required: false
    version_added: '2.4'
    version_added_collection: ansible.builtin

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

expiration:
    default: null
    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.
    required: false

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'.
    required: false

versioning:
    choices:
    - 'yes'
    - 'no'
    default: null
    description:
    - Whether versioning is enabled or disabled (note that once versioning is enabled,
      it can only be suspended)
    required: false
    version_added: '2.4'
    version_added_collection: ansible.builtin

gs_access_key:
    default: null
    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:
    default: null
    description:
    - GS secret key. If not set then the value of the GS_SECRET_ACCESS_KEY environment
      variable is used.
    required: true