UserPoolUser ​
The UserPoolUser resource allows you to manage AWS Cognito UserPoolUsers that represent individual users in your Cognito User Pool.
Minimal Example ​
Create a basic UserPoolUser with required properties and one optional property:
ts
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" }
]
});
Advanced Configuration ​
Create a UserPoolUser with additional configurations including validation data and message action:
ts
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
});
User with Alias Creation ​
Create a UserPoolUser with alias creation enabled for seamless sign-in:
ts
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
});
User with Custom Client Metadata ​
Create a UserPoolUser while passing client metadata for custom handling in your application:
ts
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"
}
});