diff --git a/.changelog/6126.txt b/.changelog/6126.txt new file mode 100644 index 00000000000..c195af91969 --- /dev/null +++ b/.changelog/6126.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +google_cloud_run_service: added samples for pubsub tutorials +``` diff --git a/website/docs/r/cloud_run_service.html.markdown b/website/docs/r/cloud_run_service.html.markdown index 364151aca5e..ade4861fe9d 100644 --- a/website/docs/r/cloud_run_service.html.markdown +++ b/website/docs/r/cloud_run_service.html.markdown @@ -48,6 +48,61 @@ To get more information about Service, see: a Cloud Run Service on Anthos(GKE/VMWare) then you will need to create it using the kubernetes alpha provider. Have a look at the Cloud Run Anthos example below. +## Example Usage - Cloud Run Service Pubsub + + +```hcl +resource "google_cloud_run_service" "default" { + name = "cloud_run_service_name" + location = "us-central1" + template { + spec { + containers { + image = "gcr.io/cloudrun/hello" + } + } + } + traffic { + percent = 100 + latest_revision = true + } +} + +resource "google_service_account" "sa" { + account_id = "cloud-run-pubsub-invoker" + display_name = "Cloud Run Pub/Sub Invoker" +} + +resource "google_cloud_run_service_iam_binding" "binding" { + location = google_cloud_run_service.default.location + service = google_cloud_run_service.default.name + role = "roles/run.invoker" + members = ["serviceAccount:${google_service_account.sa.email}"] +} + +resource "google_project_iam_binding" "project" { + role = "roles/iam.serviceAccountTokenCreator" + members = ["serviceAccount:${google_service_account.sa.email}"] +} + +resource "google_pubsub_topic" "topic" { + name = "pubsub_topic" +} + +resource "google_pubsub_subscription" "subscription" { + name = "pubsub_subscription" + topic = google_pubsub_topic.topic.name + push_config { + push_endpoint = google_cloud_run_service.default.status[0].url + oidc_token { + service_account_email = google_service_account.sa.email + } + attributes = { + x-goog-version = "v1" + } + } +} +``` ## Example Usage - Cloud Run Service Basic