def list_from_aws(cls: Type["IAMGroupResourceSpec"], client: BaseClient, account_id: str, region: str) -> ListFromAWSResult: """Return a dict of dicts of the format: {'group_1_arn': {group_1_dict}, 'group_2_arn': {group_2_dict}, ...} Where the dicts represent results from list_groups.""" groups = {} paginator = client.get_paginator("list_groups") for resp in paginator.paginate(): for group in resp.get("Groups", []): resource_arn = group["Arn"] group_resp = client.get_group(GroupName=group["GroupName"]) group["Users"] = group_resp["Users"] groups[resource_arn] = group return ListFromAWSResult(resources=groups)
def get_group_users(cls: Type["IAMGroupResourceSpec"], client: BaseClient, group_name: str) -> List[Dict[str, Any]]: group_resp = client.get_group(GroupName=group_name) return group_resp["Users"]