in aws-logs-destination/src/main/java/software/amazon/logs/destination/BaseHandlerStd.java [31:62]
protected abstract ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy, final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext, final ProxyClient<CloudWatchLogsClient> proxyClient,
final Logger logger);
protected CallChain.Completed<DescribeDestinationsRequest, DescribeDestinationsResponse, CloudWatchLogsClient, ResourceModel, CallbackContext> preCreateCheck(
final AmazonWebServicesClientProxy proxy, final CallbackContext callbackContext,
final ProxyClient<CloudWatchLogsClient> proxyClient, final ResourceModel model) {
return proxy.initiate("AWS-Logs-Destination::Create::PreExistenceCheck", proxyClient, model, callbackContext)
.translateToServiceRequest(Translator::translateToReadRequest)
.makeServiceCall((awsRequest, sdkProxyClient) -> sdkProxyClient.injectCredentialsAndInvokeV2(awsRequest,
sdkProxyClient.client()::describeDestinations))
.handleError((request, exception, client, model1, context1) -> {
ProgressEvent<ResourceModel, CallbackContext> progress;
if (exception instanceof InvalidParameterException) {
progress = ProgressEvent.failed(model, callbackContext, HandlerErrorCode.InvalidRequest,
exception.getMessage());
} else if (exception instanceof ServiceUnavailableException) {
progress = ProgressEvent.failed(model, callbackContext, HandlerErrorCode.ServiceInternalError,
exception.getMessage());
} else if (exception instanceof ResourceNotFoundException) {
progress = ProgressEvent.progress(model, callbackContext);
} else if (exception instanceof CloudWatchLogsException) {
progress =
ProgressEvent.failed(model, callbackContext, HandlerErrorCode.GeneralServiceException,
exception.getMessage());
} else {
throw exception;
}
return progress;
});
}