variable user {}variable policy_arn { type = "list" default = ["default"]}
variable policy_file { type = "list" default = ["default"]}
resource "aws_iam_user" "user" { name = "${var.user}"}
resource "aws_iam_access_key" "key" { user = "${var.user}"}
resource "aws_iam_user_policy" "user_policy" { count = "${element(var.policy_file, 0) =="default" ? 0: length(var.policy_file)}" name = "${element(var.policy_file,count.index)}" user = "${var.user}" policy = "${file("../policies/${element(var.policy_file,count.index)}.json")}" depends_on = ["aws_iam_user.user"]}
resource "aws_iam_user_policy_attachment" "policy_attach" { count = "${element(var.policy_arn, 0) =="default" ? 0: length(var.policy_arn)}" user = "${var.user}" policy_arn = "${element(var.policy_arn, count.index)}" depends_on = ["aws_iam_user.user"]}
variable policy_file { type = "string" default = "default"}
variable description { type = "string" default = "policy description"}
resource "aws_iam_policy" "policy" { path = "/" description = "$(var.description}" name = "${var.policy_file}" policy = "${file("../policies/${var.policy_file}.json")}"}
module "app_user" { source = "../module/user" user = "app-user" policy_file = ["ec2_access", "rds_access", "${module.test_policy.policy_arn}" ] policy_arn = [ "arn:aws:iam::aws:policy/ReadOnlyAccess","arn:aws:iam::aws:policy/AmazonSQSFullAccess"]}
module "test_policy" { source = "../module/policy/policy.tf" policy_file = "test_policy" description = "Read access to the autoscale event queue"}
output "policy_arn" { value = "${module.test_policy.policy_arn}"}