Example usage for com.amazonaws.services.identitymanagement.model ListUsersResult isTruncated

List of usage examples for com.amazonaws.services.identitymanagement.model ListUsersResult isTruncated

Introduction

In this page you can find the example usage for com.amazonaws.services.identitymanagement.model ListUsersResult isTruncated.

Prototype

Boolean isTruncated

To view the source code for com.amazonaws.services.identitymanagement.model ListUsersResult isTruncated.

Click Source Link

Document

A flag that indicates whether there are more items to return.

Usage

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

License:Apache License

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

    try {/* www . j a  v  a2 s.  c o m*/
        ListUsersResult res = client.listUsers();
        Set<String> allUsers = new HashSet<String>();
        while (true) {
            for (User user : res.getUsers()) {
                try {
                    Collection<Group> groups = client
                            .listGroupsForUser(new ListGroupsForUserRequest(user.getUserName())).getGroups();
                    Group primaryGroup = groups.size() > 0 ? groups.iterator().next() : null;
                    if (primaryGroup == null) {
                        LOG.warn("Unable to determine primary group for " + user.getUserName());
                        continue;
                    }
                    Entry groupEntry = getExistingGroup(primaryGroup);
                    if (groupEntry == null) {
                        LOG.warn("Unable to retrieve matching group entry for group "
                                + primaryGroup.getGroupName() + " user " + user.getUserName());
                        continue;
                    }
                    addUser(user, getUserAccessKey(client, user), groupEntry);
                    updateGroups(groups, user);
                    allUsers.add(user.getUserName());
                    LOG.info("Added user " + user.getUserName());
                } catch (Throwable e) {
                    LOG.error("Exception processing user " + user.getUserName(), e);
                }
            }
            if (res.isTruncated()) {
                res = client.listUsers(new ListUsersRequest().withMarker(res.getMarker()));
            } else {
                break;
            }
        }
        removeDeletedUsers(allUsers);
    } finally {
        client.shutdown();
    }
}

From source file:com.vb.aws.services.si.iam.IamUtilsImpl.java

/**
 * This method returns all Iam users.//  w w  w . ja  v  a  2s.  c  o  m
 * @return List<User> returns all Iam users.
 * @throws AmazonClientException
 */

public List<User> getAllIamUsers() throws AmazonClientException {

    String marker = null;
    List<User> allIamUsers = new ArrayList<>();

    try {
        // Fetch all iam users.
        while (true) {

            ListUsersRequest listUsersRequest = new ListUsersRequest();
            listUsersRequest.setMarker(marker);
            ListUsersResult listUsersResult = this.iamClient.listUsers(listUsersRequest);
            allIamUsers.addAll(listUsersResult.getUsers());

            // Check the listUsersResult is truncated. This method returns users in batches of 100.
            if (listUsersResult.isTruncated()) {
                marker = listUsersResult.getMarker();
            } else {
                break;
            }
        }
    } catch (AmazonClientException e) {
        System.out.println("ERROR : fetching all iam users");
        e.printStackTrace();
        throw e;
    }

    List<String> allIamUsersName = allIamUsers.stream().map(e -> e.getUserName()).collect(Collectors.toList());
    System.out.println("INFO : Number of Iam users : " + allIamUsers.size());
    System.out.println("INFO : Iam users : " + allIamUsersName);

    return allIamUsers;
}