######################################################################################################
#                                 Auto-generated Metaflow stub file                                  #
# MF version: 2.17.3                                                                                 #
# Generated on 2025-08-21T22:44:50.409402                                                            #
######################################################################################################

from __future__ import annotations

import metaflow
import typing
if typing.TYPE_CHECKING:
    import metaflow.exception

from ....exception import MetaflowException as MetaflowException

AWS_SANDBOX_ENABLED: bool

class BatchClient(object, metaclass=type):
    def __init__(self):
        ...
    def active_job_queues(self):
        ...
    def unfinished_jobs(self):
        ...
    def describe_jobs(self, job_ids):
        ...
    def describe_job_queue(self, job_queue):
        ...
    def job(self):
        ...
    def attach_job(self, job_id):
        ...
    def region(self):
        ...
    ...

class BatchJobException(metaflow.exception.MetaflowException, metaclass=type):
    ...

class BatchJob(object, metaclass=type):
    def __init__(self, client):
        ...
    def execute(self):
        ...
    def job_def(self, image, iam_role, job_queue, execution_role, shared_memory, max_swap, swappiness, inferentia, efa, memory, host_volumes, efs_volumes, use_tmpfs, tmpfs_tempdir, tmpfs_size, tmpfs_path, num_parallel, ephemeral_storage, log_driver, log_options):
        ...
    def job_name(self, job_name):
        ...
    def job_queue(self, job_queue):
        ...
    def image(self, image):
        ...
    def task_id(self, task_id):
        ...
    def iam_role(self, iam_role):
        ...
    def execution_role(self, execution_role):
        ...
    def shared_memory(self, shared_memory):
        ...
    def max_swap(self, max_swap):
        ...
    def swappiness(self, swappiness):
        ...
    def inferentia(self, inferentia):
        ...
    def efa(self, efa):
        ...
    def command(self, command):
        ...
    def cpu(self, cpu):
        ...
    def memory(self, mem):
        ...
    def gpu(self, gpu):
        ...
    def environment_variable(self, name, value):
        ...
    def timeout_in_secs(self, timeout_in_secs):
        ...
    def tag(self, key, value):
        ...
    def parameter(self, key, value):
        ...
    def attempts(self, attempts):
        ...
    ...

class Throttle(object, metaclass=type):
    def __init__(self, delta_in_secs = 1, num_tries = 20):
        ...
    def __call__(self, func):
        ...
    ...

class TriableException(Exception, metaclass=type):
    def __init__(self, ex):
        ...
    ...

class RunningJob(object, metaclass=type):
    def __init__(self, id, client):
        ...
    def __repr__(self):
        ...
    def _update(*args, **kwargs):
        ...
    def update(self):
        ...
    @property
    def id(self):
        ...
    @property
    def info(self):
        ...
    @property
    def job_name(self):
        ...
    @property
    def job_queue(self):
        ...
    @property
    def status(self):
        ...
    @property
    def status_reason(self):
        ...
    @property
    def created_at(self):
        ...
    @property
    def stopped_at(self):
        ...
    @property
    def is_done(self):
        ...
    @property
    def is_running(self):
        ...
    @property
    def is_successful(self):
        ...
    @property
    def is_crashed(self):
        ...
    @property
    def reason(self):
        ...
    @property
    def status_code(self):
        ...
    def kill(self):
        ...
    ...

