Example usage for com.amazonaws.services.identitymanagement AmazonIdentityManagementClient listGroups

List of usage examples for com.amazonaws.services.identitymanagement AmazonIdentityManagementClient listGroups

Introduction

In this page you can find the example usage for com.amazonaws.services.identitymanagement AmazonIdentityManagementClient listGroups.

Prototype

@Override
    public ListGroupsResult listGroups() 

Source Link

Usage

From source file:com.denismo.aws.iam.LDAPIAMPoller.java

License:Apache License

private void populateGroupsFromIAM() {
    AmazonIdentityManagementClient client = new AmazonIdentityManagementClient(credentials);

    try {//  w  w w . j a v a2 s .c o  m
        ListGroupsResult res = client.listGroups();
        Set<String> groupNames = new HashSet<String>();
        while (true) {
            for (Group group : res.getGroups()) {
                try {
                    addGroup(group);
                    groupNames.add(group.getGroupName());
                    LOG.info("Added group " + group.getGroupName() + " at " + groupsDN);
                } catch (Throwable e) {
                    LOG.error("Exception processing group " + group.getGroupName(), e);
                }
            }
            if (res.isTruncated()) {
                res = client.listGroups(new ListGroupsRequest().withMarker(res.getMarker()));
            } else {
                break;
            }
        }
        removeDeletedGroups(groupNames);
    } finally {
        client.shutdown();
    }
}