The Eventarc Channel resource
data "google_project" "test_project" {
project_id = "my-project-name"
}
data "google_kms_key_ring" "test_key_ring" {
name = "keyring"
location = "us-west1"
}
data "google_kms_crypto_key" "key" {
name = "key"
key_ring = data.google_kms_key_ring.test_key_ring.id
}
resource "google_kms_crypto_key_iam_member" "key1_member" {
crypto_key_id = data.google_kms_crypto_key.key1.id
role = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
member = "serviceAccount:service-${data.google_project.test_project.number}@gcp-sa-eventarc.iam.gserviceaccount.com"
}
resource "google_eventarc_channel" "primary" {
location = "us-west1"
name = "channel"
project = "${data.google_project.test_project.project_id}"
crypto_key_name = "${data.google_kms_crypto_key.key1.id}"
third_party_provider = "projects/${data.google_project.test_project.project_id}/locations/us-west1/providers/datadog"
depends_on = [google_kms_crypto_key_iam_member.key1_member]
}
The following arguments are supported:
location
-
(Required)
The location for the resource
name
-
(Required)
Required. The resource name of the channel. Must be unique within the location on the project.
crypto_key_name
-
(Optional)
Optional. Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt their event data. It must match the pattern projects/*/locations/*/keyRings/*/cryptoKeys/*
.
project
-
(Optional)
The project for the resource
third_party_provider
-
(Optional)
The name of the event provider (e.g. Eventarc SaaS partner) associated with the channel. This provider will be granted permissions to publish events to the channel. Format: projects/{project}/locations/{location}/providers/{provider_id}
.
In addition to the arguments listed above, the following computed attributes are exported:
id
- an identifier for the resource with format projects/{{project}}/locations/{{location}}/channels/{{name}}
activation_token
-
Output only. The activation token for the channel. The token must be used by the provider to register the channel for publishing.
create_time
-
Output only. The creation time.
pubsub_topic
-
Output only. The name of the Pub/Sub topic created and managed by Eventarc system as a transport for the event delivery. Format: projects/{project}/topics/{topic_id}
.
state
-
Output only. The state of a Channel. Possible values: STATE_UNSPECIFIED, PENDING, ACTIVE, INACTIVE
uid
-
Output only. Server assigned unique identifier for the channel. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.
update_time
-
Output only. The last-modified time.
This resource provides the following Timeouts configuration options:
create
- Default is 20 minutes.update
- Default is 20 minutes.delete
- Default is 20 minutes.Channel can be imported using any of these accepted formats:
projects/{{project}}/locations/{{location}}/channels/{{name}}
{{project}}/{{location}}/{{name}}
{{location}}/{{name}}
In Terraform v1.5.0 and later, use an import
block to import Channel using one of the formats above. For example:
import {
id = "projects/{{project}}/locations/{{location}}/channels/{{name}}"
to = google_eventarc_channel.default
}
When using the terraform import
command, Channel can be imported using one of the formats above. For example:
$ terraform import google_eventarc_channel.default projects/{{project}}/locations/{{location}}/channels/{{name}}
$ terraform import google_eventarc_channel.default {{project}}/{{location}}/{{name}}
$ terraform import google_eventarc_channel.default {{location}}/{{name}}