User Args
data class UserArgs(val forceDestroy: Output<Boolean>? = null, val name: Output<String>? = null, val path: Output<String>? = null, val permissionsBoundary: Output<String>? = null, val tags: Output<Map<String, String>>? = null) : ConvertibleToJava<UserArgs>
Provides an IAM user.
NOTE: If policies are attached to the user via the
aws.iam.PolicyAttachment
resource and you are modifying the username
orpath
, theforce_destroy
argument must be set totrue
and applied before attempting the operation otherwise you will encounter aDeleteConflict
error. Theaws.iam.UserPolicyAttachment
resource (recommended) does not have this requirement.
Example Usage
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.iam.User;
import com.pulumi.aws.iam.UserArgs;
import com.pulumi.aws.iam.AccessKey;
import com.pulumi.aws.iam.AccessKeyArgs;
import com.pulumi.aws.iam.UserPolicy;
import com.pulumi.aws.iam.UserPolicyArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var lbUser = new User("lbUser", UserArgs.builder()
.path("/system/")
.tags(Map.of("tag-key", "tag-value"))
.build());
var lbAccessKey = new AccessKey("lbAccessKey", AccessKeyArgs.builder()
.user(lbUser.name())
.build());
var lbRo = new UserPolicy("lbRo", UserPolicyArgs.builder()
.user(lbUser.name())
.policy("""
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:Describe*"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
""")
.build());
}
}
Content copied to clipboard
Import
IAM Users can be imported using the name
, e.g.,
$ pulumi import aws:iam/user:User lb loadbalancer
Content copied to clipboard