code: /*
   * Copyright (c) 2022 Airbyte, Inc., all rights reserved.
   */
  
  package io.airbyte.scheduler.persistence.job_error_reporter;
  
  import edu.umd.cs.findbugs.annotations.Nullable;
  import io.airbyte.config.FailureReason;
  import io.airbyte.config.StandardWorkspace;
  import java.util.Map;
  
  /**
   * A generic interface for a client that reports errors
   */
  public interface JobErrorReportingClient {
  
    /**
     * Report a job failure reason
     */
    void reportJobFailureReason(@Nullable StandardWorkspace workspace,
                                final FailureReason reason,
                                final String dockerImage,
                                Map<String, String> metadata);
  
  }
  