in aws-customerprofiles-objecttype/src/main/java/software/amazon/customerprofiles/objecttype/ListHandler.java [33:83]
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 model = request.getDesiredResourceState();
final ListProfileObjectTypesRequest listProfileObjectTypesRequest = ListProfileObjectTypesRequest.builder()
.domainName(model.getDomainName())
.nextToken(request.getNextToken())
.build();
final ListProfileObjectTypesResponse listProfileObjectTypesResponse;
try {
listProfileObjectTypesResponse = proxy.injectCredentialsAndInvokeV2(listProfileObjectTypesRequest, client::listProfileObjectTypes);
logger.log(String.format("List ProfileObjectTypes with domainName = %s",
model.getDomainName()));
} 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<>();
listProfileObjectTypesResponse.items().forEach(res -> {
ResourceModel responseModel = ResourceModel.builder()
.domainName(listProfileObjectTypesRequest.domainName())
.createdAt(res.createdAt().toString())
.description(res.description())
.lastUpdatedAt(res.lastUpdatedAt().toString())
.objectTypeName(res.objectTypeName())
.tags(Translator.mapTagsToList(res.tags()))
.build();
responseModels.add(responseModel);
});
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModels(responseModels)
.status(OperationStatus.SUCCESS)
.nextToken(listProfileObjectTypesRequest.nextToken())
.build();
}