in aws-databrew-recipe/src/main/java/software/amazon/databrew/recipe/ReadHandler.java [19:54]
public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final Logger logger) {
final ResourceModel model = request.getDesiredResourceState();
final String recipeName = model.getName();
final DataBrewClient databrewClient = ClientBuilder.getClient();
final DescribeRecipeRequest describeRecipeRequest = DescribeRecipeRequest.builder()
.name(recipeName)
.recipeVersion(LATEST_WORKING)
.build();
final DescribeRecipeResponse describeRecipeResponse;
try {
describeRecipeResponse = proxy.injectCredentialsAndInvokeV2(describeRecipeRequest, databrewClient::describeRecipe);
logger.log(String.format("%s [%s] Read Successfully", ResourceModel.TYPE_NAME, recipeName));
final ResourceModel resultModel = ModelHelper.constructModel(describeRecipeResponse);
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModel(resultModel)
.status(OperationStatus.SUCCESS)
.build();
} catch (ResourceNotFoundException ex) {
logger.log(String.format("%s [%s] Does Not Exist", ResourceModel.TYPE_NAME, recipeName));
return ProgressEvent.defaultFailureHandler(ex, HandlerErrorCode.NotFound);
} catch (ValidationException ex) {
logger.log(String.format("%s [%s] Invalid Parameter", ResourceModel.TYPE_NAME, recipeName));
return ProgressEvent.defaultFailureHandler(ex, HandlerErrorCode.InvalidRequest);
} catch (DataBrewException ex) {
logger.log(String.format("%s [%s] Read Failed", ResourceModel.TYPE_NAME, recipeName));
return ProgressEvent.defaultFailureHandler(ex, HandlerErrorCode.ServiceInternalError);
}
}