in aws-iot-fleetmetric/src/main/java/com/amazonaws/iot/fleetmetric/ListHandler.java [26:59]
public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
AmazonWebServicesClientProxy proxy,
ResourceHandlerRequest<ResourceModel> request,
CallbackContext callbackContext,
Logger logger) {
ListFleetMetricsRequest listFleetMetricsRequest = ListFleetMetricsRequest.builder()
.nextToken(request.getNextToken())
.build();
ListFleetMetricsResponse listFleetMetricsResponse;
try {
listFleetMetricsResponse = proxy.injectCredentialsAndInvokeV2(
listFleetMetricsRequest, iotClient::listFleetMetrics);
} catch (RuntimeException e) {
return Translator.translateExceptionToProgressEvent(request.getDesiredResourceState(), e, logger);
}
List<ResourceModel> models = listFleetMetricsResponse.fleetMetrics().stream()
.map(fleetMetricNameAndArn -> ResourceModel.builder()
.metricName(fleetMetricNameAndArn.metricName())
.metricArn(fleetMetricNameAndArn.metricArn())
.build())
.collect(Collectors.toList());
logger.log(String.format("Listed %s resources for accountId %s.",
ResourceModel.TYPE_NAME, request.getAwsAccountId()));
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModels(models)
.nextToken(listFleetMetricsResponse.nextToken())
.status(OperationStatus.SUCCESS)
.build();
}