Example usage for com.amazonaws.services.ecs.model ListClustersRequest ListClustersRequest

List of usage examples for com.amazonaws.services.ecs.model ListClustersRequest ListClustersRequest

Introduction

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

Prototype

ListClustersRequest

Source Link

Usage

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

License:Apache License

/**
 * Provides a set of ECS cluster ARNs.//w  w  w. j av a  2 s.c  o  m
 * Either uses the cache, or queries the ECS service.
 * @param ecs The AmazonECS client to use for querying.
 * @param providerCache The ProviderCache to retrieve clusters from.
 * @return A set of ECS cluster ARNs.
 */
Set<String> getClusters(AmazonECS ecs, ProviderCache providerCache) {
    Set<String> clusters = providerCache.getAll(ECS_CLUSTERS.toString()).stream()
            .filter(cacheData -> cacheData.getAttributes().get("region").equals(region)
                    && cacheData.getAttributes().get("account").equals(accountName))
            .map(cacheData -> (String) cacheData.getAttributes().get("clusterArn")).collect(Collectors.toSet());

    if (clusters == null || clusters.isEmpty()) {
        clusters = new HashSet<>();
        String nextToken = null;
        do {
            ListClustersRequest listClustersRequest = new ListClustersRequest();
            if (nextToken != null) {
                listClustersRequest.setNextToken(nextToken);
            }
            ListClustersResult listClustersResult = ecs.listClusters(listClustersRequest);
            clusters.addAll(listClustersResult.getClusterArns());

            nextToken = listClustersResult.getNextToken();
        } while (nextToken != null && nextToken.length() != 0);
    }

    return clusters;
}

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

License:Apache License

@Override
protected List<String> getItems(AmazonECS ecs, ProviderCache providerCache) {
    List<String> allClusterArns = new LinkedList<>();
    String nextToken = null;/* ww  w .jav  a  2s .com*/
    do {
        ListClustersRequest listClustersRequest = new ListClustersRequest();
        if (nextToken != null) {
            listClustersRequest.setNextToken(nextToken);
        }

        ListClustersResult listClustersResult = ecs.listClusters(listClustersRequest);
        allClusterArns.addAll(listClustersResult.getClusterArns());

        nextToken = listClustersResult.getNextToken();
    } while (nextToken != null && nextToken.length() != 0);

    return allClusterArns;
}