-
Notifications
You must be signed in to change notification settings - Fork 2
/
service-accounts.tf
30 lines (26 loc) · 1.11 KB
/
service-accounts.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
# Create Vertex Training service account
resource "google_service_account" "training_sa" {
project = module.project-services.project_id
account_id = var.training_sa_name
display_name = "MLops Terraform service account"
}
# Create Vertex Training SA role bindings
resource "google_project_iam_member" "training_sa_role_bindings" {
project = module.project-services.project_id
for_each = toset(var.training_sa_roles)
member = "serviceAccount:${google_service_account.training_sa.email}"
role = "roles/${each.value}"
}
# Create Vertex Pipelines service account
resource "google_service_account" "pipelines_sa" {
project = module.project-services.project_id
account_id = var.pipelines_sa_name
display_name = "MLOps Terraform Pieplines account name"
}
# Create Vertex Pipelines SA role bindings
resource "google_project_iam_member" "role_bindings" {
project = module.project-services.project_id
for_each = toset(var.pipelines_sa_roles)
member = "serviceAccount:${google_service_account.pipelines_sa.email}"
role = "roles/${each.value}"
}