Example usage for com.amazonaws.services.ecs AmazonECS listServices

List of usage examples for com.amazonaws.services.ecs AmazonECS listServices

Introduction

In this page you can find the example usage for com.amazonaws.services.ecs AmazonECS listServices.

Prototype

ListServicesResult listServices(ListServicesRequest listServicesRequest);

Source Link

Document

Lists the services that are running in a specified cluster.

Usage

From source file:com.netflix.spinnaker.clouddriver.ecs.deploy.ops.CreateServerGroupAtomicOperation.java

License:Apache License

private String inferNextServerGroupVersion(AmazonECS ecs) {
    int latestVersion = 0;
    String familyName = getFamilyName();

    String nextToken = null;/* w ww.  j  a v  a2  s  .co  m*/
    do {
        ListServicesRequest request = new ListServicesRequest().withCluster(description.getEcsClusterName());
        if (nextToken != null) {
            request.setNextToken(nextToken);
        }

        ListServicesResult result = ecs.listServices(request);
        for (String serviceArn : result.getServiceArns()) {
            if (serviceArn.contains(familyName)) {
                int currentVersion;
                try {
                    String versionString = StringUtils.substringAfterLast(serviceArn, "-").replaceAll("v", "");
                    currentVersion = Integer.parseInt(versionString);
                } catch (NumberFormatException e) {
                    currentVersion = 0;
                }
                latestVersion = Math.max(currentVersion, latestVersion);
            }
        }

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

    return String.format("v%04d", (latestVersion + 1));
}

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

License:Apache License

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

    for (String cluster : clusters) {
        String nextToken = null;/*  w  ww.ja v  a2s. co m*/
        do {
            ListServicesRequest listServicesRequest = new ListServicesRequest().withCluster(cluster);
            if (nextToken != null) {
                listServicesRequest.setNextToken(nextToken);
            }
            ListServicesResult listServicesResult = ecs.listServices(listServicesRequest);
            List<String> serviceArns = listServicesResult.getServiceArns();
            if (serviceArns.size() == 0) {
                continue;
            }

            List<Service> services = ecs
                    .describeServices(
                            new DescribeServicesRequest().withCluster(cluster).withServices(serviceArns))
                    .getServices();
            serviceList.addAll(services);

            nextToken = listServicesResult.getNextToken();
        } while (nextToken != null && nextToken.length() != 0);
    }
    return serviceList;
}