google_integration_connectors_connection

An Integration connectors Connection.

To get more information about Connection, see:

Open in Cloud Shell

Example Usage - Integration Connectors Connection Basic

data "google_project" "test_project" {
}

resource "google_integration_connectors_connection" "pubsubconnection" {
  name     = "test-pubsub"
  location = "us-central1"
  connector_version = "projects/${data.google_project.test_project.project_id}/locations/global/providers/gcp/connectors/pubsub/versions/1"
  description = "tf created description"
  config_variable {
      key = "project_id"
      string_value = "connectors-example"
  }
  config_variable {
      key = "topic_id"
      string_value = "test"
  }
}
Open in Cloud Shell

Example Usage - Integration Connectors Connection Advanced

data "google_project" "test_project" {
}

resource "google_secret_manager_secret" "secret-basic" {
  secret_id     = "test-secret"
  replication {
    user_managed {
      replicas {
        location = "us-central1"
      }
    }
  }
}


resource "google_secret_manager_secret_version" "secret-version-basic" {
  secret = google_secret_manager_secret.secret-basic.id
  secret_data = "dummypassword"
}

resource "google_secret_manager_secret_iam_member" "secret_iam" {
  secret_id  = google_secret_manager_secret.secret-basic.id
  role       = "roles/secretmanager.admin"
  member     = "serviceAccount:${data.google_project.test_project.number}-compute@developer.gserviceaccount.com"
  depends_on = [google_secret_manager_secret_version.secret-version-basic]
}

resource "google_integration_connectors_connection" "zendeskconnection" {
  name     = "test-zendesk"
  description = "tf updated description"
  location = "us-central1"
  service_account = "${data.google_project.test_project.number}-compute@developer.gserviceaccount.com"
  connector_version = "projects/${data.google_project.test_project.project_id}/locations/global/providers/zendesk/connectors/zendesk/versions/1"
  config_variable {
      key = "proxy_enabled"
      boolean_value = false
  }
  config_variable {
    key = "sample_integer_value"
    integer_value = 1
  }

  config_variable {
      key = "sample_encryption_key_value"
      encryption_key_value {
        type = "GOOGLE_MANAGED"
        kms_key_name = "sampleKMSKkey"
      }
  }

  config_variable {
    key = "sample_secret_value"
    secret_value {
      secret_version = google_secret_manager_secret_version.secret-version-basic.name
    }
  }

  suspended = false
  auth_config {
    additional_variable {
      key = "sample_string"
      string_value = "sampleString"
    }
    additional_variable {
      key = "sample_boolean"
      boolean_value = false
    }
    additional_variable {
      key = "sample_integer"
      integer_value = 1
    }
    additional_variable {
      key = "sample_secret_value"
      secret_value {
        secret_version = google_secret_manager_secret_version.secret-version-basic.name
      }
    }
    additional_variable {
      key = "sample_encryption_key_value"
      encryption_key_value {
        type = "GOOGLE_MANAGED"
        kms_key_name = "sampleKMSKkey"
      }
    }
    auth_type = "USER_PASSWORD"
    auth_key = "sampleAuthKey"
    user_password {
      username = "user@xyz.com"
      password {
        secret_version = google_secret_manager_secret_version.secret-version-basic.name
      }
    }
  }

  destination_config {
    key = "url"
    destination {
        host = "https://test.zendesk.com"
        port = 80
    }
  }
  lock_config {
    locked = false
    reason = "Its not locked"
  }
  log_config {
    enabled = true
  }
  node_config {
    min_node_count = 2
    max_node_count = 50
  }
  labels = {
    foo = "bar"
  }
  ssl_config {
    additional_variable {
      key = "sample_string"
      string_value = "sampleString"
    }
    additional_variable {
      key = "sample_boolean"
      boolean_value = false
    }
    additional_variable {
      key = "sample_integer"
      integer_value = 1
    }
    additional_variable {
      key = "sample_secret_value"
      secret_value {
        secret_version = google_secret_manager_secret_version.secret-version-basic.name
      }
    }
    additional_variable {
      key = "sample_encryption_key_value"
      encryption_key_value {
        type = "GOOGLE_MANAGED"
        kms_key_name = "sampleKMSKkey"
      }
    }
    client_cert_type = "PEM"
    client_certificate {
      secret_version = google_secret_manager_secret_version.secret-version-basic.name
    }
    client_private_key {
      secret_version = google_secret_manager_secret_version.secret-version-basic.name
    }
    client_private_key_pass {
      secret_version = google_secret_manager_secret_version.secret-version-basic.name
    }
    private_server_certificate {
      secret_version = google_secret_manager_secret_version.secret-version-basic.name
    }
    server_cert_type = "PEM"
    trust_model      = "PRIVATE"
    type             = "TLS"
    use_ssl          = true
  }

  eventing_enablement_type = "EVENTING_AND_CONNECTION"
  eventing_config {
    additional_variable {
      key = "sample_string"
      string_value = "sampleString"
    }
    additional_variable {
      key = "sample_boolean"
      boolean_value = false
    }
    additional_variable {
      key = "sample_integer"
      integer_value = 1
    }
    additional_variable {
      key = "sample_secret_value"
      secret_value {
        secret_version = google_secret_manager_secret_version.secret-version-basic.name
      }
    }
    additional_variable {
      key = "sample_encryption_key_value"
      encryption_key_value {
        type = "GOOGLE_MANAGED"
        kms_key_name = "sampleKMSKkey"
      }
    }
    registration_destination_config {
      key = "registration_destination_config"
      destination {
          host = "https://test.zendesk.com"
          port = 80
        }
    }
    auth_config {
      auth_type = "USER_PASSWORD"
      auth_key = "sampleAuthKey"
      user_password {
        username = "user@xyz.com"
        password {
          secret_version = google_secret_manager_secret_version.secret-version-basic.name
        }
      }
      additional_variable {
        key = "sample_string"
        string_value = "sampleString"
      }
      additional_variable {
        key = "sample_boolean"
        boolean_value = false
      }
      additional_variable {
        key = "sample_integer"
        integer_value = 1
      }
      additional_variable {
        key = "sample_secret_value"
        secret_value {
          secret_version = google_secret_manager_secret_version.secret-version-basic.name
        }
      }
      additional_variable {
        key = "sample_encryption_key_value"
        encryption_key_value {
          type = "GOOGLE_MANAGED"
          kms_key_name = "sampleKMSKkey"
        }
      }
    }
    enrichment_enabled = true
  }
}

