in aws-cloudformation-resourcedefaultversion/src/main/java/software/amazon/cloudformation/resourcedefaultversion/ReadHandler.java [17:43]
public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final ProxyClient<CloudFormationClient> proxyClient,
final Logger logger) {
final ResourceModel resourceModel = request.getDesiredResourceState();
logger.log(String.format("Reading [TypeVersionArn: %s | Type: %s | Version: %s]",
resourceModel.getTypeVersionArn(), resourceModel.getTypeName(), resourceModel.getVersionId()));
return proxy.initiate("AWS-CloudFormation-ResourceDefaultVersion::Read", proxyClient, resourceModel, callbackContext)
.translateToServiceRequest(Translator::translateToReadRequest)
.makeServiceCall((awsRequest, sdkProxyClient) -> sdkProxyClient.injectCredentialsAndInvokeV2(awsRequest, sdkProxyClient.client()::describeType))
.handleError((describeTypeRequest, exception, clientProxy, resourcemodel, context) -> {
if(exception instanceof TypeNotFoundException) {
logger.log(String.format("Failed to Read the resource [%s] as it cannot be found %s", resourcemodel.getArn(), Arrays.toString(exception.getStackTrace())));
throw new CfnNotFoundException(exception);
}
else {
logger.log(String.format("Failed to set the default version of the resource [%s] and the exception is [%s]", resourcemodel.getArn(), Arrays.toString(exception.getStackTrace())));
throw exception;
}
})
.done(awsResponse -> ProgressEvent.defaultSuccessHandler(Translator.translateFromReadResponse(awsResponse)));
}