On this page
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
|
|
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
|
|
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
|
|
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
- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]
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