-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.tf
46 lines (40 loc) · 1.19 KB
/
main.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
resource "databricks_credential" "this" {
name = var.service_credential.name
owner = var.service_credential.owner
purpose = "SERVICE"
# Dynamic block for Azure
dynamic "azure_managed_identity" {
for_each = var.cloud == "azure" ? [1] : []
content {
access_connector_id = var.service_credential.azure_access_connector_id
}
}
# Dynamic block for AWS
dynamic "aws_iam_role" {
for_each = var.cloud == "aws" ? [1] : []
content {
role_arn = var.service_credential.aws_iam_role_arn
}
}
# TDOO
# Dynamic block for GCP
# GCP is not yet supported
# dynamic "databricks_gcp_service_account" {
# for_each = var.cloud == "gcp" ? [1] : []
# content {}
#}
force_destroy = var.service_credential.force_destroy
comment = var.service_credential.comment
isolation_mode = var.service_credential.isolation_mode
}
resource "databricks_grants" "credential" {
count = length(var.service_credential_permissions) == 0 ? 0 : 1
credential = databricks_credential.this.id
dynamic "grant" {
for_each = var.service_credential_permissions
content {
principal = grant.value.principal
privileges = grant.value.privileges
}
}
}