【发布时间】:2021-03-31 00:20:26
【问题描述】:
我有这样的变量映射:
users.tfvars
users = {
"testterform" = {
path = "/"
force_destroy = true
email_address = "testterform@example.com"
group_memberships = [ "test1" ]
tags = { department : "test" }
ssh_public_key = "ssh-rsa AAAAB3NzaC1yc2EAAA4l7"
}
"testterform2" = {
path = "/"
force_destroy = true
email_address = "testterform2@example.com"
group_memberships = [ "test1" ]
tags = { department : "test" }
ssh_public_key = ""
}
只有当ssh_public_key 对用户来说不是空的时,我才想上传 ssh 密钥。但不明白如何检查这个
#main.tf
resource "aws_iam_user" "this" {
for_each = var.users
name = each.key
path = each.value["path"]
force_destroy = each.value["force_destroy"]
tags = merge(each.value["tags"], { Provisioner : var.provisioner, EmailAddress : each.value["email_address"] })
}
resource "aws_iam_user_group_membership" "this" {
for_each = var.users
user = each.key
groups = each.value["group_memberships"]
depends_on = [ aws_iam_user.this ]
}
resource "aws_iam_user_ssh_key" "this" {
for_each = var.users
username = each.key
encoding = "SSH"
public_key = each.value["ssh_public_key"]
depends_on = [ aws_iam_user.this ]
}
【问题讨论】:
标签: terraform