public ProgressEvent handleRequest()

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();
    }