Application Integration Client.
To get more information about Client, see:
resource "google_integrations_client" "example" {
location = "us-central1"
}
data "google_project" "test_project" {
}
resource "google_kms_key_ring" "keyring" {
name = "my-keyring"
location = "us-east1"
}
resource "google_kms_crypto_key" "cryptokey" {
name = "crypto-key-example"
key_ring = google_kms_key_ring.keyring.id
rotation_period = "7776000s"
}
resource "google_kms_crypto_key_version" "test_key" {
crypto_key = google_kms_crypto_key.cryptokey.id
}
resource "google_service_account" "service_account" {
account_id = "service-account-id"
display_name = "Service Account"
}
resource "google_integrations_client" "example" {
location = "us-east1"
create_sample_integrations = true
run_as_service_account = google_service_account.service_account.email
cloud_kms_config {
kms_location = "us-east1"
kms_ring = google_kms_key_ring.keyring.id
key = google_kms_crypto_key.cryptokey.id
key_version = google_kms_crypto_key_version.test_key.id
kms_project_id = data.google_project.test_project.project_id
}
}
The following arguments are supported:
location
-
(Required)
Location in which client needs to be provisioned.cloud_kms_config
-
(Optional)
Cloud KMS config for AuthModule to encrypt/decrypt credentials.
Structure is documented below.
create_sample_workflows
-
(Optional, Deprecated)
Indicates if sample workflow should be created along with provisioning.
~> Warning: create_sample_workflows
is deprecated and will be removed in a future major release. Use create_sample_integrations
instead.
create_sample_integrations
-
(Optional)
Indicates if sample integrations should be created along with provisioning.
provision_gmek
-
(Optional, Deprecated)
Indicates provision with GMEK or CMEK.
~> Warning: provision_gmek
is deprecated and will be removed in a future major release. Client would be provisioned as gmek if cloud_kms_config
is not given.
run_as_service_account
-
(Optional)
User input run-as service account, if empty, will bring up a new default service account.
project
- (Optional) The ID of the project in which the resource belongs.
If it is not provided, the provider project is used.
The cloud_kms_config
block supports:
kms_location
-
(Required)
Location name of the key ring, e.g. "us-west1".
kms_ring
-
(Required)
A key ring organizes keys in a specific Google Cloud location and allows you to
manage access control on groups of keys. A key ring's name does not need to be
unique across a Google Cloud project, but must be unique within a given location.
key
-
(Required)
A Cloud KMS key is a named object containing one or more key versions, along
with metadata for the key. A key exists on exactly one key ring tied to a
specific location.
key_version
-
(Optional)
Each version of a key contains key material used for encryption or signing.
A key's version is represented by an integer, starting at 1. To decrypt data
or verify a signature, you must use the same key version that was used to
encrypt or sign the data.
kms_project_id
-
(Optional)
The Google Cloud project id of the project where the kms key stored. If empty,
the kms key is stored at the same project as customer's project and ecrypted
with CMEK, otherwise, the kms key is stored in the tenant project and
encrypted with GMEK.
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}}/clients
This resource provides the following Timeouts configuration options:
create
- Default is 20 minutes.delete
- Default is 20 minutes.Client can be imported using any of these accepted formats:
projects/{{project}}/locations/{{location}}/clients
{{project}}/{{location}}
{{location}}
In Terraform v1.5.0 and later, use an import
block to import Client using one of the formats above. For example:
import {
id = "projects/{{project}}/locations/{{location}}/clients"
to = google_integrations_client.default
}
When using the terraform import
command, Client can be imported using one of the formats above. For example:
$ terraform import google_integrations_client.default projects/{{project}}/locations/{{location}}/clients
$ terraform import google_integrations_client.default {{project}}/{{location}}
$ terraform import google_integrations_client.default {{location}}
This resource supports User Project Overrides.