google.cloud.gcp_storage_object – Creates a GCP Object

Note

This plugin is part of the google.cloud collection (version 1.0.2).

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 google.cloud.

To use it in a playbook, specify: google.cloud.gcp_storage_object.

Synopsis

  • Upload or download a file from a GCS bucket.

Requirements

The below requirements are needed on the host that executes this module.

  • python >= 2.6

  • requests >= 2.18.4

  • google-auth >= 1.3.0

  • google-cloud-storage >= 1.2..0

Parameters

Parameter Choices/Defaults Comments
action
string
    Choices:
  • download
  • upload
  • delete
The actions to be taken on this object.
You can download the object, upload the object, or delete it.
auth_kind
string / required
    Choices:
  • application
  • machineaccount
  • serviceaccount
The type of credential used.
bucket
string
The name of the bucket.
dest
path
Destination location of file (may be local machine or cloud depending on action). Cloud location need to be urlencoded including slashes.
env_type
string
Specifies which Ansible environment you're running this module within.
This should not be set unless you know what you're doing.
This only alters the User Agent string for any API requests.
project
string
The Google Cloud Platform project to use.
scopes
list / elements=string
Array of scopes to be used
service_account_contents
jsonarg
The contents of a Service Account JSON file, either in a dictionary or as a JSON string that represents it.
service_account_email
string
An optional service account email address if machineaccount is selected and the user does not wish to use the default email.
service_account_file
path
The path of a Service Account JSON file if serviceaccount is selected as type.
src
path
Source location of file (may be local machine or cloud depending on action). Cloud locations need to be urlencoded including slashes.

Examples

- name: create a object
  google.cloud.gcp_storage_object:
    action: download
    bucket: ansible-bucket
    src: modules.zip
    dest: "~/modules.zip"
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
bucket
string
download, upload
The bucket where the object is contained.

cache_control
string
download, upload
HTTP 'Cache-Control' header for this object

chunk_size
string
download, upload
Get the blob's default chunk size

media_link
string
download, upload
The link for the media

self_link
string
download, upload
The self_link for the media.

storage_class
string
download, upload
The storage class for the object.



Authors

  • Google Inc. (@googlecloudplatform)