"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.field_mask_pb2
import google.protobuf.internal.containers
import google.protobuf.message
import google.protobuf.timestamp_pb2
import job_pb2
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class JobInfo(google.protobuf.message.Message):
    """Identify a job by its id or complete Job description"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    ID_FIELD_NUMBER: builtins.int
    JOB_FIELD_NUMBER: builtins.int
    id: typing.Text
    """DEPRECATED: use job instead"""

    @property
    def job(self) -> job_pb2.Job: ...
    def __init__(self,
        *,
        id: typing.Text = ...,
        job: typing.Optional[job_pb2.Job] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["job",b"job"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["id",b"id","job",b"job"]) -> None: ...
global___JobInfo = JobInfo

class ListJobsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    AUTH_INFO_FIELD_NUMBER: builtins.int
    PAGE_SIZE_FIELD_NUMBER: builtins.int
    PAGE_TOKEN_FIELD_NUMBER: builtins.int
    @property
    def auth_info(self) -> job_pb2.NBXAuthInfo: ...
    page_size: builtins.int
    """The maximum number of items to return."""

    page_token: typing.Text
    """The next_page_token value returned from a previous List request, if any."""

    def __init__(self,
        *,
        auth_info: typing.Optional[job_pb2.NBXAuthInfo] = ...,
        page_size: builtins.int = ...,
        page_token: typing.Text = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["auth_info",b"auth_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["auth_info",b"auth_info","page_size",b"page_size","page_token",b"page_token"]) -> None: ...
global___ListJobsRequest = ListJobsRequest

class ListJobsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    JOBS_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    @property
    def Jobs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[job_pb2.Job]:
        """The field name should match the noun "Job" in the method name.
        There will be a maximum number of items returned based on the page_size field in the request.
        """
        pass
    next_page_token: typing.Text
    """Token to retrieve the next page of results, or empty if there are no more results in the list."""

    def __init__(self,
        *,
        Jobs: typing.Optional[typing.Iterable[job_pb2.Job]] = ...,
        next_page_token: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["Jobs",b"Jobs","next_page_token",b"next_page_token"]) -> None: ...
global___ListJobsResponse = ListJobsResponse

class UploadCodeRequest(google.protobuf.message.Message):
    """Message to send to UploadCode endpoint"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    JOB_FIELD_NUMBER: builtins.int
    AUTH_FIELD_NUMBER: builtins.int
    @property
    def job(self) -> job_pb2.Job: ...
    @property
    def auth(self) -> job_pb2.NBXAuthInfo: ...
    def __init__(self,
        *,
        job: typing.Optional[job_pb2.Job] = ...,
        auth: typing.Optional[job_pb2.NBXAuthInfo] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["auth",b"auth","job",b"job"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["auth",b"auth","job",b"job"]) -> None: ...
global___UploadCodeRequest = UploadCodeRequest

class CreateJobRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    JOB_FIELD_NUMBER: builtins.int
    @property
    def job(self) -> job_pb2.Job:
        """The Job resource to create.
        The field name should match the Noun in the method name.
        """
        pass
    def __init__(self,
        *,
        job: typing.Optional[job_pb2.Job] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["job",b"job"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["job",b"job"]) -> None: ...
global___CreateJobRequest = CreateJobRequest

class UpdateJobRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    JOB_FIELD_NUMBER: builtins.int
    UPDATE_MASK_FIELD_NUMBER: builtins.int
    @property
    def job(self) -> job_pb2.Job:
        """The Job resource which replaces the resource on the server."""
        pass
    @property
    def update_mask(self) -> google.protobuf.field_mask_pb2.FieldMask:
        """The update mask applies to the resource. For the `FieldMask` definition,
        see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
        """
        pass
    def __init__(self,
        *,
        job: typing.Optional[job_pb2.Job] = ...,
        update_mask: typing.Optional[google.protobuf.field_mask_pb2.FieldMask] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["job",b"job","update_mask",b"update_mask"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["job",b"job","update_mask",b"update_mask"]) -> None: ...
global___UpdateJobRequest = UpdateJobRequest

class JobLogsRequest(google.protobuf.message.Message):
    """message DeleteJobRequest {
      // The resource id of the Job to be deleted.
      JobInfo job = 1;
    }

    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    JOB_FIELD_NUMBER: builtins.int
    K8S_INFO_FIELD_NUMBER: builtins.int
    LINES_FIELD_NUMBER: builtins.int
    @property
    def job(self) -> global___JobInfo: ...
    @property
    def k8s_info(self) -> job_pb2.K8sInfo: ...
    lines: builtins.int
    def __init__(self,
        *,
        job: typing.Optional[global___JobInfo] = ...,
        k8s_info: typing.Optional[job_pb2.K8sInfo] = ...,
        lines: builtins.int = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["job",b"job","k8s_info",b"k8s_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["job",b"job","k8s_info",b"k8s_info","lines",b"lines"]) -> None: ...
global___JobLogsRequest = JobLogsRequest

class JobLog(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    JOB_FIELD_NUMBER: builtins.int
    K8S_INFO_FIELD_NUMBER: builtins.int
    LOG_FIELD_NUMBER: builtins.int
    @property
    def job(self) -> global___JobInfo: ...
    @property
    def k8s_info(self) -> job_pb2.K8sInfo: ...
    @property
    def log(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
    def __init__(self,
        *,
        job: typing.Optional[global___JobInfo] = ...,
        k8s_info: typing.Optional[job_pb2.K8sInfo] = ...,
        log: typing.Optional[typing.Iterable[typing.Text]] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["job",b"job","k8s_info",b"k8s_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["job",b"job","k8s_info",b"k8s_info","log",b"log"]) -> None: ...
global___JobLog = JobLog

class UpdateRunRequest(google.protobuf.message.Message):
    """To update run for a job, identified by token
    required fields in job are: [token, status, updated_at] (dag is optional)
    message is optional
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    TOKEN_FIELD_NUMBER: builtins.int
    JOB_FIELD_NUMBER: builtins.int
    UPDATED_AT_FIELD_NUMBER: builtins.int
    MESSAGE_FIELD_NUMBER: builtins.int
    token: typing.Text
    """token to identify the run"""

    @property
    def job(self) -> job_pb2.Job:
        """set status here"""
        pass
    @property
    def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """should be time.now()"""
        pass
    message: typing.Text
    """optional"""

    def __init__(self,
        *,
        token: typing.Text = ...,
        job: typing.Optional[job_pb2.Job] = ...,
        updated_at: typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ...,
        message: typing.Text = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["job",b"job","updated_at",b"updated_at"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["job",b"job","message",b"message","token",b"token","updated_at",b"updated_at"]) -> None: ...
global___UpdateRunRequest = UpdateRunRequest
