class_docstr: Interact with dbt Cloud using the V2 API.
  
  :param dbt_cloud_conn_id: The ID of the :ref:`dbt Cloud connection <howto/connection:dbt-cloud>`.
class_docstr_tok: ["Interact","with","dbt","Cloud","using","the","V2","API",".",":","param","dbt_cloud_conn_id",":","The","ID","of","the",":","ref",":","`","dbt","Cloud","connection","<","howto\/connection",":","dbt-cloud",">","`","."]
docstr: Retrieve a list of the available artifact files generated for a completed run of a dbt Cloud job.
  
  By default, this returns artifacts from the last step in the run. To
  list artifacts from other steps in the run, use the ``step`` parameter.
  
  :param run_id: The ID of a dbt Cloud job run.
  :param path: The file path related to the artifact file. Paths are rooted at the target/ directory.
      Use "manifest.json", "catalog.json", or "run_results.json" to download dbt-generated artifacts
      for the run.
  :param account_id: Optional. The ID of a dbt Cloud account.
  :param step: Optional. The index of the Step in the Run to query for artifacts. The first step in the
      run has the index 1. If the step parameter is omitted, artifacts for the last step in the run will
      be returned.
  :return: The request response.
docstr_tok: ["Retrieve","a","list","of","the","available","artifact","files","generated","for","a","completed","run","of","a","dbt","Cloud","job",".","By","default",",","this","returns","artifacts","from","the","last","step","in","the","run",".","To","list","artifacts","from","other","steps","in","the","run",",","use","the","``","step","``","parameter",".",":","param","run_id",":","The","ID","of","a","dbt","Cloud","job","run",".",":","param","path",":","The","file","path","related","to","the","artifact","file",".","Paths","are","rooted","at","the","target\/","directory",".","Use","``","manifest.json","''",",","``","catalog.json","''",",","or","``","run_results.json","''","to","download","dbt-generated","artifacts","for","the","run",".",":","param","account_id",":","Optional",".","The","ID","of","a","dbt","Cloud","account",".",":","param","step",":","Optional",".","The","index","of","the","Step","in","the","Run","to","query","for","artifacts",".","The","first","step","in","the","run","has","the","index","1",".","If","the","step","parameter","is","omitted",",","artifacts","for","the","last","step","in","the","run","will","be","returned",".",":","return",":","The","request","response","."]
code: def get_job_run_artifact(
      self,
      run_id: int,
      path: str,
      account_id: int | None = None,
      step: int | None = None,
  ) -> Response:
      """
      Retrieve a list of the available artifact files generated for a completed run of a dbt Cloud job.
  
      By default, this returns artifacts from the last step in the run. To
      list artifacts from other steps in the run, use the ``step`` parameter.
  
      :param run_id: The ID of a dbt Cloud job run.
      :param path: The file path related to the artifact file. Paths are rooted at the target/ directory.
          Use "manifest.json", "catalog.json", or "run_results.json" to download dbt-generated artifacts
          for the run.
      :param account_id: Optional. The ID of a dbt Cloud account.
      :param step: Optional. The index of the Step in the Run to query for artifacts. The first step in the
          run has the index 1. If the step parameter is omitted, artifacts for the last step in the run will
          be returned.
      :return: The request response.
      """
      return self._run_and_get_response(
          endpoint=f"{account_id}/runs/{run_id}/artifacts/{path}",
          payload={"step": step},
      )
  
imports: from __future__ import annotations
  import asyncio
  import json
  import time
  from enum import Enum
  from functools import cached_property, wraps
  from inspect import signature
  from typing import TYPE_CHECKING, Any, Callable, Sequence, Set, TypeVar, cast
  import aiohttp
  from aiohttp import ClientResponseError
  from asgiref.sync import sync_to_async
  from requests.auth import AuthBase
  from requests.sessions import Session
  from airflow.exceptions import AirflowException
  from airflow.providers.http.hooks.http import HttpHook
  from airflow.typing_compat import TypedDict
label_desc: Use image node_id 22 for calling the DbtCloudHook obj's underlying member method code with example usage: obj.get_job_run_artifact(run_id, path, account_id, step) and returns: self