28 lines
700 B
HCL
28 lines
700 B
HCL
variable "aws_region" {}
|
|
variable "iam_users" {}
|
|
|
|
# provider "aws" {
|
|
# region = var.aws_region
|
|
# }
|
|
|
|
locals {
|
|
user_policies = flatten([for name, policies in var.iam_users : [for policy in policies.policies : { user = name, policy = policy }]])
|
|
users = toset([for user in local.user_policies : user.user])
|
|
}
|
|
|
|
resource "aws_iam_user" "iam_user" {
|
|
for_each = local.users
|
|
|
|
name = each.key
|
|
}
|
|
|
|
resource "aws_iam_user_policy_attachment" "policy_attachment" {
|
|
count = length(local.user_policies)
|
|
|
|
user = aws_iam_user.iam_user[local.user_policies[count.index].user].name
|
|
policy_arn = local.user_policies[count.index].policy
|
|
}
|
|
|
|
# output "users_result" {
|
|
# value = local.user_policies
|
|
# } |