public static String getExceptionMessage(String resourceKind, ApiException ex, ResourceOperation operation) {
        StringBuilder exceptionMsg = new StringBuilder();
        exceptionMsg.append(resourceKind).append(ToolConstants.SPACE);
        if (operation != null) {
            exceptionMsg.append(operation.getOperation()).append(ToolConstants.SPACE);
        }
        exceptionMsg.append(FAILED_WITH_MESSAGE);
        exceptionMsg.append(getCode(ex)).append(CAUSE_MESSAGE);
        String responseMessage = getResponseMessage(ex);
        if (StringUtils.isNotBlank(responseMessage)) {
            exceptionMsg.append(responseMessage);
        }
        return exceptionMsg.toString();
    }
@param resourceKind
@param ex
@param operation
@return String - resource kind, fail message, ApiException code, cause message
deployer/deployer-services/src/main/java/io/hyscale/deployer/services/util/ExceptionHelper.java