"""
@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 google.protobuf.wrappers_pb2
import sys
import typing

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

class _MemoryUnitApiEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_MemoryUnitApi.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    UNKNOWN_MEMORY_UNIT: _MemoryUnitApi.ValueType  # 0
    MIB: _MemoryUnitApi.ValueType  # 1
    GIB: _MemoryUnitApi.ValueType  # 2

class MemoryUnitApi(_MemoryUnitApi, metaclass=_MemoryUnitApiEnumTypeWrapper): ...

UNKNOWN_MEMORY_UNIT: MemoryUnitApi.ValueType  # 0
MIB: MemoryUnitApi.ValueType  # 1
GIB: MemoryUnitApi.ValueType  # 2
global___MemoryUnitApi = MemoryUnitApi

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

class _InputFileTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_InputFileType.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    UNDEFINED_INPUT_FILE_TYPE: _InputFileType.ValueType  # 0
    CSV_INPUT_FILE_TYPE: _InputFileType.ValueType  # 1
    FEATHER_INPUT_FILE_TYPE: _InputFileType.ValueType  # 2
    PARQUET_INPUT_FILE_TYPE: _InputFileType.ValueType  # 3

class InputFileType(_InputFileType, metaclass=_InputFileTypeEnumTypeWrapper): ...

UNDEFINED_INPUT_FILE_TYPE: InputFileType.ValueType  # 0
CSV_INPUT_FILE_TYPE: InputFileType.ValueType  # 1
FEATHER_INPUT_FILE_TYPE: InputFileType.ValueType  # 2
PARQUET_INPUT_FILE_TYPE: InputFileType.ValueType  # 3
global___InputFileType = InputFileType

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

class _OutputFileTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_OutputFileType.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    UNDEFINED_OUTPUT_FILE_TYPE: _OutputFileType.ValueType  # 0
    CSV_OUTPUT_FILE_TYPE: _OutputFileType.ValueType  # 1
    FEATHER_OUTPUT_FILE_TYPE: _OutputFileType.ValueType  # 2
    PARQUET_OUTPUT_FILE_TYPE: _OutputFileType.ValueType  # 3

class OutputFileType(_OutputFileType, metaclass=_OutputFileTypeEnumTypeWrapper): ...

UNDEFINED_OUTPUT_FILE_TYPE: OutputFileType.ValueType  # 0
CSV_OUTPUT_FILE_TYPE: OutputFileType.ValueType  # 1
FEATHER_OUTPUT_FILE_TYPE: OutputFileType.ValueType  # 2
PARQUET_OUTPUT_FILE_TYPE: OutputFileType.ValueType  # 3
global___OutputFileType = OutputFileType

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

class _GpuTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_GpuType.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    INVALID_GPU: _GpuType.ValueType  # 0
    NVIDIA_K80: _GpuType.ValueType  # 1
    NVIDIA_V100: _GpuType.ValueType  # 2
    NVIDIA_A100: _GpuType.ValueType  # 3
    NVIDIA_T4: _GpuType.ValueType  # 4
    NVIDIA_A10G: _GpuType.ValueType  # 5
    NVIDIA_L4: _GpuType.ValueType  # 6
    NVIDIA_T4_1_4_15: _GpuType.ValueType  # 7
    """More specific node types
    t4.xl
    """
    NVIDIA_T4_1_8_30: _GpuType.ValueType  # 8
    """t4.2xl"""
    NVIDIA_T4_1_16_60: _GpuType.ValueType  # 9
    """t4.4xl"""
    NVIDIA_A100_80GB_8_96_1360: _GpuType.ValueType  # 10
    """a100.8xl"""
    NVIDIA_V100_1_8_52: _GpuType.ValueType  # 11
    """a100.xl"""
    NVIDIA_V100_4_32_208: _GpuType.ValueType  # 12
    """v100.4xl"""

class GpuType(_GpuType, metaclass=_GpuTypeEnumTypeWrapper): ...

INVALID_GPU: GpuType.ValueType  # 0
NVIDIA_K80: GpuType.ValueType  # 1
NVIDIA_V100: GpuType.ValueType  # 2
NVIDIA_A100: GpuType.ValueType  # 3
NVIDIA_T4: GpuType.ValueType  # 4
NVIDIA_A10G: GpuType.ValueType  # 5
NVIDIA_L4: GpuType.ValueType  # 6
NVIDIA_T4_1_4_15: GpuType.ValueType  # 7
"""More specific node types
t4.xl
"""
NVIDIA_T4_1_8_30: GpuType.ValueType  # 8
"""t4.2xl"""
NVIDIA_T4_1_16_60: GpuType.ValueType  # 9
"""t4.4xl"""
NVIDIA_A100_80GB_8_96_1360: GpuType.ValueType  # 10
"""a100.8xl"""
NVIDIA_V100_1_8_52: GpuType.ValueType  # 11
"""a100.xl"""
NVIDIA_V100_4_32_208: GpuType.ValueType  # 12
"""v100.4xl"""
global___GpuType = GpuType

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

class _CloudProviderEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_CloudProvider.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    UNKNOWN_CLOUD_PROVIDER: _CloudProvider.ValueType  # 0
    AWS: _CloudProvider.ValueType  # 1
    GCP: _CloudProvider.ValueType  # 2

class CloudProvider(_CloudProvider, metaclass=_CloudProviderEnumTypeWrapper): ...

UNKNOWN_CLOUD_PROVIDER: CloudProvider.ValueType  # 0
AWS: CloudProvider.ValueType  # 1
GCP: CloudProvider.ValueType  # 2
global___CloudProvider = CloudProvider

class ListInferenceJobFilesRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BUCKET_FIELD_NUMBER: builtins.int
    DIRECTORY_PATH_FIELD_NUMBER: builtins.int
    TOKEN_SECRET_FIELD_NUMBER: builtins.int
    SECRET_SECRET_FIELD_NUMBER: builtins.int
    SECRET_SERVICE_URL_FIELD_NUMBER: builtins.int
    ROLE_ARN_FIELD_NUMBER: builtins.int
    AWS_CREDENTIALS_FIELD_NUMBER: builtins.int
    GCP_CREDENTIALS_FIELD_NUMBER: builtins.int
    GROUPED_TASK_DETAILS_FIELD_NUMBER: builtins.int
    ENVIRONMENT_ID_FIELD_NUMBER: builtins.int
    bucket: builtins.str
    """The bucket in cloud storage"""
    directory_path: builtins.str
    """The path in the bucket to read the files from"""
    token_secret: builtins.str
    """The qwak secret the bucket's token is stored in"""
    secret_secret: builtins.str
    """The qwak secret the bucket's secret is stored in"""
    secret_service_url: builtins.str
    """The qwak secret service url for that environment"""
    role_arn: builtins.str
    """The role arn to assume"""
    @property
    def aws_credentials(self) -> global___AwsCredentials: ...
    @property
    def gcp_credentials(self) -> global___GcpCredentials: ...
    @property
    def grouped_task_details(self) -> global___GroupedTaskDetails: ...
    environment_id: builtins.str
    def __init__(
        self,
        *,
        bucket: builtins.str = ...,
        directory_path: builtins.str = ...,
        token_secret: builtins.str = ...,
        secret_secret: builtins.str = ...,
        secret_service_url: builtins.str = ...,
        role_arn: builtins.str = ...,
        aws_credentials: global___AwsCredentials | None = ...,
        gcp_credentials: global___GcpCredentials | None = ...,
        grouped_task_details: global___GroupedTaskDetails | None = ...,
        environment_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["aws_credentials", b"aws_credentials", "cloud_client_credentials", b"cloud_client_credentials", "gcp_credentials", b"gcp_credentials", "grouped_task_details", b"grouped_task_details", "task_flow", b"task_flow"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["aws_credentials", b"aws_credentials", "bucket", b"bucket", "cloud_client_credentials", b"cloud_client_credentials", "directory_path", b"directory_path", "environment_id", b"environment_id", "gcp_credentials", b"gcp_credentials", "grouped_task_details", b"grouped_task_details", "role_arn", b"role_arn", "secret_secret", b"secret_secret", "secret_service_url", b"secret_service_url", "task_flow", b"task_flow", "token_secret", b"token_secret"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["cloud_client_credentials", b"cloud_client_credentials"]) -> typing_extensions.Literal["aws_credentials", "gcp_credentials"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["task_flow", b"task_flow"]) -> typing_extensions.Literal["grouped_task_details"] | None: ...

global___ListInferenceJobFilesRequest = ListInferenceJobFilesRequest

class GroupedTaskDetails(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CONCURRENTTASKS_FIELD_NUMBER: builtins.int
    DESTINATION_PATH_FIELD_NUMBER: builtins.int
    DESTINATION_BUCKET_FIELD_NUMBER: builtins.int
    concurrentTasks: builtins.int
    """concurrent task to divide files to group"""
    destination_path: builtins.str
    """path to upload temp point files"""
    destination_bucket: builtins.str
    """The destination bucket in cloud storage"""
    def __init__(
        self,
        *,
        concurrentTasks: builtins.int = ...,
        destination_path: builtins.str = ...,
        destination_bucket: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["concurrentTasks", b"concurrentTasks", "destination_bucket", b"destination_bucket", "destination_path", b"destination_path"]) -> None: ...

global___GroupedTaskDetails = GroupedTaskDetails

class CleanStorageObjectFromCloudStorageRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BUCKET_FIELD_NUMBER: builtins.int
    OBJECT_PREFIX_FIELD_NUMBER: builtins.int
    SECRET_SERVICE_URL_FIELD_NUMBER: builtins.int
    AWS_CREDENTIALS_FIELD_NUMBER: builtins.int
    GCP_CREDENTIALS_FIELD_NUMBER: builtins.int
    ENVIRONMENT_ID_FIELD_NUMBER: builtins.int
    bucket: builtins.str
    """The bucket in cloud storage"""
    @property
    def object_prefix(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """The path in the objects to delete"""
    secret_service_url: builtins.str
    """The qwak secret service url for that environment"""
    @property
    def aws_credentials(self) -> global___AwsCredentials: ...
    @property
    def gcp_credentials(self) -> global___GcpCredentials: ...
    environment_id: builtins.str
    def __init__(
        self,
        *,
        bucket: builtins.str = ...,
        object_prefix: collections.abc.Iterable[builtins.str] | None = ...,
        secret_service_url: builtins.str = ...,
        aws_credentials: global___AwsCredentials | None = ...,
        gcp_credentials: global___GcpCredentials | None = ...,
        environment_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["aws_credentials", b"aws_credentials", "cloud_client_credentials", b"cloud_client_credentials", "gcp_credentials", b"gcp_credentials"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["aws_credentials", b"aws_credentials", "bucket", b"bucket", "cloud_client_credentials", b"cloud_client_credentials", "environment_id", b"environment_id", "gcp_credentials", b"gcp_credentials", "object_prefix", b"object_prefix", "secret_service_url", b"secret_service_url"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["cloud_client_credentials", b"cloud_client_credentials"]) -> typing_extensions.Literal["aws_credentials", "gcp_credentials"] | None: ...

global___CleanStorageObjectFromCloudStorageRequest = CleanStorageObjectFromCloudStorageRequest

class AwsCredentials(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ROLE_ARN_FIELD_NUMBER: builtins.int
    TOKEN_SECRET_FIELD_NUMBER: builtins.int
    SECRET_SECRET_FIELD_NUMBER: builtins.int
    role_arn: builtins.str
    """The role arn to assume"""
    token_secret: builtins.str
    """The qwak secret the bucket's token is stored in"""
    secret_secret: builtins.str
    """The qwak secret the bucket's secret is stored in"""
    def __init__(
        self,
        *,
        role_arn: builtins.str = ...,
        token_secret: builtins.str = ...,
        secret_secret: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["role_arn", b"role_arn", "secret_secret", b"secret_secret", "token_secret", b"token_secret"]) -> None: ...

global___AwsCredentials = AwsCredentials

class GcpCredentials(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SERVICE_ACCOUNT_JSON_KEY_SECRET_FIELD_NUMBER: builtins.int
    service_account_json_key_secret: builtins.str
    def __init__(
        self,
        *,
        service_account_json_key_secret: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["service_account_json_key_secret", b"service_account_json_key_secret"]) -> None: ...

global___GcpCredentials = GcpCredentials

class ListInferenceJobFilesResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FILE_NAMES_FIELD_NUMBER: builtins.int
    SUCCESS_FIELD_NUMBER: builtins.int
    FAILURE_REASON_FIELD_NUMBER: builtins.int
    LIST_FILE_DETAILS_FIELD_NUMBER: builtins.int
    @property
    def file_names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """The list of files in the folder"""
    success: builtins.bool
    """Whether the request was successful or not"""
    failure_reason: builtins.str
    """The failure description"""
    @property
    def list_file_details(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ListFileDetails]:
        """the list of file details"""
    def __init__(
        self,
        *,
        file_names: collections.abc.Iterable[builtins.str] | None = ...,
        success: builtins.bool = ...,
        failure_reason: builtins.str = ...,
        list_file_details: collections.abc.Iterable[global___ListFileDetails] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["failure_reason", b"failure_reason", "file_names", b"file_names", "list_file_details", b"list_file_details", "success", b"success"]) -> None: ...

global___ListInferenceJobFilesResponse = ListInferenceJobFilesResponse

class ListFileDetails(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    IS_POINT_FILE_FIELD_NUMBER: builtins.int
    POINT_FILE_PATH_FIELD_NUMBER: builtins.int
    OBJECT_PATHS_FIELD_NUMBER: builtins.int
    is_point_file: builtins.bool
    """Is point file is used - for admiral flow (intermediate state till we removed kube flow - MLOPS-2201)"""
    point_file_path: builtins.str
    """point file path"""
    @property
    def object_paths(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """List of inference files"""
    def __init__(
        self,
        *,
        is_point_file: builtins.bool = ...,
        point_file_path: builtins.str = ...,
        object_paths: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["is_point_file", b"is_point_file", "object_paths", b"object_paths", "point_file_path", b"point_file_path"]) -> None: ...

global___ListFileDetails = ListFileDetails

class CreateInferenceTaskExecutorRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TASK_EXECUTOR_CONFIGURATION_FIELD_NUMBER: builtins.int
    INFERENCE_TASK_CONFIGURATION_FIELD_NUMBER: builtins.int
    @property
    def task_executor_configuration(self) -> global___TaskExecutorConfigurationMessage: ...
    @property
    def inference_task_configuration(self) -> global___InferenceTaskConfigurationMessage: ...
    def __init__(
        self,
        *,
        task_executor_configuration: global___TaskExecutorConfigurationMessage | None = ...,
        inference_task_configuration: global___InferenceTaskConfigurationMessage | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["inference_task_configuration", b"inference_task_configuration", "task_executor_configuration", b"task_executor_configuration"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["inference_task_configuration", b"inference_task_configuration", "task_executor_configuration", b"task_executor_configuration"]) -> None: ...

global___CreateInferenceTaskExecutorRequest = CreateInferenceTaskExecutorRequest

class PrepareInferenceJobRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    INFERENCE_JOB_CONFIGURATION_MESSAGE_FIELD_NUMBER: builtins.int
    @property
    def inference_job_configuration_message(self) -> global___InferenceJobConfigurationMessage: ...
    def __init__(
        self,
        *,
        inference_job_configuration_message: global___InferenceJobConfigurationMessage | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["inference_job_configuration_message", b"inference_job_configuration_message"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["inference_job_configuration_message", b"inference_job_configuration_message"]) -> None: ...

global___PrepareInferenceJobRequest = PrepareInferenceJobRequest

class PrepareInferenceJobResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SUCCESS_FIELD_NUMBER: builtins.int
    FAILURE_REASON_FIELD_NUMBER: builtins.int
    success: builtins.bool
    """Whether the request was successful or not"""
    failure_reason: builtins.str
    """The failure description"""
    def __init__(
        self,
        *,
        success: builtins.bool = ...,
        failure_reason: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["failure_reason", b"failure_reason", "success", b"success"]) -> None: ...

global___PrepareInferenceJobResponse = PrepareInferenceJobResponse

class TaskExecutorConfigurationMessage(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    INFERENCE_JOB_ID_FIELD_NUMBER: builtins.int
    INFERENCE_TASK_ID_FIELD_NUMBER: builtins.int
    MODEL_IDENTIFIER_FIELD_NUMBER: builtins.int
    IMAGE_URL_FIELD_NUMBER: builtins.int
    BACKOFF_LIMIT_FIELD_NUMBER: builtins.int
    CPU_FIELD_NUMBER: builtins.int
    MEMORY_AMOUNT_FIELD_NUMBER: builtins.int
    MEMORY_UNITS_FIELD_NUMBER: builtins.int
    ENVIRONMENT_ID_FIELD_NUMBER: builtins.int
    CUSTOM_IAM_ROLE_ARN_FIELD_NUMBER: builtins.int
    JOB_SIZE_FIELD_NUMBER: builtins.int
    PURCHASE_OPTION_FIELD_NUMBER: builtins.int
    IMAGE_PULL_SECRET_FIELD_NUMBER: builtins.int
    CUSTOM_SERVICE_ACCOUNT_SECRET_FIELD_NUMBER: builtins.int
    JFROG_TOKEN_API_SECRET_NAME_FIELD_NUMBER: builtins.int
    JFROG_BASE_URL_FIELD_NUMBER: builtins.int
    inference_job_id: builtins.str
    """The id of the inference job"""
    inference_task_id: builtins.str
    """The id of the current inference task"""
    @property
    def model_identifier(self) -> global___ModelIdentifier:
        """Model details"""
    image_url: builtins.str
    """The image url to use"""
    backoff_limit: builtins.int
    """How many times the current task can fail"""
    cpu: builtins.float
    """Cpu usage"""
    memory_amount: builtins.int
    """Memory usage"""
    memory_units: global___MemoryUnitApi.ValueType
    """Units type of memory"""
    environment_id: builtins.str
    custom_iam_role_arn: builtins.str
    @property
    def job_size(self) -> global___BatchJobResources: ...
    purchase_option: builtins.str
    """Whether it is spot/ondemand (default - spot)"""
    image_pull_secret: builtins.str
    """If the image saved in out source repository (jfrog e.g.)  and image pull secret is needed"""
    custom_service_account_secret: builtins.str
    """The custom service account json key secret for gcp"""
    jfrog_token_api_secret_name: builtins.str
    """The Token secret name for jfrog token"""
    jfrog_base_url: builtins.str
    """The Jfrog base url"""
    def __init__(
        self,
        *,
        inference_job_id: builtins.str = ...,
        inference_task_id: builtins.str = ...,
        model_identifier: global___ModelIdentifier | None = ...,
        image_url: builtins.str = ...,
        backoff_limit: builtins.int = ...,
        cpu: builtins.float = ...,
        memory_amount: builtins.int = ...,
        memory_units: global___MemoryUnitApi.ValueType = ...,
        environment_id: builtins.str = ...,
        custom_iam_role_arn: builtins.str = ...,
        job_size: global___BatchJobResources | None = ...,
        purchase_option: builtins.str = ...,
        image_pull_secret: builtins.str = ...,
        custom_service_account_secret: builtins.str = ...,
        jfrog_token_api_secret_name: builtins.str = ...,
        jfrog_base_url: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["job_size", b"job_size", "model_identifier", b"model_identifier"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["backoff_limit", b"backoff_limit", "cpu", b"cpu", "custom_iam_role_arn", b"custom_iam_role_arn", "custom_service_account_secret", b"custom_service_account_secret", "environment_id", b"environment_id", "image_pull_secret", b"image_pull_secret", "image_url", b"image_url", "inference_job_id", b"inference_job_id", "inference_task_id", b"inference_task_id", "jfrog_base_url", b"jfrog_base_url", "jfrog_token_api_secret_name", b"jfrog_token_api_secret_name", "job_size", b"job_size", "memory_amount", b"memory_amount", "memory_units", b"memory_units", "model_identifier", b"model_identifier", "purchase_option", b"purchase_option"]) -> None: ...

global___TaskExecutorConfigurationMessage = TaskExecutorConfigurationMessage

class InferenceJobConfigurationMessage(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    INFERENCE_JOB_ID_FIELD_NUMBER: builtins.int
    ENVIRONMENT_ID_FIELD_NUMBER: builtins.int
    CUSTOM_IAM_ROLE_ARN_FIELD_NUMBER: builtins.int
    inference_job_id: builtins.str
    """The id of the inference job"""
    environment_id: builtins.str
    """Environment id"""
    custom_iam_role_arn: builtins.str
    """Custom IAm role"""
    def __init__(
        self,
        *,
        inference_job_id: builtins.str = ...,
        environment_id: builtins.str = ...,
        custom_iam_role_arn: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["custom_iam_role_arn", b"custom_iam_role_arn", "environment_id", b"environment_id", "inference_job_id", b"inference_job_id"]) -> None: ...

global___InferenceJobConfigurationMessage = InferenceJobConfigurationMessage

class ModelIdentifier(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MODEL_ID_FIELD_NUMBER: builtins.int
    BUILD_ID_FIELD_NUMBER: builtins.int
    BRANCH_ID_FIELD_NUMBER: builtins.int
    MODEL_UUID_FIELD_NUMBER: builtins.int
    MODEL_GROUP_NAME_FIELD_NUMBER: builtins.int
    model_id: builtins.str
    build_id: builtins.str
    branch_id: builtins.str
    model_uuid: builtins.str
    model_group_name: builtins.str
    """the model group this model belongs to. Currently model group name is identical to the project name for jfrog flows.
    in case this changes, the project name should not be assigned to the model group name anymore.
    """
    def __init__(
        self,
        *,
        model_id: builtins.str = ...,
        build_id: builtins.str = ...,
        branch_id: builtins.str = ...,
        model_uuid: builtins.str = ...,
        model_group_name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["branch_id", b"branch_id", "build_id", b"build_id", "model_group_name", b"model_group_name", "model_id", b"model_id", "model_uuid", b"model_uuid"]) -> None: ...

global___ModelIdentifier = ModelIdentifier

class ListFilesPreStepConfiguration(google.protobuf.message.Message):
    """will be deprecated soon"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SOURCE_PATH_FIELD_NUMBER: builtins.int
    LIST_FILES_FILE_NAME_FIELD_NUMBER: builtins.int
    TOTAL_NUMBER_OF_TASKS_FIELD_NUMBER: builtins.int
    TASK_INDEX_FIELD_NUMBER: builtins.int
    source_path: builtins.str
    """Directory path in source bucket of data files to run inference on"""
    list_files_file_name: builtins.str
    """Name for the file to save the list of files in the source path"""
    total_number_of_tasks: builtins.int
    """Total number of inference tasks, used to divide the files list into similarly sized groups"""
    @property
    def task_index(self) -> google.protobuf.wrappers_pb2.Int32Value:
        """Index of the specific task, used to determine on which files group to run inference on. value 0 is legit"""
    def __init__(
        self,
        *,
        source_path: builtins.str = ...,
        list_files_file_name: builtins.str = ...,
        total_number_of_tasks: builtins.int = ...,
        task_index: google.protobuf.wrappers_pb2.Int32Value | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["task_index", b"task_index"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["list_files_file_name", b"list_files_file_name", "source_path", b"source_path", "task_index", b"task_index", "total_number_of_tasks", b"total_number_of_tasks"]) -> None: ...

global___ListFilesPreStepConfiguration = ListFilesPreStepConfiguration

class InferenceTaskConfigurationMessage(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SOURCE_BUCKET_FIELD_NUMBER: builtins.int
    DESTINATION_BUCKET_FIELD_NUMBER: builtins.int
    FILEPATH_FIELD_NUMBER: builtins.int
    DESTINATION_PATH_FIELD_NUMBER: builtins.int
    INPUT_FILE_TYPE_FIELD_NUMBER: builtins.int
    OUTPUT_FILE_TYPE_FIELD_NUMBER: builtins.int
    TOKEN_SECRET_FIELD_NUMBER: builtins.int
    SECRET_SECRET_FIELD_NUMBER: builtins.int
    PARAMETERS_FIELD_NUMBER: builtins.int
    CLOUD_PROVIDER_FIELD_NUMBER: builtins.int
    SERVICE_ACCOUNT_JSON_KEY_SECRET_FIELD_NUMBER: builtins.int
    IS_POINT_FILE_PATH_FIELD_NUMBER: builtins.int
    LIST_FILES_PRE_STEP_CONFIGURATION_FIELD_NUMBER: builtins.int
    SESSION_TOKEN_FIELD_NUMBER: builtins.int
    source_bucket: builtins.str
    """The source bucket in cloud storage"""
    destination_bucket: builtins.str
    """The destination bucket in cloud storage"""
    filepath: builtins.str
    """The full file path to process"""
    destination_path: builtins.str
    """The destination path to save results to"""
    input_file_type: global___InputFileType.ValueType
    """The input file type"""
    output_file_type: global___OutputFileType.ValueType
    """The output file type"""
    token_secret: builtins.str
    """The qwak secret the bucket's token is stored in"""
    secret_secret: builtins.str
    """The qwak secret the bucket's secret is stored in"""
    @property
    def parameters(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BatchJobParameter]:
        """User provided parameters which will be passed to the batch execution job as environment variables"""
    cloud_provider: global___CloudProvider.ValueType
    """The cloud provider"""
    service_account_json_key_secret: builtins.str
    """The service account json key secret"""
    is_point_file_path: builtins.bool
    """Is the file contains points to inference files"""
    @property
    def list_files_pre_step_configuration(self) -> global___ListFilesPreStepConfiguration:
        """Optional pre step configuration, used to list files in the source directory and run inference on subset of files"""
    session_token: builtins.str
    """the session token required to use the bucket for batch inference"""
    def __init__(
        self,
        *,
        source_bucket: builtins.str = ...,
        destination_bucket: builtins.str = ...,
        filepath: builtins.str = ...,
        destination_path: builtins.str = ...,
        input_file_type: global___InputFileType.ValueType = ...,
        output_file_type: global___OutputFileType.ValueType = ...,
        token_secret: builtins.str = ...,
        secret_secret: builtins.str = ...,
        parameters: collections.abc.Iterable[global___BatchJobParameter] | None = ...,
        cloud_provider: global___CloudProvider.ValueType = ...,
        service_account_json_key_secret: builtins.str = ...,
        is_point_file_path: builtins.bool = ...,
        list_files_pre_step_configuration: global___ListFilesPreStepConfiguration | None = ...,
        session_token: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["list_files_pre_step_configuration", b"list_files_pre_step_configuration"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["cloud_provider", b"cloud_provider", "destination_bucket", b"destination_bucket", "destination_path", b"destination_path", "filepath", b"filepath", "input_file_type", b"input_file_type", "is_point_file_path", b"is_point_file_path", "list_files_pre_step_configuration", b"list_files_pre_step_configuration", "output_file_type", b"output_file_type", "parameters", b"parameters", "secret_secret", b"secret_secret", "service_account_json_key_secret", b"service_account_json_key_secret", "session_token", b"session_token", "source_bucket", b"source_bucket", "token_secret", b"token_secret"]) -> None: ...

global___InferenceTaskConfigurationMessage = InferenceTaskConfigurationMessage

class BatchJobParameter(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    KEY_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    key: builtins.str
    value: builtins.str
    def __init__(
        self,
        *,
        key: builtins.str = ...,
        value: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...

global___BatchJobParameter = BatchJobParameter

class CleanInferenceTasksExecutorsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    INFERENCE_JOB_ID_FIELD_NUMBER: builtins.int
    inference_job_id: builtins.str
    """The id of the inference job"""
    def __init__(
        self,
        *,
        inference_job_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["inference_job_id", b"inference_job_id"]) -> None: ...

global___CleanInferenceTasksExecutorsRequest = CleanInferenceTasksExecutorsRequest

class CleanInferenceTasksExecutorsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SUCCESS_FIELD_NUMBER: builtins.int
    FAILURE_REASON_FIELD_NUMBER: builtins.int
    success: builtins.bool
    """Whether the request was successful or not"""
    failure_reason: builtins.str
    """The failure description"""
    def __init__(
        self,
        *,
        success: builtins.bool = ...,
        failure_reason: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["failure_reason", b"failure_reason", "success", b"success"]) -> None: ...

global___CleanInferenceTasksExecutorsResponse = CleanInferenceTasksExecutorsResponse

class CleanInferenceTaskExecutorRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    INFERENCE_JOB_ID_FIELD_NUMBER: builtins.int
    INFERENCE_TASK_ID_FIELD_NUMBER: builtins.int
    inference_job_id: builtins.str
    """The id of the inference job"""
    inference_task_id: builtins.str
    """The id of the inference task"""
    def __init__(
        self,
        *,
        inference_job_id: builtins.str = ...,
        inference_task_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["inference_job_id", b"inference_job_id", "inference_task_id", b"inference_task_id"]) -> None: ...

global___CleanInferenceTaskExecutorRequest = CleanInferenceTaskExecutorRequest

class CleanInferenceTaskExecutorResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SUCCESS_FIELD_NUMBER: builtins.int
    FAILURE_REASON_FIELD_NUMBER: builtins.int
    success: builtins.bool
    """Whether the request was successful or not"""
    failure_reason: builtins.str
    """The failure description"""
    def __init__(
        self,
        *,
        success: builtins.bool = ...,
        failure_reason: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["failure_reason", b"failure_reason", "success", b"success"]) -> None: ...

global___CleanInferenceTaskExecutorResponse = CleanInferenceTaskExecutorResponse

class CreateInferenceTaskExecutorResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SUCCESS_FIELD_NUMBER: builtins.int
    FAILURE_REASON_FIELD_NUMBER: builtins.int
    success: builtins.bool
    """Whether the request was successful or not"""
    failure_reason: builtins.str
    """The failure description"""
    def __init__(
        self,
        *,
        success: builtins.bool = ...,
        failure_reason: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["failure_reason", b"failure_reason", "success", b"success"]) -> None: ...

global___CreateInferenceTaskExecutorResponse = CreateInferenceTaskExecutorResponse

class StartInferenceJobWarmupRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MODEL_ID_FIELD_NUMBER: builtins.int
    BRANCH_ID_FIELD_NUMBER: builtins.int
    BUILD_ID_FIELD_NUMBER: builtins.int
    IMAGE_URL_FIELD_NUMBER: builtins.int
    CPU_FIELD_NUMBER: builtins.int
    MEMORY_AMOUNT_FIELD_NUMBER: builtins.int
    MEMORY_UNITS_FIELD_NUMBER: builtins.int
    EXECUTORS_FIELD_NUMBER: builtins.int
    TIMEOUT_FIELD_NUMBER: builtins.int
    JOB_SIZE_FIELD_NUMBER: builtins.int
    MODEL_UUID_FIELD_NUMBER: builtins.int
    IMAGE_PULL_SECRET_FIELD_NUMBER: builtins.int
    model_id: builtins.str
    """Model details"""
    branch_id: builtins.str
    """branch id"""
    build_id: builtins.str
    """Build Id"""
    image_url: builtins.str
    """The image url to use"""
    cpu: builtins.float
    """Cpu usage"""
    memory_amount: builtins.int
    """Memory usage"""
    memory_units: global___MemoryUnitApi.ValueType
    """Units type of memory"""
    executors: builtins.int
    """Number of executors"""
    timeout: builtins.int
    """Warmup timeout in seconds"""
    @property
    def job_size(self) -> global___BatchJobResources: ...
    model_uuid: builtins.str
    image_pull_secret: builtins.str
    """Image pull secret"""
    def __init__(
        self,
        *,
        model_id: builtins.str = ...,
        branch_id: builtins.str = ...,
        build_id: builtins.str = ...,
        image_url: builtins.str = ...,
        cpu: builtins.float = ...,
        memory_amount: builtins.int = ...,
        memory_units: global___MemoryUnitApi.ValueType = ...,
        executors: builtins.int = ...,
        timeout: builtins.int = ...,
        job_size: global___BatchJobResources | None = ...,
        model_uuid: builtins.str = ...,
        image_pull_secret: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["job_size", b"job_size"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["branch_id", b"branch_id", "build_id", b"build_id", "cpu", b"cpu", "executors", b"executors", "image_pull_secret", b"image_pull_secret", "image_url", b"image_url", "job_size", b"job_size", "memory_amount", b"memory_amount", "memory_units", b"memory_units", "model_id", b"model_id", "model_uuid", b"model_uuid", "timeout", b"timeout"]) -> None: ...

global___StartInferenceJobWarmupRequest = StartInferenceJobWarmupRequest

class StartInferenceJobWarmupResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___StartInferenceJobWarmupResponse = StartInferenceJobWarmupResponse

class CancelInferenceJobWarmupRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MODEL_ID_FIELD_NUMBER: builtins.int
    BRANCH_ID_FIELD_NUMBER: builtins.int
    BUILD_ID_FIELD_NUMBER: builtins.int
    MODEL_UUID_FIELD_NUMBER: builtins.int
    model_id: builtins.str
    branch_id: builtins.str
    build_id: builtins.str
    model_uuid: builtins.str
    def __init__(
        self,
        *,
        model_id: builtins.str = ...,
        branch_id: builtins.str = ...,
        build_id: builtins.str = ...,
        model_uuid: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["branch_id", b"branch_id", "build_id", b"build_id", "model_id", b"model_id", "model_uuid", b"model_uuid"]) -> None: ...

global___CancelInferenceJobWarmupRequest = CancelInferenceJobWarmupRequest

class CancelInferenceJobWarmupResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___CancelInferenceJobWarmupResponse = CancelInferenceJobWarmupResponse

class BatchJobResources(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NUMBER_OF_PODS_FIELD_NUMBER: builtins.int
    CPU_FIELD_NUMBER: builtins.int
    MEMORY_AMOUNT_FIELD_NUMBER: builtins.int
    MEMORY_UNITS_FIELD_NUMBER: builtins.int
    GPU_RESOURCES_FIELD_NUMBER: builtins.int
    number_of_pods: builtins.int
    """Number of pods to deploy"""
    cpu: builtins.float
    """Cpu"""
    memory_amount: builtins.int
    """Amount of memory"""
    memory_units: global___MemoryUnitApi.ValueType
    """Units type of memory"""
    @property
    def gpu_resources(self) -> global___GpuResources:
        """Optional GPU resources for batch"""
    def __init__(
        self,
        *,
        number_of_pods: builtins.int = ...,
        cpu: builtins.float = ...,
        memory_amount: builtins.int = ...,
        memory_units: global___MemoryUnitApi.ValueType = ...,
        gpu_resources: global___GpuResources | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["gpu_resources", b"gpu_resources"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["cpu", b"cpu", "gpu_resources", b"gpu_resources", "memory_amount", b"memory_amount", "memory_units", b"memory_units", "number_of_pods", b"number_of_pods"]) -> None: ...

global___BatchJobResources = BatchJobResources

class GpuResources(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    GPU_TYPE_FIELD_NUMBER: builtins.int
    GPU_AMOUNT_FIELD_NUMBER: builtins.int
    gpu_type: global___GpuType.ValueType
    """The type of the GPU"""
    gpu_amount: builtins.int
    """Amount of GPUs"""
    def __init__(
        self,
        *,
        gpu_type: global___GpuType.ValueType = ...,
        gpu_amount: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["gpu_amount", b"gpu_amount", "gpu_type", b"gpu_type"]) -> None: ...

global___GpuResources = GpuResources
