A Data Migration driver to query/modify a cognito user pool.
The DynamoDB driver accepts the following parameters as part of its configuration:
Name | Type | Required | Description |
---|---|---|---|
region | string | Yes | The AWS Region where this user pool exists |
userPool | string | Yes | ID of the user pool to connect to |
profile | string | No | Name of the AWS profile to use |
The following configuration creates a Cognito driver that connects to a user pool in the us-east-1
stack some-stack-name
.
module.exports = {
defaultStage: "prod",
migrationDirectory: "migrations",
stages: {
prod: {
defaultParams: {
region: "us-east-1",
},
drivers: {
users: {
driver: require("dm-driver-cognito"),
params: {
userPoolDriver: {
// Use this processor to get values from CloudFormation
processor: require("dm-processor-cf"),
params: {
stack: "some-stack-name",
output: "SomeOutputName",
},
},
},
},
},
},
},
};
Creates a new user in the user pool
Name | Description |
---|---|
username | Username to be added. |
password | A temporary password |
attributes | Any other parameters that would normally be provided in AdminCreateUserRequest |
This example creates a new user for "Bill Lumbergh"
async up(context: ScriptContext, log: Logger) {
const userPool = await context.getDriver<UserPoolDriver>("userPoolDriver");
await userPool.addUser("blumbergh", "password", { UserAttributes: [
Name: "email",
Value: "blumbergh@initech.com"
]});
}
Queries for a user based on their username
Name | Description |
---|---|
username | The username to look for |
Look for the previously created user blumberg
async up(context: ScriptContext, log: Logger) {
const userPool = await context.getDriver<UserPoolDriver>("userPoolDriver");
const user = await userPool.getUser("blumbergh");
}
Removes the given username from the user pool
Name | Description |
---|---|
username | The username to delete |
Delete the previously created user blumberg
async up(context: ScriptContext, log: Logger) {
const userPool = await context.getDriver<UserPoolDriver>("userPoolDriver");
const user = await userPool.deleteUser("blumbergh");
}