| --- |
| # ---------------------------------------------------------------------------- |
| # |
| # *** AUTO GENERATED CODE *** Type: DCL *** |
| # |
| # ---------------------------------------------------------------------------- |
| # |
| # This file is managed by Magic Modules (https:#github.com/GoogleCloudPlatform/magic-modules) |
| # and is based on the DCL (https:#github.com/GoogleCloudPlatform/declarative-resource-client-library). |
| # Changes will need to be made to the DCL or Magic Modules instead of here. |
| # |
| # We are not currently able to accept contributions to this file. If changes |
| # are required, please file an issue at https:#github.com/hashicorp/terraform-provider-google/issues/new/choose |
| # |
| # ---------------------------------------------------------------------------- |
| subcategory: "Eventarc" |
| description: |- |
| The Eventarc Channel resource |
| --- |
| |
| # google_eventarc_channel |
| |
| The Eventarc Channel resource |
| |
| ## Example Usage - basic |
| ```hcl |
| 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] |
| } |
| ``` |
| |
| ## Argument Reference |
| |
| 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}`. |
| |
| |
| |
| ## Attributes Reference |
| |
| 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. |
| |
| ## Timeouts |
| |
| This resource provides the following |
| [Timeouts](https://developer.hashicorp.com/terraform/plugin/sdkv2/resources/retries-and-customizable-timeouts) configuration options: |
| |
| - `create` - Default is 20 minutes. |
| - `update` - Default is 20 minutes. |
| - `delete` - Default is 20 minutes. |
| |
| ## Import |
| |
| 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](https://developer.hashicorp.com/terraform/language/import) to import Channel using one of the formats above. For example: |
| |
| |
| ```tf |
| import { |
| id = "projects/{{project}}/locations/{{location}}/channels/{{name}}" |
| to = google_eventarc_channel.default |
| } |
| ``` |
| |
| When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), 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}} |
| ``` |
| |
| |
| |