Skip to content

UserPoolGroup ​

The UserPoolGroup resource lets you manage AWS Cognito UserPoolGroups to organize users and control their access to resources.

Minimal Example ​

Create a basic user pool group with required properties and a common optional property:

ts
import AWS from "alchemy/aws/control";

const userPoolGroup = await AWS.Cognito.UserPoolGroup("myUserPoolGroup", {
  UserPoolId: "us-west-2_aBcDeFgHi",
  GroupName: "Admins",
  Description: "Administrators group with full access"
});

Advanced Configuration ​

Configure a user pool group with a specific role and precedence:

ts
const advancedUserPoolGroup = await AWS.Cognito.UserPoolGroup("adminUserPoolGroup", {
  UserPoolId: "us-west-2_aBcDeFgHi",
  GroupName: "SuperAdmins",
  Description: "Super Administrators with elevated privileges",
  RoleArn: "arn:aws:iam::123456789012:role/Cognito_SuperAdmin_Role",
  Precedence: 1
});

Adopting Existing Resources ​

If you want to adopt an existing user pool group instead of failing when it already exists, you can set the adopt property:

ts
const adoptedUserPoolGroup = await AWS.Cognito.UserPoolGroup("existingUserPoolGroup", {
  UserPoolId: "us-west-2_aBcDeFgHi",
  GroupName: "ExistingGroup",
  adopt: true // Adopts the existing resource
});

Group Management Example ​

Demonstrate managing group members by using the RoleArn property to assign permissions:

ts
const groupWithRole = await AWS.Cognito.UserPoolGroup("roleAssignedGroup", {
  UserPoolId: "us-west-2_aBcDeFgHi",
  GroupName: "Editors",
  Description: "Editors group for content management",
  RoleArn: "arn:aws:iam::123456789012:role/Cognito_Editor_Role"
});