gcp_cloudfunctions_cloud_function – Creates a GCP CloudFunction

New in version 2.9.

Synopsis

  • A Cloud Function that contains user computation executed in response to an event.

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

Parameters

Parameter Choices/Defaults Comments
auth_kind
string / required
    Choices:
  • application
  • machineaccount
  • serviceaccount
The type of credential used.
available_memory_mb
integer
The amount of memory in MB available for a function.
description
string
User-provided description of a function.
entry_point
string
The name of the function (as defined in source code) that will be executed.
Defaults to the resource name suffix, if not specified. For backward compatibility, if function with given name is not found, then the system will try to use function named "function". For Node.js this is name of a function exported by the module specified in source_location.
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.
environment_variables
dictionary
Environment variables that shall be available during function execution.
event_trigger
dictionary
An HTTPS endpoint type of source that can be triggered via URL.
event_type
string / required
The type of event to observe. For example: `providers/cloud.storage/eventTypes/object.change` and `providers/cloud.pubsub/eventTypes/topic.publish`.
resource
string / required
The resource(s) from which to observe events, for example, `projects/_/buckets/myBucket.` .
service
string
The hostname of the service that should be observed.
https_trigger
dictionary
An HTTPS endpoint type of source that can be triggered via URL.
labels
dictionary
A set of key/value label pairs associated with this Cloud Function.
location
string / required
The location of this cloud function.
name
string / required
A user-defined name of the function. Function names must be unique globally and match pattern `projects/*/locations/*/functions/*`.
project
string
The Google Cloud Platform project to use.
runtime
string
The runtime in which the function is going to run. If empty, defaults to Node.js 6.
scopes
list
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.
source_archive_url
string
The Google Cloud Storage URL, starting with gs://, pointing to the zip archive which contains the function.
source_repository
dictionary
The source repository where a function is hosted.
url
string
The URL pointing to the hosted repository where the function is defined .
source_upload_url
string
The Google Cloud Storage signed URL used for source uploading.
state
string
    Choices:
  • present
  • absent
Whether the given object should exist in GCP
timeout
string
The function execution timeout. Execution is considered failed and can be terminated if the function is not completed at the end of the timeout period. Defaults to 60 seconds.
trigger_http
boolean
    Choices:
  • no
  • yes
Use HTTP to trigger this function.

Notes

Note

  • for authentication, you can set service_account_file using the c(gcp_service_account_file) env variable.
  • for authentication, you can set service_account_contents using the c(GCP_SERVICE_ACCOUNT_CONTENTS) env variable.
  • For authentication, you can set service_account_email using the GCP_SERVICE_ACCOUNT_EMAIL env variable.
  • For authentication, you can set auth_kind using the GCP_AUTH_KIND env variable.
  • For authentication, you can set scopes using the GCP_SCOPES env variable.
  • Environment variables values will only be used if the playbook values are not set.
  • The service_account_email and service_account_file options are mutually exclusive.

Examples

- name: create a cloud function
  gcp_cloudfunctions_cloud_function:
    name: test_object
    location: us-central1
    entry_point: helloGET
    source_archive_url: gs://ansible-cloudfunctions-bucket/function.zip
    trigger_http: 'true'
    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
availableMemoryMb
integer
success
The amount of memory in MB available for a function.

description
string
success
User-provided description of a function.

entryPoint
string
success
The name of the function (as defined in source code) that will be executed.
Defaults to the resource name suffix, if not specified. For backward compatibility, if function with given name is not found, then the system will try to use function named "function". For Node.js this is name of a function exported by the module specified in source_location.

environmentVariables
dictionary
success
Environment variables that shall be available during function execution.

eventTrigger
complex
success
An HTTPS endpoint type of source that can be triggered via URL.

eventType
string
success
The type of event to observe. For example: `providers/cloud.storage/eventTypes/object.change` and `providers/cloud.pubsub/eventTypes/topic.publish`.

resource
string
success
The resource(s) from which to observe events, for example, `projects/_/buckets/myBucket.` .

service
string
success
The hostname of the service that should be observed.

httpsTrigger
complex
success
An HTTPS endpoint type of source that can be triggered via URL.

url
string
success
The deployed url for the function.

labels
dictionary
success
A set of key/value label pairs associated with this Cloud Function.

location
string
success
The location of this cloud function.

name
string
success
A user-defined name of the function. Function names must be unique globally and match pattern `projects/*/locations/*/functions/*`.

runtime
string
success
The runtime in which the function is going to run. If empty, defaults to Node.js 6.

serviceAccountEmail
string
success
The email of the service account for this function.

sourceArchiveUrl
string
success
The Google Cloud Storage URL, starting with gs://, pointing to the zip archive which contains the function.

sourceRepository
complex
success
The source repository where a function is hosted.

deployedUrl
string
success
The URL pointing to the hosted repository where the function were defined at the time of deployment.

url
string
success
The URL pointing to the hosted repository where the function is defined .

sourceUploadUrl
string
success
The Google Cloud Storage signed URL used for source uploading.

status
string
success
Status of the function deployment.

timeout
string
success
The function execution timeout. Execution is considered failed and can be terminated if the function is not completed at the end of the timeout period. Defaults to 60 seconds.

trigger_http
boolean
success
Use HTTP to trigger this function.

updateTime
string
success
The last update timestamp of a Cloud Function.

versionId
string
success
The version identifier of the Cloud Function. Each deployment attempt results in a new version of a function being created.



Status

Authors

  • Google Inc. (@googlecloudplatform)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/gcp_cloudfunctions_cloud_function_module.html