Example usage for com.amazonaws.services.ecs.model ListTasksRequest setNextToken

List of usage examples for com.amazonaws.services.ecs.model ListTasksRequest setNextToken

Introduction

In this page you can find the example usage for com.amazonaws.services.ecs.model ListTasksRequest setNextToken.

Prototype


public void setNextToken(String nextToken) 

Source Link

Document

The nextToken value returned from a ListTasks request indicating that more results are available to fulfill the request and further calls will be needed.

Usage

From source file:com.netflix.spinnaker.clouddriver.ecs.provider.agent.TaskCachingAgent.java

License:Apache License

@Override
protected List<Task> getItems(AmazonECS ecs, ProviderCache providerCache) {
    List<Task> taskList = new LinkedList<>();
    Set<String> clusters = getClusters(ecs, providerCache);

    for (String cluster : clusters) {
        String nextToken = null;//from w  ww.  j  a  v  a  2s  . c  om
        do {
            ListTasksRequest listTasksRequest = new ListTasksRequest().withCluster(cluster);
            if (nextToken != null) {
                listTasksRequest.setNextToken(nextToken);
            }
            ListTasksResult listTasksResult = ecs.listTasks(listTasksRequest);
            List<String> taskArns = listTasksResult.getTaskArns();
            if (taskArns.size() == 0) {
                continue;
            }
            List<Task> tasks = ecs
                    .describeTasks(new DescribeTasksRequest().withCluster(cluster).withTasks(taskArns))
                    .getTasks();
            taskList.addAll(tasks);
            nextToken = listTasksResult.getNextToken();
        } while (nextToken != null && nextToken.length() != 0);
    }
    return taskList;
}