Skip to content

Commit ff8d404

Browse files
Moving UC Resources to account level (#89)
* Moving UC to account level Changes: - Moving UC resources to account level - Bumping `databricks` provider version - Adjusting dependencies * Adjusting versions and admin group definition for module
1 parent 015894c commit ff8d404

File tree

9 files changed

+24
-29
lines changed

9 files changed

+24
-29
lines changed

examples/aws-workspace-uc-simple/main.tf

+6-9
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ module "aws_base" {
1313

1414
module "databricks_workspace" {
1515
providers = {
16-
databricks.mws = databricks.mws
17-
databricks.workspace = databricks.workspace
16+
databricks = databricks.mws
1817
}
1918
source = "../../modules/aws-databricks-workspace"
2019
prefix = local.prefix
@@ -26,26 +25,24 @@ module "databricks_workspace" {
2625
root_storage_bucket = module.aws_base.root_bucket
2726
cross_account_role_arn = module.aws_base.cross_account_role_arn
2827
tags = local.tags
28+
2929
depends_on = [
3030
module.aws_base
3131
]
32+
3233
}
3334

3435
module "unity_catalog" {
3536
source = "../../modules/aws-databricks-unity-catalog"
3637
providers = {
37-
databricks.mws = databricks.mws
38-
databricks.workspace = databricks.workspace
38+
databricks = databricks.mws
3939
}
4040
prefix = local.prefix
4141
region = var.region
4242
databricks_account_id = var.databricks_account_id
4343
aws_account_id = local.aws_account_id
44-
unity_metastore_owner = local.unity_admin_group
44+
unity_metastore_owner = databricks_group.admin_group.display_name
4545
databricks_workspace_ids = [module.databricks_workspace.databricks_workspace_id]
4646
tags = local.tags
47-
depends_on = [
48-
module.databricks_workspace,
49-
resource.databricks_group.admin_group
50-
]
47+
5148
}

examples/aws-workspace-uc-simple/versions.tf

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ terraform {
1717

1818
databricks = {
1919
source = "databricks/databricks"
20-
version = "=1.17.0"
20+
version = ">= 1.2.0, < 2.0.0"
2121
}
2222

2323
}

modules/aws-databricks-base-infra/outputs.tf

+1
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,5 @@ output "root_bucket" {
3131
output "cross_account_role_arn" {
3232
value = aws_iam_role.cross_account_role.arn
3333
description = "AWS Cross account role arn"
34+
depends_on = [resource.aws_iam_role_policy.this]
3435
}

modules/aws-databricks-base-infra/versions.tf

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ terraform {
77

88
databricks = {
99
source = "databricks/databricks"
10-
version = ">=1.17.0"
10+
version = ">=1.24.1"
1111
configuration_aliases = [databricks.mws]
1212
}
1313
}

modules/aws-databricks-unity-catalog/main.tf

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
resource "databricks_metastore" "this" {
2-
provider = databricks.workspace
32
name = local.metastore_name
3+
region = var.region
44
owner = var.unity_metastore_owner
55
storage_root = "s3://${aws_s3_bucket.metastore.id}/metastore"
66
force_destroy = true
77
}
88

99
resource "databricks_metastore_data_access" "this" {
10-
provider = databricks.workspace
1110
metastore_id = databricks_metastore.this.id
1211
name = aws_iam_role.metastore_data_access.name
1312
aws_iam_role {
@@ -29,7 +28,6 @@ resource "time_sleep" "wait_role_creation" {
2928
}
3029

3130
resource "databricks_metastore_assignment" "default_metastore" {
32-
provider = databricks.workspace
3331
count = length(var.databricks_workspace_ids)
3432
workspace_id = var.databricks_workspace_ids[count.index]
3533
metastore_id = databricks_metastore.this.id

modules/aws-databricks-unity-catalog/s3.tf

+10
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,16 @@ resource "aws_s3_bucket_versioning" "versioning_example" {
1313
}
1414
}
1515

16+
resource "aws_s3_bucket_server_side_encryption_configuration" "root_storage_bucket" {
17+
bucket = aws_s3_bucket.metastore.bucket
18+
19+
rule {
20+
apply_server_side_encryption_by_default {
21+
sse_algorithm = "AES256"
22+
}
23+
}
24+
}
25+
1626
resource "aws_s3_bucket_public_access_block" "metastore" {
1727
bucket = aws_s3_bucket.metastore.id
1828
block_public_acls = true

modules/aws-databricks-unity-catalog/versions.tf

+2-3
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,8 @@ terraform {
66
}
77

88
databricks = {
9-
source = "databricks/databricks"
10-
version = ">=1.17.0"
11-
configuration_aliases = [databricks.mws, databricks.workspace]
9+
source = "databricks/databricks"
10+
version = ">=1.24.1"
1211
}
1312

1413
}

modules/aws-databricks-workspace/main.tf

-4
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
resource "databricks_mws_credentials" "this" {
2-
provider = databricks.mws
32
account_id = var.databricks_account_id
43
role_arn = var.cross_account_role_arn
54
credentials_name = "${var.prefix}-creds"
65
}
76

87
resource "databricks_mws_networks" "this" {
9-
provider = databricks.mws
108
account_id = var.databricks_account_id
119
network_name = "${var.prefix}-network"
1210
security_group_ids = var.security_group_ids
@@ -15,14 +13,12 @@ resource "databricks_mws_networks" "this" {
1513
}
1614

1715
resource "databricks_mws_storage_configurations" "this" {
18-
provider = databricks.mws
1916
account_id = var.databricks_account_id
2017
bucket_name = var.root_storage_bucket
2118
storage_configuration_name = "${var.prefix}-storage"
2219
}
2320

2421
resource "databricks_mws_workspaces" "this" {
25-
provider = databricks.mws
2622
account_id = var.databricks_account_id
2723
aws_region = var.region
2824
workspace_name = var.prefix

modules/aws-databricks-workspace/versions.tf

+2-8
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,8 @@
11
terraform {
22
required_providers {
3-
aws = {
4-
source = "hashicorp/aws"
5-
version = "=4.57.0"
6-
}
7-
83
databricks = {
9-
source = "databricks/databricks"
10-
version = ">=1.17.0"
11-
configuration_aliases = [databricks.mws, databricks.workspace]
4+
source = "databricks/databricks"
5+
version = ">=1.24.1"
126
}
137

148
}

0 commit comments

Comments
 (0)