import os, sys import boto3 import json session = boto3.Session() cognito = session.client("cognito-idp") def list_users(): """ >>> list_users() [{'username': 'abc', 'status': 'CONFIRMED', 'custom:attribute': 'yes', ...}] """ paginator = cognito.get_paginator("list_users") pages = paginator.paginate(UserPoolId=sys.argv[1]) # return [str(u) for r in pages for u in r.get("Users", [])] return [ dict( [ ("username", u["Username"]), ("status", u["UserStatus"]), ("enabled", u["Enabled"]), ] + [(x["Name"], x["Value"]) for x in u["Attributes"]] ) for r in pages for u in r.get("Users", []) ] print( "\n".join( [ ", ".join([str(v) for v in u.values()]) for u in list_users() if u.get("custom:team") == "rcaus" ] ) )