diff --git a/google/resource_cloudfunctions_function.go b/google/resource_cloudfunctions_function.go index 037d716e..12d91452 100644 --- a/google/resource_cloudfunctions_function.go +++ b/google/resource_cloudfunctions_function.go @@ -526,6 +526,11 @@ func expandEventTrigger(configured []interface{}, project string) *cloudfunction eventType := data["event_type"].(string) shape := "" switch { + case strings.HasPrefix(eventType, "google.storage.object."): + shape = "projects/%s/buckets/%s" + case strings.HasPrefix(eventType, "google.pubsub.topic."): + shape = "projects/%s/topics/%s" + // Legacy style triggers case strings.HasPrefix(eventType, "providers/cloud.storage/eventTypes/"): shape = "projects/%s/buckets/%s" case strings.HasPrefix(eventType, "providers/cloud.pubsub/eventTypes/"): diff --git a/google/resource_cloudfunctions_function_test.go b/google/resource_cloudfunctions_function_test.go index 10ee2946..1676e6a8 100644 --- a/google/resource_cloudfunctions_function_test.go +++ b/google/resource_cloudfunctions_function_test.go @@ -473,7 +473,7 @@ resource "google_cloudfunctions_function" "function" { timeout = 61 entry_point = "helloGCS" event_trigger { - event_type = "providers/cloud.storage/eventTypes/object.change" + event_type = "google.storage.object.finalize" resource = "${google_storage_bucket.bucket.name}" failure_policy { retry = true @@ -503,7 +503,7 @@ resource "google_cloudfunctions_function" "function" { timeout = 61 entry_point = "helloGCS" event_trigger { - event_type = "providers/cloud.storage/eventTypes/object.change" + event_type = "google.storage.object.finalize" resource = "${google_storage_bucket.bucket.name}" } }`, bucketName, zipFilePath, functionName) diff --git a/website/docs/r/cloudfunctions_function.html.markdown b/website/docs/r/cloudfunctions_function.html.markdown index 2a621169..7f954444 100644 --- a/website/docs/r/cloudfunctions_function.html.markdown +++ b/website/docs/r/cloudfunctions_function.html.markdown @@ -76,9 +76,11 @@ The following arguments are supported: The `event_trigger` block supports: -* `event_type` - (Required) The type of event to observe. For example: `"providers/cloud.storage/eventTypes/object.change"` - and `"providers/cloud.pubsub/eventTypes/topic.publish"`. See the documentation on [calling Cloud Functions](https://cloud.google.com/functions/docs/calling/) - for a full reference. Only Cloud Storage and Cloud Pub/Sub triggers are supported at this time. +* `event_type` - (Required) The type of event to observe. For example: `"google.storage.object.finalize"`. +See the documentation on [calling Cloud Functions](https://cloud.google.com/functions/docs/calling/) for a full reference. +Only Cloud Storage and Cloud Pub/Sub triggers are supported at this time. +Legacy Cloud Storage and Cloud Pub/Sub triggers are also supported, such as `"providers/cloud.storage/eventTypes/object.change"` +and `"providers/cloud.pubsub/eventTypes/topic.publish"`. * `resource` - (Required) Required. The name of the resource from which to observe events, for example, `"myBucket"`