google_cloudfunctions_function
Creates a new Cloud Function. For more information see the official documentation and API.
Example Usage
resource "google_storage_bucket" "bucket" { name = "test-bucket" } resource "google_storage_bucket_object" "archive" { name = "index.zip" bucket = "${google_storage_bucket.bucket.name}" source = "./path/to/zip/file/which/contains/code" } resource "google_cloudfunctions_function" "function" { name = "function-test" description = "My function" available_memory_mb = 128 source_archive_bucket = "${google_storage_bucket.bucket.name}" source_archive_object = "${google_storage_bucket_object.archive.name}" trigger_http = true timeout = 60 entry_point = "helloGET" labels { my-label = "my-label-value" } }
Argument Reference
The following arguments are supported:
-
name
- (Required) A user-defined name of the function. Function names must be unique globally. -
source_archive_bucket
- (Required) The GCS bucket containing the zip archive which contains the function. -
source_archive_object
- (Required) The source archive object (file) in archive bucket.
-
description
- (Optional) Description of the function. -
available_memory_mb
- (Optional) Memory (in MB), available to the function. Default value is 256MB. Allowed values are: 128MB, 256MB, 512MB, 1024MB, and 2048MB. -
timeout
- (Optional) Timeout (in seconds) for the function. Default value is 60 seconds. Cannot be more than 540 seconds. -
entry_point
- (Optional) Name of a JavaScript function that will be executed when the Google Cloud Function is triggered. -
trigger_http
- (Optional) Boolean variable. Any HTTP request (of a supported type) to the endpoint will trigger function execution. Supported HTTP request types are: POST, PUT, GET, DELETE, and OPTIONS. Endpoint is returned ashttps_trigger_url
. Cannot be used withtrigger_bucket
andtrigger_topic
. -
trigger_bucket
- (Optional) Google Cloud Storage bucket name. Every change in files in this bucket will trigger function execution. Cannot be used withtrigger_http
andtrigger_topic
. -
trigger_topic
- (Optional) Name of Pub/Sub topic. Every message published in this topic will trigger function execution with message contents passed as input data. Cannot be used withtrigger_http
andtrigger_bucket
. -
labels
- (Optional) A set of key/value label pairs to assign to the function. -
retry_on_failure
- (Optional) Whether the function should be retried on failure. This only applies to bucket and topic triggers, not HTTPS triggers.
Attributes Reference
In addition to the arguments listed above, the following computed attributes are exported:
-
https_trigger_url
- URL which triggers function execution. Returned only iftrigger_http
is used. -
project
- Project of the function. If it is not provided, the provider project is used. -
region
- Region of function. Currently can be only "us-central1". If it is not provided, the provider region is used.
Import
Functions can be imported using the name
, e.g.
$ terraform import google_cloudfunctions_function.default function-test
© 2018 HashiCorpLicensed under the MPL 2.0 License.
https://www.terraform.io/docs/providers/google/r/cloudfunctions_function.html