Skip to content
GitHubXDiscordRSS

UserPoolUser

Learn how to create, update, and manage AWS Cognito UserPoolUsers using Alchemy Cloud Control.

The UserPoolUser resource allows you to manage AWS Cognito UserPoolUsers that represent individual users in your Cognito User Pool.

Create a basic UserPoolUser with required properties and one optional property:

import AWS from "alchemy/aws/control";
const userPoolUser = await AWS.Cognito.UserPoolUser("newUser", {
UserPoolId: "us-east-1_examplepool",
Username: "john.doe@example.com",
UserAttributes: [
{ Name: "email", Value: "john.doe@example.com" },
{ Name: "phone_number", Value: "+15555551234" }
]
});

Create a UserPoolUser with additional configurations including validation data and message action:

const advancedUserPoolUser = await AWS.Cognito.UserPoolUser("advancedUser", {
UserPoolId: "us-east-1_examplepool",
Username: "jane.doe@example.com",
UserAttributes: [
{ Name: "email", Value: "jane.doe@example.com" },
{ Name: "name", Value: "Jane Doe" }
],
ValidationData: [
{ Name: "custom:role", Value: "admin" }
],
MessageAction: "SUPPRESS" // Suppresses the welcome message
});

Create a UserPoolUser with alias creation enabled for seamless sign-in:

const aliasUser = await AWS.Cognito.UserPoolUser("aliasUser", {
UserPoolId: "us-east-1_examplepool",
Username: "alias@example.com",
UserAttributes: [
{ Name: "email", Value: "alias@example.com" },
{ Name: "preferred_username", Value: "aliasUser" }
],
ForceAliasCreation: true // Forces alias creation for the user
});

Create a UserPoolUser while passing client metadata for custom handling in your application:

const metadataUser = await AWS.Cognito.UserPoolUser("metadataUser", {
UserPoolId: "us-east-1_examplepool",
Username: "metadata@example.com",
UserAttributes: [
{ Name: "email", Value: "metadata@example.com" }
],
ClientMetadata: {
source: "signupForm",
referralCode: "REF123"
}
});