package com.amazonaws.tvm.identity.admin;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import com.amazonaws.services.dynamodbv2.model.AttributeValue;
import com.amazonaws.services.dynamodbv2.model.ScanRequest;
import com.amazonaws.services.dynamodbv2.model.ScanResult;
public class ListUsers extends BaseAdmin {
public static void main(String[] args) {
String awsAccessKeyID = System.getProperty(AWSAccessKeyID);
String awsSecretKey = System.getProperty(AWSSecretKey);
String userTable = System.getProperty("UserTable");
if (awsAccessKeyID == null || awsSecretKey == null || userTable == null) {
System.err
.println("Usage:java CountUsers -DAWS_ACCESS_KEY_ID=<access_key> -DAWS_SECRET_KEY=<secret_key> -DUserTable=<table_name>");
return;
}
ListUsers obj = new ListUsers(awsAccessKeyID, awsSecretKey);
if (!obj.doesTableExist(userTable)) {
System.err.println("Invalid user table : " + userTable);
return;
}
for (String username : obj.listUsers(userTable)) {
System.out.println(username);
}
}
public ListUsers(String awsAccessKeyID, String awsSecretKey) {
super(awsAccessKeyID, awsSecretKey);
}
/**
* Returns the list of usernames stored in the user table.
*/
public List<String> listUsers(String userTable) {
List<String> users = new ArrayList<String>(1000);
ScanResult result = ddb.scan(new ScanRequest().withTableName(userTable).withLimit(1000));
for (Map<String, AttributeValue> item : result.getItems()) {
users.add(item.get("username").getS());
}
return users;
}
}