@@ -79,6 +79,14 @@ module "eks" {
7979 depends_on = [module . private_link ]
8080}
8181
82+ module "kms" {
83+ count = var. enable_aws_cse ? 1 : 0
84+ source = " ../../modules/aws_byoc_i/kms"
85+ prefix = local. prefix_name
86+ trust_role_arn = local. storage_role . arn
87+ aws_cse_exiting_key_arn = var. aws_cse_exiting_key_arn
88+ }
89+
8290resource "zillizcloud_byoc_i_project_agent" "this" {
8391 project_id = local. project_id
8492 data_plane_id = local. data_plane_id
@@ -108,11 +116,16 @@ resource "zillizcloud_byoc_i_project" "this" {
108116 storage = {
109117 bucket_id = local.s3_bucket_id
110118 }
119+ cse = var.enable_aws_cse ? {
120+ default_aws_cse_key_arn = module.kms[0 ].cse_key_arn
121+ aws_cse_role_arn = module.kms[0 ].cse_role_arn
122+ external_id = module.kms[0 ].external_id
123+ } : null
111124 }
112125
113126 // depend on private link to establish agent tunnel connection
114127 depends_on = [zillizcloud_byoc_i_project_agent . this ,
115- module . eks , module . private_link , module . vpc , module . s3 ]
128+ module . eks , module . private_link , module . vpc , module . s3 , module . kms ]
116129 lifecycle {
117130 ignore_changes = [data_plane_id , project_id , aws , ext_config ]
118131 prevent_destroy = true
@@ -121,6 +134,13 @@ resource "zillizcloud_byoc_i_project" "this" {
121134 ext_config = base64encode (jsonencode (local. ext_config ))
122135}
123136
137+
138+
139+
140+ output "cse_key_arn" {
141+ value = var. enable_aws_cse ? module. kms [0 ]. cse_key_arn : null
142+ }
143+
124144output "data_plane_id" {
125145 value = local. dataplane_id
126146}
0 commit comments