@Override
    public boolean delete(ApiClient apiClient, String name, String namespace, boolean wait) throws HyscaleException {
        ActivityContext activityContext = new ActivityContext(DeployerActivity.DELETING_CONFIG_MAP);
        WorkflowLogger.startActivity(activityContext);
        try {
            delete(apiClient, name, namespace);
            List<String> configmapList = Lists.newArrayList();
            configmapList.add(name);
            if (wait) {
                waitForResourceDeletion(apiClient, configmapList, namespace, activityContext);
            }
        } catch (ApiException e) {
            if (e.getCode() == 404) {
                WorkflowLogger.endActivity(activityContext, Status.NOT_FOUND);
                return false;
            }
            HyscaleException ex = new HyscaleException(e, DeployerErrorCodes.FAILED_TO_DELETE_RESOURCE,
                    ExceptionHelper.getExceptionMessage(getKind(), e, ResourceOperation.DELETE));
            LOGGER.error("Error while deleting ConfigMap {} in namespace {}, error {}", name, namespace, ex.toString());
            WorkflowLogger.endActivity(activityContext, Status.FAILED);
            throw ex;
        }
        LOGGER.info("Deleted ConfigMap {} in namespace {}", name, namespace);
        WorkflowLogger.endActivity(activityContext, Status.DONE);
        return true;
    }
Fetch existing resource, create diff, call patch api with diff
deployer/deployer-services/src/main/java/io/hyscale/deployer/services/handler/impl/V1ConfigMapHandler.java