"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""

import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import sys
import typing

if sys.version_info >= (3, 10):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing.final
class Job(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    CONFIG_FIELD_NUMBER: builtins.int
    AMMO_FIELD_NUMBER: builtins.int
    LOGGING_LOG_GROUP_ID_FIELD_NUMBER: builtins.int
    TEST_DATA_FIELD_NUMBER: builtins.int
    DATA_PAYLOAD_FIELD_NUMBER: builtins.int
    ARTIFACT_UPLOAD_SETTINGS_FIELD_NUMBER: builtins.int
    id: builtins.str
    config: builtins.str
    logging_log_group_id: builtins.str
    @property
    def ammo(self) -> global___File: ...
    @property
    def test_data(self) -> global___StorageObject: ...
    @property
    def data_payload(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TestDataEntry]: ...
    @property
    def artifact_upload_settings(self) -> global___TestArtifactUploadSettings: ...
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        config: builtins.str = ...,
        ammo: global___File | None = ...,
        logging_log_group_id: builtins.str = ...,
        test_data: global___StorageObject | None = ...,
        data_payload: collections.abc.Iterable[global___TestDataEntry] | None = ...,
        artifact_upload_settings: global___TestArtifactUploadSettings | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["ammo", b"ammo", "artifact_upload_settings", b"artifact_upload_settings", "test_data", b"test_data"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["ammo", b"ammo", "artifact_upload_settings", b"artifact_upload_settings", "config", b"config", "data_payload", b"data_payload", "id", b"id", "logging_log_group_id", b"logging_log_group_id", "test_data", b"test_data"]) -> None: ...

global___Job = Job

@typing.final
class File(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    CONTENT_FIELD_NUMBER: builtins.int
    name: builtins.str
    content: builtins.bytes
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        content: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["content", b"content", "name", b"name"]) -> None: ...

global___File = File

@typing.final
class StorageObject(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    OBJECT_STORAGE_BUCKET_FIELD_NUMBER: builtins.int
    OBJECT_STORAGE_FILENAME_FIELD_NUMBER: builtins.int
    object_storage_bucket: builtins.str
    object_storage_filename: builtins.str
    def __init__(
        self,
        *,
        object_storage_bucket: builtins.str = ...,
        object_storage_filename: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["object_storage_bucket", b"object_storage_bucket", "object_storage_filename", b"object_storage_filename"]) -> None: ...

global___StorageObject = StorageObject

@typing.final
class TestDataEntry(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    IS_TRANSIENT_FIELD_NUMBER: builtins.int
    STORAGE_OBJECT_FIELD_NUMBER: builtins.int
    name: builtins.str
    is_transient: builtins.bool
    @property
    def storage_object(self) -> global___StorageObject: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        is_transient: builtins.bool = ...,
        storage_object: global___StorageObject | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["storage_object", b"storage_object"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["is_transient", b"is_transient", "name", b"name", "storage_object", b"storage_object"]) -> None: ...

global___TestDataEntry = TestDataEntry

@typing.final
class TestArtifactUploadSettings(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    OUTPUT_BUCKET_FIELD_NUMBER: builtins.int
    OUTPUT_NAME_FIELD_NUMBER: builtins.int
    IS_ARCHIVE_FIELD_NUMBER: builtins.int
    FILTER_INCLUDE_FIELD_NUMBER: builtins.int
    FILTER_EXCLUDE_FIELD_NUMBER: builtins.int
    output_bucket: builtins.str
    output_name: builtins.str
    is_archive: builtins.bool
    @property
    def filter_include(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def filter_exclude(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        output_bucket: builtins.str = ...,
        output_name: builtins.str = ...,
        is_archive: builtins.bool = ...,
        filter_include: collections.abc.Iterable[builtins.str] | None = ...,
        filter_exclude: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["filter_exclude", b"filter_exclude", "filter_include", b"filter_include", "is_archive", b"is_archive", "output_bucket", b"output_bucket", "output_name", b"output_name"]) -> None: ...

global___TestArtifactUploadSettings = TestArtifactUploadSettings

@typing.final
class GetJobTransientFile(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    JOB_ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    job_id: builtins.str
    name: builtins.str
    def __init__(
        self,
        *,
        job_id: builtins.str = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["job_id", b"job_id", "name", b"name"]) -> None: ...

global___GetJobTransientFile = GetJobTransientFile

@typing.final
class GetJobRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    COMPUTE_INSTANCE_ID_FIELD_NUMBER: builtins.int
    AGENT_INSTANCE_ID_FIELD_NUMBER: builtins.int
    JOB_ID_FIELD_NUMBER: builtins.int
    compute_instance_id: builtins.str
    agent_instance_id: builtins.str
    job_id: builtins.str
    def __init__(
        self,
        *,
        compute_instance_id: builtins.str = ...,
        agent_instance_id: builtins.str = ...,
        job_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["agent_instance_id", b"agent_instance_id", "compute_instance_id", b"compute_instance_id", "job_id", b"job_id"]) -> None: ...

global___GetJobRequest = GetJobRequest

@typing.final
class ClaimJobStatusRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class _JobStatus:
        ValueType = typing.NewType("ValueType", builtins.int)
        V: typing_extensions.TypeAlias = ValueType

    class _JobStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ClaimJobStatusRequest._JobStatus.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        JOB_STATUS_UNSPECIFIED: ClaimJobStatusRequest._JobStatus.ValueType  # 0
        POST_PROCESS: ClaimJobStatusRequest._JobStatus.ValueType  # 1
        INITIATED: ClaimJobStatusRequest._JobStatus.ValueType  # 2
        PREPARING: ClaimJobStatusRequest._JobStatus.ValueType  # 3
        NOT_FOUND: ClaimJobStatusRequest._JobStatus.ValueType  # 4
        RUNNING: ClaimJobStatusRequest._JobStatus.ValueType  # 5
        FINISHING: ClaimJobStatusRequest._JobStatus.ValueType  # 6
        FINISHED: ClaimJobStatusRequest._JobStatus.ValueType  # 7
        STOPPED: ClaimJobStatusRequest._JobStatus.ValueType  # 8
        FAILED: ClaimJobStatusRequest._JobStatus.ValueType  # 9
        AUTOSTOPPED: ClaimJobStatusRequest._JobStatus.ValueType  # 10
        WAITING_FOR_A_COMMAND_TO_RUN: ClaimJobStatusRequest._JobStatus.ValueType  # 11

    class JobStatus(_JobStatus, metaclass=_JobStatusEnumTypeWrapper): ...
    JOB_STATUS_UNSPECIFIED: ClaimJobStatusRequest.JobStatus.ValueType  # 0
    POST_PROCESS: ClaimJobStatusRequest.JobStatus.ValueType  # 1
    INITIATED: ClaimJobStatusRequest.JobStatus.ValueType  # 2
    PREPARING: ClaimJobStatusRequest.JobStatus.ValueType  # 3
    NOT_FOUND: ClaimJobStatusRequest.JobStatus.ValueType  # 4
    RUNNING: ClaimJobStatusRequest.JobStatus.ValueType  # 5
    FINISHING: ClaimJobStatusRequest.JobStatus.ValueType  # 6
    FINISHED: ClaimJobStatusRequest.JobStatus.ValueType  # 7
    STOPPED: ClaimJobStatusRequest.JobStatus.ValueType  # 8
    FAILED: ClaimJobStatusRequest.JobStatus.ValueType  # 9
    AUTOSTOPPED: ClaimJobStatusRequest.JobStatus.ValueType  # 10
    WAITING_FOR_A_COMMAND_TO_RUN: ClaimJobStatusRequest.JobStatus.ValueType  # 11

    JOB_ID_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    ERROR_FIELD_NUMBER: builtins.int
    job_id: builtins.str
    status: global___ClaimJobStatusRequest.JobStatus.ValueType
    error: builtins.str
    def __init__(
        self,
        *,
        job_id: builtins.str = ...,
        status: global___ClaimJobStatusRequest.JobStatus.ValueType = ...,
        error: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["error", b"error", "job_id", b"job_id", "status", b"status"]) -> None: ...

global___ClaimJobStatusRequest = ClaimJobStatusRequest

@typing.final
class ClaimJobStatusResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CODE_FIELD_NUMBER: builtins.int
    code: builtins.int
    def __init__(
        self,
        *,
        code: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["code", b"code"]) -> None: ...

global___ClaimJobStatusResponse = ClaimJobStatusResponse

@typing.final
class JobSignalRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    JOB_ID_FIELD_NUMBER: builtins.int
    job_id: builtins.str
    def __init__(
        self,
        *,
        job_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["job_id", b"job_id"]) -> None: ...

global___JobSignalRequest = JobSignalRequest

@typing.final
class JobSignalResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class _Signal:
        ValueType = typing.NewType("ValueType", builtins.int)
        V: typing_extensions.TypeAlias = ValueType

    class _SignalEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[JobSignalResponse._Signal.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        SIGNAL_UNSPECIFIED: JobSignalResponse._Signal.ValueType  # 0
        STOP: JobSignalResponse._Signal.ValueType  # 1
        WAIT: JobSignalResponse._Signal.ValueType  # 2
        RUN_IN: JobSignalResponse._Signal.ValueType  # 3

    class Signal(_Signal, metaclass=_SignalEnumTypeWrapper): ...
    SIGNAL_UNSPECIFIED: JobSignalResponse.Signal.ValueType  # 0
    STOP: JobSignalResponse.Signal.ValueType  # 1
    WAIT: JobSignalResponse.Signal.ValueType  # 2
    RUN_IN: JobSignalResponse.Signal.ValueType  # 3

    SIGNAL_FIELD_NUMBER: builtins.int
    WAIT_DURATION_FIELD_NUMBER: builtins.int
    RUN_IN_FIELD_NUMBER: builtins.int
    signal: global___JobSignalResponse.Signal.ValueType
    wait_duration: builtins.float
    """seconds"""
    run_in: builtins.float
    """seconds"""
    def __init__(
        self,
        *,
        signal: global___JobSignalResponse.Signal.ValueType = ...,
        wait_duration: builtins.float = ...,
        run_in: builtins.float = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["run_in", b"run_in", "signal", b"signal", "wait_duration", b"wait_duration"]) -> None: ...

global___JobSignalResponse = JobSignalResponse
