"""
@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 qwak.builds.build_values_pb2
import qwak.fitness_service.fitness_pb2
import qwak.user_application.common.v0.resources_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 _MemoryUnit:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

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

class MemoryUnit(_MemoryUnit, metaclass=_MemoryUnitEnumTypeWrapper): ...

UNKNOWN_MEMORY_UNIT: MemoryUnit.ValueType  # 0
MIB: MemoryUnit.ValueType  # 1
GIB: MemoryUnit.ValueType  # 2
global___MemoryUnit = MemoryUnit

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: _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"""
    NVIDIA_H100_NVL: _GpuType.ValueType  # 13
    """H100 NVL XLarge"""
    NVIDIA_A10: _GpuType.ValueType  # 14
    """A10 Small"""
    NVIDIA_H100_SXM: _GpuType.ValueType  # 15
    """H100 SXM 8XLarge"""
    NVIDIA_H100_40GB: _GpuType.ValueType  # 16
    """H100 40GB 8XLarge"""
    NVIDIA_H100_80GB: _GpuType.ValueType  # 17
    """H100 80GB 8XLarge"""
    NVIDIA_M60: _GpuType.ValueType  # 18
    """M60 XLarge"""

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

INVALID: 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"""
NVIDIA_H100_NVL: GpuType.ValueType  # 13
"""H100 NVL XLarge"""
NVIDIA_A10: GpuType.ValueType  # 14
"""A10 Small"""
NVIDIA_H100_SXM: GpuType.ValueType  # 15
"""H100 SXM 8XLarge"""
NVIDIA_H100_40GB: GpuType.ValueType  # 16
"""H100 40GB 8XLarge"""
NVIDIA_H100_80GB: GpuType.ValueType  # 17
"""H100 80GB 8XLarge"""
NVIDIA_M60: GpuType.ValueType  # 18
"""M60 XLarge"""
global___GpuType = GpuType

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

class _DataColumnTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DataColumnType.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    INVALID_COLUMN_TYPE: _DataColumnType.ValueType  # 0
    OBJECT: _DataColumnType.ValueType  # 1
    INT: _DataColumnType.ValueType  # 2
    FLOAT: _DataColumnType.ValueType  # 3
    BOOLEAN: _DataColumnType.ValueType  # 4
    DATETIME: _DataColumnType.ValueType  # 5

class DataColumnType(_DataColumnType, metaclass=_DataColumnTypeEnumTypeWrapper):
    """Pandas Types."""

INVALID_COLUMN_TYPE: DataColumnType.ValueType  # 0
OBJECT: DataColumnType.ValueType  # 1
INT: DataColumnType.ValueType  # 2
FLOAT: DataColumnType.ValueType  # 3
BOOLEAN: DataColumnType.ValueType  # 4
DATETIME: DataColumnType.ValueType  # 5
global___DataColumnType = DataColumnType

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

class _BaseDockerImageTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_BaseDockerImageType.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    UNKNOWN_BASE_DOCKER_IMAGE_TYPE: _BaseDockerImageType.ValueType  # 0
    CPU: _BaseDockerImageType.ValueType  # 1
    GPU: _BaseDockerImageType.ValueType  # 2

class BaseDockerImageType(_BaseDockerImageType, metaclass=_BaseDockerImageTypeEnumTypeWrapper): ...

UNKNOWN_BASE_DOCKER_IMAGE_TYPE: BaseDockerImageType.ValueType  # 0
CPU: BaseDockerImageType.ValueType  # 1
GPU: BaseDockerImageType.ValueType  # 2
global___BaseDockerImageType = BaseDockerImageType

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

    BUILD_PROPERTIES_FIELD_NUMBER: builtins.int
    BUILD_ENV_FIELD_NUMBER: builtins.int
    CPU_RESOURCES_FIELD_NUMBER: builtins.int
    GPU_RESOURCES_FIELD_NUMBER: builtins.int
    CLIENT_POD_COMPUTE_RESOURCES_FIELD_NUMBER: builtins.int
    VERBOSE_FIELD_NUMBER: builtins.int
    BUILD_CODE_PATH_FIELD_NUMBER: builtins.int
    BUILD_CONFIG_FIELD_NUMBER: builtins.int
    BUILD_V1_FLAG_FIELD_NUMBER: builtins.int
    BUILD_PROPERTIES_V1_FIELD_NUMBER: builtins.int
    BUILD_STEPS_FIELD_NUMBER: builtins.int
    ENVIRONMENT_ID_FIELD_NUMBER: builtins.int
    SDK_VERSION_FIELD_NUMBER: builtins.int
    PURCHASE_OPTION_FIELD_NUMBER: builtins.int
    BUILD_DESTINED_IMAGE_FIELD_NUMBER: builtins.int
    PROVISION_INSTANCE_TIMEOUT_FIELD_NUMBER: builtins.int
    JFROG_TOKEN_ID_FIELD_NUMBER: builtins.int
    ARTIFACTORY_PROJECT_KEY_FIELD_NUMBER: builtins.int
    MODEL_VERSION_ID_FIELD_NUMBER: builtins.int
    MODEL_GROUP_NAME_FIELD_NUMBER: builtins.int
    @property
    def build_properties(self) -> global___BuildProperties: ...
    @property
    def build_env(self) -> global___BuildEnv: ...
    @property
    def cpu_resources(self) -> global___CpuResources:
        """CPU Properties"""
    @property
    def gpu_resources(self) -> global___GpuResources:
        """GPU Properties"""
    @property
    def client_pod_compute_resources(self) -> qwak.user_application.common.v0.resources_pb2.ClientPodComputeResources:
        """Build pod compute resources"""
    verbose: builtins.int
    """Logs verbose mode 0: warning, 1: info, 2: debug (by qwak.tools.logger.py VERBOSITY_LEVEL_MAPPING from qwak-sdk)"""
    build_code_path: builtins.str
    """The saved code path."""
    build_config: builtins.str
    """The build configuration yaml as json"""
    build_v1_flag: builtins.bool
    """Build v1 flag"""
    @property
    def build_properties_v1(self) -> global___BuildPropertiesV1:
        """Build Properties V1"""
    @property
    def build_steps(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """The build steps the build will handle"""
    environment_id: builtins.str
    """The environment to build on"""
    sdk_version: builtins.str
    """The build SDK version"""
    purchase_option: qwak.fitness_service.fitness_pb2.PurchaseOption.ValueType
    """Purchase option for the build"""
    build_destined_image: builtins.str
    provision_instance_timeout: builtins.int
    """Timeout in minutes of the provisioning build step"""
    jfrog_token_id: builtins.str
    """JFrog token id for token generation"""
    artifactory_project_key: builtins.str
    """Artifactory project key"""
    model_version_id: builtins.str
    """Optional - The model version's id used for the build"""
    model_group_name: builtins.str
    """Human readable model group identifier (e.g., "my-model-group").
    This is the display name, not the UUID.
    """
    def __init__(
        self,
        *,
        build_properties: global___BuildProperties | None = ...,
        build_env: global___BuildEnv | None = ...,
        cpu_resources: global___CpuResources | None = ...,
        gpu_resources: global___GpuResources | None = ...,
        client_pod_compute_resources: qwak.user_application.common.v0.resources_pb2.ClientPodComputeResources | None = ...,
        verbose: builtins.int = ...,
        build_code_path: builtins.str = ...,
        build_config: builtins.str = ...,
        build_v1_flag: builtins.bool = ...,
        build_properties_v1: global___BuildPropertiesV1 | None = ...,
        build_steps: collections.abc.Iterable[builtins.str] | None = ...,
        environment_id: builtins.str = ...,
        sdk_version: builtins.str = ...,
        purchase_option: qwak.fitness_service.fitness_pb2.PurchaseOption.ValueType = ...,
        build_destined_image: builtins.str = ...,
        provision_instance_timeout: builtins.int = ...,
        jfrog_token_id: builtins.str = ...,
        artifactory_project_key: builtins.str = ...,
        model_version_id: builtins.str = ...,
        model_group_name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["Resources", b"Resources", "build_env", b"build_env", "build_properties", b"build_properties", "build_properties_v1", b"build_properties_v1", "client_pod_compute_resources", b"client_pod_compute_resources", "cpu_resources", b"cpu_resources", "gpu_resources", b"gpu_resources"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["Resources", b"Resources", "artifactory_project_key", b"artifactory_project_key", "build_code_path", b"build_code_path", "build_config", b"build_config", "build_destined_image", b"build_destined_image", "build_env", b"build_env", "build_properties", b"build_properties", "build_properties_v1", b"build_properties_v1", "build_steps", b"build_steps", "build_v1_flag", b"build_v1_flag", "client_pod_compute_resources", b"client_pod_compute_resources", "cpu_resources", b"cpu_resources", "environment_id", b"environment_id", "gpu_resources", b"gpu_resources", "jfrog_token_id", b"jfrog_token_id", "model_group_name", b"model_group_name", "model_version_id", b"model_version_id", "provision_instance_timeout", b"provision_instance_timeout", "purchase_option", b"purchase_option", "sdk_version", b"sdk_version", "verbose", b"verbose"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["Resources", b"Resources"]) -> typing_extensions.Literal["cpu_resources", "gpu_resources", "client_pod_compute_resources"] | None: ...

global___RemoteBuildSpec = RemoteBuildSpec

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

    BUILD_CONFIG_URL_FIELD_NUMBER: builtins.int
    QWAK_SDK_WHEEL_URL_FIELD_NUMBER: builtins.int
    QWAK_SDK_VERSION_URL_FIELD_NUMBER: builtins.int
    build_config_url: builtins.str
    """Build V1 - build config url"""
    qwak_sdk_wheel_url: builtins.str
    """Build V1 - qwak-sdk wheel url"""
    qwak_sdk_version_url: builtins.str
    """Build V1 - qwak-sdk version"""
    def __init__(
        self,
        *,
        build_config_url: builtins.str = ...,
        qwak_sdk_wheel_url: builtins.str = ...,
        qwak_sdk_version_url: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["build_config_url", b"build_config_url", "qwak_sdk_version_url", b"qwak_sdk_version_url", "qwak_sdk_wheel_url", b"qwak_sdk_wheel_url"]) -> None: ...

global___BuildPropertiesV1 = BuildPropertiesV1

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

    BUILD_ID_FIELD_NUMBER: builtins.int
    BRANCH_FIELD_NUMBER: builtins.int
    MODEL_ID_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    MODEL_URI_FIELD_NUMBER: builtins.int
    GPU_COMPATIBLE_FIELD_NUMBER: builtins.int
    BUILD_NAME_FIELD_NUMBER: builtins.int
    build_id: builtins.str
    """Build id"""
    branch: builtins.str
    """Branch name. When none provided - 'main' will be the selected branch"""
    model_id: builtins.str
    """Model id"""
    @property
    def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """Build tags"""
    @property
    def model_uri(self) -> global___ModelUriSpec:
        """Model URI spec"""
    gpu_compatible: builtins.bool
    """Is the build should be GPU compatible"""
    build_name: builtins.str
    def __init__(
        self,
        *,
        build_id: builtins.str = ...,
        branch: builtins.str = ...,
        model_id: builtins.str = ...,
        tags: collections.abc.Iterable[builtins.str] | None = ...,
        model_uri: global___ModelUriSpec | None = ...,
        gpu_compatible: builtins.bool = ...,
        build_name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["model_uri", b"model_uri"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["branch", b"branch", "build_id", b"build_id", "build_name", b"build_name", "gpu_compatible", b"gpu_compatible", "model_id", b"model_id", "model_uri", b"model_uri", "tags", b"tags"]) -> None: ...

global___BuildProperties = BuildProperties

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

    URI_FIELD_NUMBER: builtins.int
    GIT_BRANCH_FIELD_NUMBER: builtins.int
    GIT_CREDENTIALS_FIELD_NUMBER: builtins.int
    GIT_CREDENTIALS_SECRET_FIELD_NUMBER: builtins.int
    COMMIT_ID_FIELD_NUMBER: builtins.int
    MAIN_DIR_FIELD_NUMBER: builtins.int
    DEPENDENCY_REQUIRED_FOLDERS_FIELD_NUMBER: builtins.int
    uri: builtins.str
    """Model code to build upon, can be a download link or a git repo"""
    git_branch: builtins.str
    """Model code branch to clone"""
    git_credentials: builtins.str
    """Git credentials"""
    git_credentials_secret: builtins.str
    """Secret to fetch git credentials, overrides git_credentials if set"""
    commit_id: builtins.str
    """Commit id - filled when using local model code which is part of a git repo"""
    main_dir: builtins.str
    """Override for main dir of model"""
    @property
    def dependency_required_folders(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """Required folders for the model"""
    def __init__(
        self,
        *,
        uri: builtins.str = ...,
        git_branch: builtins.str = ...,
        git_credentials: builtins.str = ...,
        git_credentials_secret: builtins.str = ...,
        commit_id: builtins.str = ...,
        main_dir: builtins.str = ...,
        dependency_required_folders: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["commit_id", b"commit_id", "dependency_required_folders", b"dependency_required_folders", "git_branch", b"git_branch", "git_credentials", b"git_credentials", "git_credentials_secret", b"git_credentials_secret", "main_dir", b"main_dir", "uri", b"uri"]) -> None: ...

global___ModelUriSpec = ModelUriSpec

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

    DOCKER_ENV_FIELD_NUMBER: builtins.int
    PYTHON_ENV_FIELD_NUMBER: builtins.int
    @property
    def docker_env(self) -> global___DockerEnv: ...
    @property
    def python_env(self) -> global___PythonEnv: ...
    def __init__(
        self,
        *,
        docker_env: global___DockerEnv | None = ...,
        python_env: global___PythonEnv | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["docker_env", b"docker_env", "python_env", b"python_env"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["docker_env", b"docker_env", "python_env", b"python_env"]) -> None: ...

global___BuildEnv = BuildEnv

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

    BASE_IMAGE_FIELD_NUMBER: builtins.int
    ENV_VARS_FIELD_NUMBER: builtins.int
    NO_CACHE_FIELD_NUMBER: builtins.int
    ASSUMED_IAM_ROLE_ARN_FIELD_NUMBER: builtins.int
    SERVICE_ACCOUNT_KEY_SECRET_NAME_FIELD_NUMBER: builtins.int
    CONTAINER_ENGINE_FIELD_NUMBER: builtins.int
    base_image: builtins.str
    """Base image to use for serving"""
    @property
    def env_vars(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """Environment variables for the model code"""
    no_cache: builtins.bool
    """Don't use remote cache to build the images, defaults to use cache,
    if the model dependencies changed significantly it could be faster and better to run with no cache
    """
    assumed_iam_role_arn: builtins.str
    """Custom IAM role to be assumed by model"""
    service_account_key_secret_name: builtins.str
    """Service account key secret name for gcp"""
    @property
    def container_engine(self) -> qwak.builds.build_values_pb2.ContainerEngine:
        """Container engine to use for building and pushing the image (e.g., Docker, Podman)"""
    def __init__(
        self,
        *,
        base_image: builtins.str = ...,
        env_vars: collections.abc.Iterable[builtins.str] | None = ...,
        no_cache: builtins.bool = ...,
        assumed_iam_role_arn: builtins.str = ...,
        service_account_key_secret_name: builtins.str = ...,
        container_engine: qwak.builds.build_values_pb2.ContainerEngine | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["container_engine", b"container_engine"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["assumed_iam_role_arn", b"assumed_iam_role_arn", "base_image", b"base_image", "container_engine", b"container_engine", "env_vars", b"env_vars", "no_cache", b"no_cache", "service_account_key_secret_name", b"service_account_key_secret_name"]) -> None: ...

global___DockerEnv = DockerEnv

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

    GIT_CREDENTIALS_FIELD_NUMBER: builtins.int
    GIT_CREDENTIALS_SECRET_FIELD_NUMBER: builtins.int
    QWAK_SDK_VERSION_FIELD_NUMBER: builtins.int
    QWAK_SDK_EXTRA_INDEX_FIELD_NUMBER: builtins.int
    FROGML_CLI_VERSION_FIELD_NUMBER: builtins.int
    FROGML_CLI_EXTRA_INDEX_FIELD_NUMBER: builtins.int
    git_credentials: builtins.str
    """Git credentials"""
    git_credentials_secret: builtins.str
    """Secret to fetch git credentials, overrides git_credentials if set"""
    qwak_sdk_version: builtins.str
    """Qwak sdk version of calling user"""
    qwak_sdk_extra_index: builtins.str
    """Pip extra index url to install qwak-sdk from"""
    frogml_cli_version: builtins.str
    """FrogML cli version of calling user"""
    frogml_cli_extra_index: builtins.str
    """Pip extra index url to install frogml-cli from"""
    def __init__(
        self,
        *,
        git_credentials: builtins.str = ...,
        git_credentials_secret: builtins.str = ...,
        qwak_sdk_version: builtins.str = ...,
        qwak_sdk_extra_index: builtins.str = ...,
        frogml_cli_version: builtins.str = ...,
        frogml_cli_extra_index: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["frogml_cli_extra_index", b"frogml_cli_extra_index", "frogml_cli_version", b"frogml_cli_version", "git_credentials", b"git_credentials", "git_credentials_secret", b"git_credentials_secret", "qwak_sdk_extra_index", b"qwak_sdk_extra_index", "qwak_sdk_version", b"qwak_sdk_version"]) -> None: ...

global___PythonEnv = PythonEnv

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

    CPU_FIELD_NUMBER: builtins.int
    MEMORY_AMOUNT_FIELD_NUMBER: builtins.int
    MEMORY_UNITS_FIELD_NUMBER: builtins.int
    cpu: builtins.float
    """Amount of CPU cores"""
    memory_amount: builtins.int
    """Amount of memory"""
    memory_units: global___MemoryUnit.ValueType
    """Units type of memory"""
    def __init__(
        self,
        *,
        cpu: builtins.float = ...,
        memory_amount: builtins.int = ...,
        memory_units: global___MemoryUnit.ValueType = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["cpu", b"cpu", "memory_amount", b"memory_amount", "memory_units", b"memory_units"]) -> None: ...

global___CpuResources = CpuResources

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

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

    COLUMNS_FIELD_NUMBER: builtins.int
    DATA_FORMAT_FIELD_NUMBER: builtins.int
    @property
    def columns(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DataColumnDefinition]:
        """The columns of the data."""
    @property
    def data_format(self) -> global___DataFormat:
        """How the data as been saved."""
    def __init__(
        self,
        *,
        columns: collections.abc.Iterable[global___DataColumnDefinition] | None = ...,
        data_format: global___DataFormat | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["data_format", b"data_format"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["columns", b"columns", "data_format", b"data_format"]) -> None: ...

global___DataTableDefinition = DataTableDefinition

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

    NAME_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    name: builtins.str
    """The name of the column to save."""
    type: global___DataColumnType.ValueType
    """The type of the column."""
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        type: global___DataColumnType.ValueType = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "type", b"type"]) -> None: ...

global___DataColumnDefinition = DataColumnDefinition

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

    CSV_FIELD_NUMBER: builtins.int
    @property
    def csv(self) -> global___CsvFormat: ...
    def __init__(
        self,
        *,
        csv: global___CsvFormat | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["csv", b"csv", "format", b"format"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["csv", b"csv", "format", b"format"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["format", b"format"]) -> typing_extensions.Literal["csv"] | None: ...

global___DataFormat = DataFormat

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

    DELIMITER_FIELD_NUMBER: builtins.int
    QUOTE_CHAR_FIELD_NUMBER: builtins.int
    ESCAPE_CHAR_FIELD_NUMBER: builtins.int
    delimiter: builtins.str
    """Separator character - represent field in the data"""
    quote_char: builtins.str
    """Quote Character"""
    escape_char: builtins.str
    """Escape character - for special character in the data."""
    def __init__(
        self,
        *,
        delimiter: builtins.str = ...,
        quote_char: builtins.str = ...,
        escape_char: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["delimiter", b"delimiter", "escape_char", b"escape_char", "quote_char", b"quote_char"]) -> None: ...

global___CsvFormat = CsvFormat

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

    USER_FIELD_NUMBER: builtins.int
    AUTOMATION_FIELD_NUMBER: builtins.int
    @property
    def user(self) -> global___UserBuildInitiator: ...
    @property
    def automation(self) -> global___AutomationBuildInitiator: ...
    def __init__(
        self,
        *,
        user: global___UserBuildInitiator | None = ...,
        automation: global___AutomationBuildInitiator | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["Initiator", b"Initiator", "automation", b"automation", "user", b"user"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["Initiator", b"Initiator", "automation", b"automation", "user", b"user"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["Initiator", b"Initiator"]) -> typing_extensions.Literal["user", "automation"] | None: ...

global___BuildInitiator = BuildInitiator

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

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

global___UserBuildInitiator = UserBuildInitiator

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

    AUTOMATION_ID_FIELD_NUMBER: builtins.int
    EXECUTION_ID_FIELD_NUMBER: builtins.int
    AUTOMATION_NAME_FIELD_NUMBER: builtins.int
    automation_id: builtins.str
    """The id of the automation that triggered the build"""
    execution_id: builtins.str
    """The specific execution that trigger the build"""
    automation_name: builtins.str
    """The name of the automation that trigger the build"""
    def __init__(
        self,
        *,
        automation_id: builtins.str = ...,
        execution_id: builtins.str = ...,
        automation_name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["automation_id", b"automation_id", "automation_name", b"automation_name", "execution_id", b"execution_id"]) -> None: ...

global___AutomationBuildInitiator = AutomationBuildInitiator
