in aws-customerprofiles-objecttype/src/main/java/software/amazon/customerprofiles/objecttype/ReadHandler.java [30:78]
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 GetProfileObjectTypeRequest getProfileObjectTypeRequest = GetProfileObjectTypeRequest.builder()
.domainName(model.getDomainName())
.objectTypeName(model.getObjectTypeName())
.build();
final GetProfileObjectTypeResponse getProfileObjectTypeResponse;
try {
getProfileObjectTypeResponse = proxy.injectCredentialsAndInvokeV2(getProfileObjectTypeRequest, client::getProfileObjectType);
logger.log(String.format("Get ProfileObjectType with domainName = %s, objectTypeName = %s",
model.getDomainName(), model.getObjectTypeName()));
} 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);
}
final ResourceModel responseModel = ResourceModel.builder()
.domainName(model.getDomainName())
.allowProfileCreation(getProfileObjectTypeResponse.allowProfileCreation())
.createdAt(getProfileObjectTypeResponse.createdAt().toString())
.description(getProfileObjectTypeResponse.description())
.encryptionKey(getProfileObjectTypeResponse.encryptionKey())
.expirationDays(getProfileObjectTypeResponse.expirationDays())
.fields(Translator.mapFieldsToList(getProfileObjectTypeResponse.fields()))
.keys(Translator.mapKeysToList(getProfileObjectTypeResponse.keys()))
.lastUpdatedAt(getProfileObjectTypeResponse.lastUpdatedAt().toString())
.objectTypeName(getProfileObjectTypeResponse.objectTypeName())
.tags(Translator.mapTagsToList(getProfileObjectTypeResponse.tags()))
.templateId(getProfileObjectTypeResponse.templateId())
.build();
return ProgressEvent.defaultSuccessHandler(responseModel);
}