docs
reference
services
tessl install tessl/maven-com-pulumi--aws@7.16.0Pulumi Java SDK for AWS providing strongly-typed Infrastructure-as-Code for 227 AWS service packages including compute, storage, databases, networking, security, analytics, machine learning, and more.
AWS IAM provides identity and access control for AWS resources.
import com.pulumi.aws.iam.User;
import com.pulumi.aws.iam.UserArgs;
import com.pulumi.aws.iam.Group;
import com.pulumi.aws.iam.GroupArgs;
import com.pulumi.aws.iam.Role;
import com.pulumi.aws.iam.RoleArgs;
import com.pulumi.aws.iam.Policy;
import com.pulumi.aws.iam.PolicyArgs;
import com.pulumi.aws.iam.PolicyAttachment;
import com.pulumi.aws.iam.PolicyAttachmentArgs;
import com.pulumi.aws.iam.RolePolicyAttachment;
import com.pulumi.aws.iam.RolePolicyAttachmentArgs;
import com.pulumi.aws.iam.UserPolicyAttachment;
import com.pulumi.aws.iam.UserPolicyAttachmentArgs;
import com.pulumi.aws.iam.GroupPolicyAttachment;
import com.pulumi.aws.iam.GroupPolicyAttachmentArgs;
import com.pulumi.aws.iam.AccessKey;
import com.pulumi.aws.iam.AccessKeyArgs;
import com.pulumi.aws.iam.InstanceProfile;
import com.pulumi.aws.iam.InstanceProfileArgs;
import com.pulumi.aws.iam.IamFunctions;Create and manage IAM roles.
@ResourceType(type="aws:iam/role:Role")
public class Role extends com.pulumi.resources.CustomResource {
public Role(String name, RoleArgs args);
public Role(String name, RoleArgs args, @Nullable CustomResourceOptions options);
// Exported Properties
public Output<String> id();
public Output<String> arn();
public Output<String> name();
public Output<String> namePrefix();
public Output<String> assumeRolePolicy();
public Output<String> createDate();
public Output<Optional<String>> description();
public Output<Optional<Boolean>> forceDetachPolicies();
public Output<Optional<List<InlinePolicy>>> inlinePolicies();
public Output<Optional<List<String>>> managedPolicyArns();
public Output<Optional<Integer>> maxSessionDuration();
public Output<Optional<String>> path();
public Output<Optional<String>> permissionsBoundary();
public Output<Optional<Map<String, String>>> tags();
public Output<Map<String, String>> tagsAll();
public Output<String> uniqueId();
}
public class RoleArgs extends com.pulumi.resources.ResourceArgs {
public static Builder builder() { return new Builder(); }
public static final class Builder {
// Required
public Builder assumeRolePolicy(Output<String> assumeRolePolicy);
// Basic Configuration
public Builder name(Output<String> name);
public Builder namePrefix(Output<String> namePrefix);
public Builder description(Output<String> description);
public Builder path(Output<String> path);
// Session Configuration
public Builder maxSessionDuration(Output<Integer> maxSessionDuration);
// Permissions Boundary
public Builder permissionsBoundary(Output<String> permissionsBoundary);
// Inline Policies
public Builder inlinePolicies(Output<List<RoleInlinePolicyArgs>> inlinePolicies);
// Managed Policies
public Builder managedPolicyArns(Output<List<String>> managedPolicyArns);
// Lifecycle
public Builder forceDetachPolicies(Output<Boolean> forceDetachPolicies);
// Tags
public Builder tags(Output<Map<String, String>> tags);
public RoleArgs build();
}
}Create and manage IAM policies.
@ResourceType(type="aws:iam/policy:Policy")
public class Policy extends com.pulumi.resources.CustomResource {
public Policy(String name, PolicyArgs args);
public Policy(String name, PolicyArgs args, @Nullable CustomResourceOptions options);
// Exported Properties
public Output<String> id();
public Output<String> arn();
public Output<String> name();
public Output<String> namePrefix();
public Output<String> policy();
public Output<String> policyId();
public Output<Optional<String>> description();
public Output<Optional<String>> path();
public Output<Optional<Map<String, String>>> tags();
public Output<Map<String, String>> tagsAll();
}
public class PolicyArgs extends com.pulumi.resources.ResourceArgs {
public static Builder builder() { return new Builder(); }
public static final class Builder {
// Required
public Builder policy(Output<String> policy);
// Basic Configuration
public Builder name(Output<String> name);
public Builder namePrefix(Output<String> namePrefix);
public Builder description(Output<String> description);
public Builder path(Output<String> path);
// Tags
public Builder tags(Output<Map<String, String>> tags);
public PolicyArgs build();
}
}Create and manage IAM users.
@ResourceType(type="aws:iam/user:User")
public class User extends com.pulumi.resources.CustomResource {
public User(String name);
public User(String name, @Nullable UserArgs args);
public User(String name, @Nullable UserArgs args, @Nullable CustomResourceOptions options);
// Exported Properties
public Output<String> id();
public Output<String> arn();
public Output<String> name();
public Output<String> uniqueId();
public Output<Optional<Boolean>> forceDestroy();
public Output<Optional<String>> path();
public Output<Optional<String>> permissionsBoundary();
public Output<Optional<Map<String, String>>> tags();
public Output<Map<String, String>> tagsAll();
}
public class UserArgs extends com.pulumi.resources.ResourceArgs {
public static Builder builder() { return new Builder(); }
public static final class Builder {
public Builder name(Output<String> name);
public Builder path(Output<String> path);
public Builder permissionsBoundary(Output<String> permissionsBoundary);
public Builder forceDestroy(Output<Boolean> forceDestroy);
public Builder tags(Output<Map<String, String>> tags);
public UserArgs build();
}
}Attach managed policies to IAM roles.
@ResourceType(type="aws:iam/rolePolicyAttachment:RolePolicyAttachment")
public class RolePolicyAttachment extends com.pulumi.resources.CustomResource {
public RolePolicyAttachment(String name, RolePolicyAttachmentArgs args);
public RolePolicyAttachment(String name, RolePolicyAttachmentArgs args, @Nullable CustomResourceOptions options);
// Exported Properties
public Output<String> id();
public Output<String> role();
public Output<String> policyArn();
}
public class RolePolicyAttachmentArgs extends com.pulumi.resources.ResourceArgs {
public static Builder builder() { return new Builder(); }
public static final class Builder {
// Required
public Builder role(Output<String> role);
public Builder policyArn(Output<String> policyArn);
public RolePolicyAttachmentArgs build();
}
}Create and manage IAM access keys.
@ResourceType(type="aws:iam/accessKey:AccessKey")
public class AccessKey extends com.pulumi.resources.CustomResource {
public AccessKey(String name, AccessKeyArgs args);
public AccessKey(String name, AccessKeyArgs args, @Nullable CustomResourceOptions options);
// Exported Properties
public Output<String> id();
public Output<String> user();
public Output<String> createDate();
public Output<String> secret();
public Output<String> encryptedSecret();
public Output<String> encryptedSesSmtpPasswordV4();
public Output<String> keyFingerprint();
public Output<String> sesSmtpPasswordV4();
public Output<Optional<String>> status();
public Output<Optional<String>> pgpKey();
}
public class AccessKeyArgs extends com.pulumi.resources.ResourceArgs {
public static Builder builder() { return new Builder(); }
public static final class Builder {
// Required
public Builder user(Output<String> user);
// Optional
public Builder pgpKey(Output<String> pgpKey);
public Builder status(Output<String> status);
public AccessKeyArgs build();
}
}Create and manage IAM instance profiles for EC2.
@ResourceType(type="aws:iam/instanceProfile:InstanceProfile")
public class InstanceProfile extends com.pulumi.resources.CustomResource {
public InstanceProfile(String name);
public InstanceProfile(String name, @Nullable InstanceProfileArgs args);
public InstanceProfile(String name, @Nullable InstanceProfileArgs args, @Nullable CustomResourceOptions options);
// Exported Properties
public Output<String> id();
public Output<String> arn();
public Output<String> name();
public Output<String> namePrefix();
public Output<String> createDate();
public Output<Optional<String>> path();
public Output<Optional<String>> role();
public Output<Optional<List<String>>> roles();
public Output<Optional<Map<String, String>>> tags();
public Output<Map<String, String>> tagsAll();
public Output<String> uniqueId();
}
public class InstanceProfileArgs extends com.pulumi.resources.ResourceArgs {
public static Builder builder() { return new Builder(); }
public static final class Builder {
public Builder name(Output<String> name);
public Builder namePrefix(Output<String> namePrefix);
public Builder path(Output<String> path);
public Builder role(Output<String> role);
public Builder roles(Output<List<String>> roles);
public Builder tags(Output<Map<String, String>> tags);
public InstanceProfileArgs build();
}
}