-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathuser.tf
More file actions
31 lines (26 loc) · 884 Bytes
/
user.tf
File metadata and controls
31 lines (26 loc) · 884 Bytes
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
locals {
groups_list = flatten([
for user_name, user in var.users : [
for group_name in user.groups : {
user = user_name
group = group_name
}
]
])
}
resource "openstack_identity_user_v3" "user" {
for_each = var.users
name = each.key
description = each.value.description
password = each.value.password
ignore_change_password_upon_first_use = false
default_project_id = each.value.default_project == null ? null : openstack_identity_project_v3.project[each.value.default_project].id
extra = {
email = each.value.email
}
}
resource "openstack_identity_user_membership_v3" "user_membership" {
for_each = {for m in local.groups_list: "${m.user}:${m.group}" => m}
user_id = openstack_identity_user_v3.user[each.value.user].id
group_id = openstack_identity_group_v3.group[each.value.group].id
}