in aws-customerprofiles-integration/src/main/java/software/amazon/customerprofiles/integration/ListHandler.java [33:82]
public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final Logger logger) {
if (this.client == null) {
this.client = ClientBuilder.getClient();
}
final ResourceModel requestModel = request.getDesiredResourceState();
final ListIntegrationsRequest listIntegrationsRequest = ListIntegrationsRequest.builder()
.domainName(requestModel.getDomainName())
.nextToken(request.getNextToken())
.build();
final ListIntegrationsResponse listIntegrationsResponse;
try {
listIntegrationsResponse = proxy.injectCredentialsAndInvokeV2(listIntegrationsRequest, client::listIntegrations);
} catch (BadRequestException e) {
throw new CfnInvalidRequestException(e);
} catch (InternalServerException e) {
throw new CfnServiceInternalErrorException(e);
} catch (ResourceNotFoundException e) {
throw new CfnNotFoundException(e);
} catch (Exception e) {
throw new CfnGeneralServiceException(e);
}
List<ResourceModel> responseModels = new ArrayList<>();
listIntegrationsResponse.items().forEach(res -> {
ResourceModel responseModel = ResourceModel.builder()
.createdAt(res.createdAt().toString())
.domainName(res.domainName())
.lastUpdatedAt(res.lastUpdatedAt().toString())
.objectTypeName(res.objectTypeName())
.tags(Translator.mapTagsToList(res.tags()))
.uri(res.uri())
.objectTypeNames(Translator.mapObjectTypeNamesToList(res.objectTypeNames()))
.build();
responseModels.add(responseModel);
});
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModels(responseModels)
.status(OperationStatus.SUCCESS)
.nextToken(listIntegrationsResponse.nextToken())
.build();
}