in aws-emrcontainers-virtualcluster/src/main/java/software/amazon/emrcontainers/virtualcluster/ListHandler.java [22:53]
public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final Logger logger) {
clientProxy = proxy;
emrContainersClient = AmazonEMRContainersClientBuilder.defaultClient();
ListVirtualClustersRequest listVirtualClustersRequest = new ListVirtualClustersRequest();
List<VirtualCluster> virtualClusterList = clientProxy.injectCredentialsAndInvoke(
listVirtualClustersRequest, emrContainersClient::listVirtualClusters
).getVirtualClusters();
final List<ResourceModel> models = virtualClusterList.stream()
.filter((virtualCluster -> !virtualCluster.getState().equals(VirtualClusterState.TERMINATED.toString())))
.map((virtualCluster) -> {
ResourceModel model = ResourceModel.builder()
.arn(virtualCluster.getArn())
.containerProvider(Translator.translate(virtualCluster.getContainerProvider()))
.id(virtualCluster.getId())
.name(virtualCluster.getName())
.tags(Translator.toTagSet(virtualCluster.getTags()))
.build();
return model;
}).collect(Collectors.toList());
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModels(models)
.status(OperationStatus.SUCCESS)
.build();
}