in aws-logs-querydefinition/src/main/java/software/amazon/logs/querydefinition/UpdateHandler.java [19:48]
public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final Logger logger) {
final ResourceModel model = request.getDesiredResourceState();
if (model.getQueryDefinitionId() == null) {
return ProgressEvent.defaultFailureHandler(new CfnInvalidRequestException(ResourceModel.TYPE_NAME, new NullPointerException()), HandlerErrorCode.InvalidRequest);
}
try {
proxy.injectCredentialsAndInvokeV2(Translator.translateToCreateRequest(model), ClientBuilder.getLogsClient()::putQueryDefinition);
} catch (final InvalidParameterException e) {
throw new CfnInvalidRequestException(ResourceModel.TYPE_NAME, e);
} catch (final ResourceNotFoundException e) {
throw new CfnNotFoundException(ResourceModel.TYPE_NAME, model.getPrimaryIdentifier().toString());
} catch (final ServiceUnavailableException e) {
throw new CfnServiceInternalErrorException(ResourceModel.TYPE_NAME, e);
}
logger.log(String.format("%s [%s] successfully updated.", ResourceModel.TYPE_NAME, model.getName()));
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModel(model)
.status(OperationStatus.SUCCESS)
.build();
}