Argument Reference

The following arguments are supported:


The config_variable block supports:

The secret_value block supports:

The encryption_key_value block supports:

The auth_config block supports:

The additional_variable block supports:

The secret_value block supports:

The encryption_key_value block supports:

The user_password block supports:

The password block supports:

The oauth2_jwt_bearer block supports:

The client_key block supports:

The jwt_claims block supports:

The oauth2_client_credentials block supports:

The client_secret block supports:

The ssh_public_key block supports:

The ssh_client_cert block supports:

The ssh_client_cert_pass block supports:

The oauth2_auth_code_flow block supports:

The client_secret block supports:

The lock_config block supports:

The destination_config block supports:

The destination block supports:

The node_config block supports:

The log_config block supports:

The ssl_config block supports:

The private_server_certificate block supports:

The client_certificate block supports:

The client_private_key block supports:

The client_private_key_pass block supports:

The additional_variable block supports:

The secret_value block supports:

The encryption_key_value block supports:

The eventing_config block supports:

The registration_destination_config block supports:

The destination block supports:

The auth_config block supports:

The additional_variable block supports:

The secret_value block supports:

The encryption_key_value block supports:

The user_password block supports:

The password block supports:

The additional_variable block supports:

The secret_value block supports:

The encryption_key_value block supports:

Attributes Reference

In addition to the arguments listed above, the following computed attributes are exported:

The status block contains:

The eventing_runtime_data block contains:

The status block contains:

The connector_version_infra_config block contains:

Timeouts

This resource provides the following Timeouts configuration options:

Import

Connection can be imported using any of these accepted formats:

In Terraform v1.5.0 and later, use an import block to import Connection using one of the formats above. For example:

import {
  id = "projects/{{project}}/locations/{{location}}/connections/{{name}}"
  to = google_integration_connectors_connection.default
}

When using the terraform import command, Connection can be imported using one of the formats above. For example:

$ terraform import google_integration_connectors_connection.default projects/{{project}}/locations/{{location}}/connections/{{name}}
$ terraform import google_integration_connectors_connection.default {{project}}/{{location}}/{{name}}
$ terraform import google_integration_connectors_connection.default {{location}}/{{name}}

User Project Overrides

This resource supports User Project Overrides.