package com.amazonaws.eclipse.opsworks;
import java.util.LinkedList;
import java.util.List;
import com.amazonaws.services.opsworks.AWSOpsWorks;
import com.amazonaws.services.opsworks.model.App;
import com.amazonaws.services.opsworks.model.DescribeAppsRequest;
import com.amazonaws.services.opsworks.model.DescribeInstancesRequest;
import com.amazonaws.services.opsworks.model.DescribeLayersRequest;
import com.amazonaws.services.opsworks.model.DescribeStacksRequest;
import com.amazonaws.services.opsworks.model.Instance;
import com.amazonaws.services.opsworks.model.Layer;
import com.amazonaws.services.opsworks.model.Stack;
public class ServiceAPIUtils {
public static List<Stack> getAllStacks(AWSOpsWorks client) {
return client.describeStacks(new DescribeStacksRequest())
.getStacks();
}
public static List<Layer> getAllLayersInStack(AWSOpsWorks client, String stackId) {
return client.describeLayers(
new DescribeLayersRequest().withStackId(stackId))
.getLayers();
}
public static List<Instance> getAllInstancesInStack(AWSOpsWorks client, String stackId) {
return client.describeInstances(
new DescribeInstancesRequest().withStackId(stackId))
.getInstances();
}
public static List<Instance> getAllInstancesInLayer(AWSOpsWorks client, String layerId) {
return client.describeInstances(
new DescribeInstancesRequest().withLayerId(layerId))
.getInstances();
}
public static List<App> getAllAppsInStack(AWSOpsWorks client, String stackId) {
return client.describeApps(
new DescribeAppsRequest().withStackId(stackId))
.getApps();
}
public static List<App> getAllJavaAppsInStack(AWSOpsWorks client, String stackId) {
List<App> allJavaApps = new LinkedList<App>();
for (App app : getAllAppsInStack(client, stackId)) {
if ("java".equalsIgnoreCase(app.getType())) {
allJavaApps.add(app);
}
}
return allJavaApps;
}
}