» Resource: aws_iam_user
Provides an IAM user.
» Example Usage
resource "aws_iam_user" "lb" {
name = "loadbalancer"
path = "/system/"
tags = {
tag-key = "tag-value"
}
}
resource "aws_iam_access_key" "lb" {
user = "${aws_iam_user.lb.name}"
}
resource "aws_iam_user_policy" "lb_ro" {
name = "test"
user = "${aws_iam_user.lb.name}"
policy = <<EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:Describe*"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
EOF
}
» Argument Reference
The following arguments are supported:
-
name- (Required) The user's name. The name must consist of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters:=,.@-_.. User names are not distinguished by case. For example, you cannot create users named both "TESTUSER" and "testuser". -
path- (Optional, default "/") Path in which to create the user. -
permissions_boundary- (Optional) The ARN of the policy that is used to set the permissions boundary for the user. -
force_destroy- (Optional, default false) When destroying this user, destroy even if it has non-Terraform-managed IAM access keys, login profile or MFA devices. Withoutforce_destroya user with non-Terraform-managed access keys and login profile will fail to be destroyed. -
tags- Key-value mapping of tags for the IAM user
» Attributes Reference
In addition to all arguments above, the following attributes are exported:
-
arn- The ARN assigned by AWS for this user. -
name- The user's name. -
unique_id- The unique ID assigned by AWS.
» Import
IAM Users can be imported using the name, e.g.
$ terraform import aws_iam_user.lb loadbalancer