"""
@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.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 _PurchaseOption:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _PurchaseOptionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PurchaseOption.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    INVALID_PURCHASE_OPTION: _PurchaseOption.ValueType  # 0
    SPOT_PURCHASE_OPTION: _PurchaseOption.ValueType  # 1
    ONDEMAND_PURCHASE_OPTION: _PurchaseOption.ValueType  # 2

class PurchaseOption(_PurchaseOption, metaclass=_PurchaseOptionEnumTypeWrapper): ...

INVALID_PURCHASE_OPTION: PurchaseOption.ValueType  # 0
SPOT_PURCHASE_OPTION: PurchaseOption.ValueType  # 1
ONDEMAND_PURCHASE_OPTION: PurchaseOption.ValueType  # 2
global___PurchaseOption = PurchaseOption

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
    INVALID_CLOUD_PROVIDER: _CloudProvider.ValueType  # 0
    AWS: _CloudProvider.ValueType  # 1
    GCP: _CloudProvider.ValueType  # 2
    AZURE: _CloudProvider.ValueType  # 3

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

INVALID_CLOUD_PROVIDER: CloudProvider.ValueType  # 0
AWS: CloudProvider.ValueType  # 1
GCP: CloudProvider.ValueType  # 2
AZURE: CloudProvider.ValueType  # 3
global___CloudProvider = CloudProvider

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
    INVALID_MEMORY_UNIT: _MemoryUnit.ValueType  # 0
    MIB: _MemoryUnit.ValueType  # 1
    GIB: _MemoryUnit.ValueType  # 2

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

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

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

class _LogsVerbosityLevelEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_LogsVerbosityLevel.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    INVALID_LOGS_VERBOSITY: _LogsVerbosityLevel.ValueType  # 0
    DEBUG: _LogsVerbosityLevel.ValueType  # 10
    INFO: _LogsVerbosityLevel.ValueType  # 20
    CRITICAL: _LogsVerbosityLevel.ValueType  # 50

class LogsVerbosityLevel(_LogsVerbosityLevel, metaclass=_LogsVerbosityLevelEnumTypeWrapper): ...

INVALID_LOGS_VERBOSITY: LogsVerbosityLevel.ValueType  # 0
DEBUG: LogsVerbosityLevel.ValueType  # 10
INFO: LogsVerbosityLevel.ValueType  # 20
CRITICAL: LogsVerbosityLevel.ValueType  # 50
global___LogsVerbosityLevel = LogsVerbosityLevel

class ModelBuildValues(google.protobuf.message.Message):
    """Represents all values required for initiating a model build job.
    Mirrors the Helm chart values used by Admiral to deploy model builds.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BUILD_INFO_FIELD_NUMBER: builtins.int
    MODEL_METADATA_FIELD_NUMBER: builtins.int
    MODEL_CODE_LOCATION_FIELD_NUMBER: builtins.int
    BUILD_EXECUTION_SPEC_FIELD_NUMBER: builtins.int
    SDK_SPEC_FIELD_NUMBER: builtins.int
    JFROG_ECOSYSTEM_SPEC_FIELD_NUMBER: builtins.int
    JOB_SPEC_FIELD_NUMBER: builtins.int
    @property
    def build_info(self) -> global___BuildInfo:
        """Build identifiers, tags, parameters, and serialized configuration."""
    @property
    def model_metadata(self) -> global___ModelMetadata:
        """Identifiers and ownership metadata."""
    @property
    def model_code_location(self) -> global___ModelCodeLocation:
        """Location of model code"""
    @property
    def build_execution_spec(self) -> global___BuildExecutionSpec:
        """Execution parameters for the build process."""
    @property
    def sdk_spec(self) -> global___SdkSpec:
        """Environment and SDK-specific execution config."""
    @property
    def jfrog_ecosystem_spec(self) -> global___JfrogEcosystemSpec:
        """Access settings for JFrog ecosystem."""
    @property
    def job_spec(self) -> global___JobSpec:
        """Infrastructure and runtime settings for the build job."""
    def __init__(
        self,
        *,
        build_info: global___BuildInfo | None = ...,
        model_metadata: global___ModelMetadata | None = ...,
        model_code_location: global___ModelCodeLocation | None = ...,
        build_execution_spec: global___BuildExecutionSpec | None = ...,
        sdk_spec: global___SdkSpec | None = ...,
        jfrog_ecosystem_spec: global___JfrogEcosystemSpec | None = ...,
        job_spec: global___JobSpec | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["build_execution_spec", b"build_execution_spec", "build_info", b"build_info", "jfrog_ecosystem_spec", b"jfrog_ecosystem_spec", "job_spec", b"job_spec", "model_code_location", b"model_code_location", "model_metadata", b"model_metadata", "sdk_spec", b"sdk_spec"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["build_execution_spec", b"build_execution_spec", "build_info", b"build_info", "jfrog_ecosystem_spec", b"jfrog_ecosystem_spec", "job_spec", b"job_spec", "model_code_location", b"model_code_location", "model_metadata", b"model_metadata", "sdk_spec", b"sdk_spec"]) -> None: ...

global___ModelBuildValues = ModelBuildValues

class BuildInfo(google.protobuf.message.Message):
    """Build identifiers, tags, parameters, and serialized configuration."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BUILD_ID_FIELD_NUMBER: builtins.int
    BRANCH_NAME_FIELD_NUMBER: builtins.int
    BUILD_TAGS_FIELD_NUMBER: builtins.int
    BUILD_CONFIG_FIELD_NUMBER: builtins.int
    BUILD_PROPERTIES_V1_FIELD_NUMBER: builtins.int
    build_id: builtins.str
    branch_name: builtins.str
    @property
    def build_tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    build_config: builtins.str
    """Serialized build configuration."""
    @property
    def build_properties_v1(self) -> global___BuildPropertiesV1: ...
    def __init__(
        self,
        *,
        build_id: builtins.str = ...,
        branch_name: builtins.str = ...,
        build_tags: collections.abc.Iterable[builtins.str] | None = ...,
        build_config: builtins.str = ...,
        build_properties_v1: global___BuildPropertiesV1 | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["build_properties_v1", b"build_properties_v1"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["branch_name", b"branch_name", "build_config", b"build_config", "build_id", b"build_id", "build_properties_v1", b"build_properties_v1", "build_tags", b"build_tags"]) -> None: ...

global___BuildInfo = BuildInfo

class BuildPropertiesV1(google.protobuf.message.Message):
    """Build artifact urls set at upload time"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BUILD_CONFIG_URL_FIELD_NUMBER: builtins.int
    SDK_WHEEL_URL_FIELD_NUMBER: builtins.int
    SDK_VERSION_URL_FIELD_NUMBER: builtins.int
    build_config_url: builtins.str
    sdk_wheel_url: builtins.str
    sdk_version_url: builtins.str
    def __init__(
        self,
        *,
        build_config_url: builtins.str = ...,
        sdk_wheel_url: builtins.str = ...,
        sdk_version_url: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["build_config_url", b"build_config_url", "sdk_version_url", b"sdk_version_url", "sdk_wheel_url", b"sdk_wheel_url"]) -> None: ...

global___BuildPropertiesV1 = BuildPropertiesV1

class ModelMetadata(google.protobuf.message.Message):
    """Metadata identifying the model and its ownership."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MODEL_ID_FIELD_NUMBER: builtins.int
    ACCOUNT_ID_FIELD_NUMBER: builtins.int
    USER_ID_FIELD_NUMBER: builtins.int
    ARTIFACTORY_DETAILS_FIELD_NUMBER: builtins.int
    MODEL_GROUP_NAME_FIELD_NUMBER: builtins.int
    model_id: builtins.str
    account_id: builtins.str
    user_id: builtins.str
    @property
    def artifactory_details(self) -> global___ArtifactoryDetails: ...
    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,
        *,
        model_id: builtins.str = ...,
        account_id: builtins.str = ...,
        user_id: builtins.str = ...,
        artifactory_details: global___ArtifactoryDetails | None = ...,
        model_group_name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["artifactory_details", b"artifactory_details"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["account_id", b"account_id", "artifactory_details", b"artifactory_details", "model_group_name", b"model_group_name", "model_id", b"model_id", "user_id", b"user_id"]) -> None: ...

global___ModelMetadata = ModelMetadata

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

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

global___ArtifactoryDetails = ArtifactoryDetails

class ModelCodeLocation(google.protobuf.message.Message):
    """References to the model's storage location and source control info."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MAIN_MODEL_DIRECTORY_FIELD_NUMBER: builtins.int
    LOCAL_URI_FIELD_NUMBER: builtins.int
    GIT_URI_FIELD_NUMBER: builtins.int
    main_model_directory: builtins.str
    @property
    def local_uri(self) -> global___LocalUri: ...
    @property
    def git_uri(self) -> global___GitUri: ...
    def __init__(
        self,
        *,
        main_model_directory: builtins.str = ...,
        local_uri: global___LocalUri | None = ...,
        git_uri: global___GitUri | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["git_uri", b"git_uri", "local_uri", b"local_uri", "uri", b"uri"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["git_uri", b"git_uri", "local_uri", b"local_uri", "main_model_directory", b"main_model_directory", "uri", b"uri"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["uri", b"uri"]) -> typing_extensions.Literal["local_uri", "git_uri"] | None: ...

global___ModelCodeLocation = ModelCodeLocation

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

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

global___LocalUri = LocalUri

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

    URL_FIELD_NUMBER: builtins.int
    GIT_DETAILS_FIELD_NUMBER: builtins.int
    url: builtins.str
    @property
    def git_details(self) -> global___GitDetails: ...
    def __init__(
        self,
        *,
        url: builtins.str = ...,
        git_details: global___GitDetails | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["git_details", b"git_details"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["git_details", b"git_details", "url", b"url"]) -> None: ...

global___GitUri = GitUri

class GitDetails(google.protobuf.message.Message):
    """Git source control information used for the build."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BRANCH_FIELD_NUMBER: builtins.int
    COMMIT_ID_FIELD_NUMBER: builtins.int
    CREDENTIALS_FIELD_NUMBER: builtins.int
    CREDENTIALS_SECRET_NAME_FIELD_NUMBER: builtins.int
    branch: builtins.str
    commit_id: builtins.str
    credentials: builtins.str
    credentials_secret_name: builtins.str
    def __init__(
        self,
        *,
        branch: builtins.str = ...,
        commit_id: builtins.str = ...,
        credentials: builtins.str = ...,
        credentials_secret_name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["credentials", b"credentials", "credentials_secret_name", b"credentials_secret_name", "git_credentials", b"git_credentials"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["branch", b"branch", "commit_id", b"commit_id", "credentials", b"credentials", "credentials_secret_name", b"credentials_secret_name", "git_credentials", b"git_credentials"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["git_credentials", b"git_credentials"]) -> typing_extensions.Literal["credentials", "credentials_secret_name"] | None: ...

global___GitDetails = GitDetails

class BuildExecutionSpec(google.protobuf.message.Message):
    """Specifies how the build should be executed."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BUILD_IMAGE_DESTINATION_FIELD_NUMBER: builtins.int
    SHOULD_BUILD_WITHOUT_CACHE_FIELD_NUMBER: builtins.int
    LOGS_VERBOSITY_LEVEL_FIELD_NUMBER: builtins.int
    BASE_IMAGE_FIELD_NUMBER: builtins.int
    CUSTOM_IAM_ROLE_ARN_FIELD_NUMBER: builtins.int
    ENV_VARS_FIELD_NUMBER: builtins.int
    REMOTE_BUILDER_AUTH_SECRET_NAME_FIELD_NUMBER: builtins.int
    CONTAINER_ENGINE_FIELD_NUMBER: builtins.int
    build_image_destination: builtins.str
    """Destination image to be built and pushed."""
    should_build_without_cache: builtins.bool
    """If true, disables build caching."""
    logs_verbosity_level: global___LogsVerbosityLevel.ValueType
    """Verbosity level for build logs."""
    base_image: builtins.str
    """Base Docker image used in the build."""
    custom_iam_role_arn: builtins.str
    """Custom IAM role used during the build."""
    @property
    def env_vars(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """Env var parameters used in the build process"""
    remote_builder_auth_secret_name: builtins.str
    """Secret name for the remote builder, used for remote build registry authentication"""
    @property
    def container_engine(self) -> global___ContainerEngine:
        """Container engine to use for the build (e.g., Docker, Podman)"""
    def __init__(
        self,
        *,
        build_image_destination: builtins.str = ...,
        should_build_without_cache: builtins.bool = ...,
        logs_verbosity_level: global___LogsVerbosityLevel.ValueType = ...,
        base_image: builtins.str = ...,
        custom_iam_role_arn: builtins.str = ...,
        env_vars: collections.abc.Iterable[builtins.str] | None = ...,
        remote_builder_auth_secret_name: builtins.str = ...,
        container_engine: global___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["base_image", b"base_image", "build_image_destination", b"build_image_destination", "container_engine", b"container_engine", "custom_iam_role_arn", b"custom_iam_role_arn", "env_vars", b"env_vars", "logs_verbosity_level", b"logs_verbosity_level", "remote_builder_auth_secret_name", b"remote_builder_auth_secret_name", "should_build_without_cache", b"should_build_without_cache"]) -> None: ...

global___BuildExecutionSpec = BuildExecutionSpec

class SdkSpec(google.protobuf.message.Message):
    """Specifies the SDK environment and configuration used to execute the build."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SDK_VERSION_FIELD_NUMBER: builtins.int
    SDK_EXTRA_INDEX_URL_FIELD_NUMBER: builtins.int
    SDK_RUNTIME_VERSION_OVERRIDE_FIELD_NUMBER: builtins.int
    sdk_version: builtins.str
    sdk_extra_index_url: builtins.str
    sdk_runtime_version_override: builtins.str
    def __init__(
        self,
        *,
        sdk_version: builtins.str = ...,
        sdk_extra_index_url: builtins.str = ...,
        sdk_runtime_version_override: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["sdk_extra_index_url", b"sdk_extra_index_url", "sdk_runtime_version_override", b"sdk_runtime_version_override", "sdk_version", b"sdk_version"]) -> None: ...

global___SdkSpec = SdkSpec

class JfrogEcosystemSpec(google.protobuf.message.Message):
    """JFrog ecosystem configuration, used for authentication and configuration"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BASEURL_FIELD_NUMBER: builtins.int
    ACCESSTOKENSECRETNAME_FIELD_NUMBER: builtins.int
    ARTIFACTORYSETTINGSSECRETNAME_FIELD_NUMBER: builtins.int
    baseUrl: builtins.str
    accessTokenSecretName: builtins.str
    artifactorySettingsSecretName: builtins.str
    def __init__(
        self,
        *,
        baseUrl: builtins.str = ...,
        accessTokenSecretName: builtins.str = ...,
        artifactorySettingsSecretName: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["accessTokenSecretName", b"accessTokenSecretName", "artifactorySettingsSecretName", b"artifactorySettingsSecretName", "baseUrl", b"baseUrl"]) -> None: ...

global___JfrogEcosystemSpec = JfrogEcosystemSpec

class JobSpec(google.protobuf.message.Message):
    """Describes the runtime and infrastructure settings for a build job."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class BuildExecutorEnvVarsEntry(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: ...

    NAMESPACE_FIELD_NUMBER: builtins.int
    PROVISION_INSTANCE_TIMEOUT_FIELD_NUMBER: builtins.int
    PURCHASE_OPTION_FIELD_NUMBER: builtins.int
    IS_NODE_OPTIMIZATION_ENABLED_FIELD_NUMBER: builtins.int
    SHOULD_USE_BUILD_ISOLATION_FIELD_NUMBER: builtins.int
    IS_MULTI_TENANT_ENVIRONMENT_FIELD_NUMBER: builtins.int
    IS_SELF_HOSTED_JPD_FIELD_NUMBER: builtins.int
    BUILD_EXECUTOR_IMAGE_URL_FIELD_NUMBER: builtins.int
    CLOUD_PROVIDER_FIELD_NUMBER: builtins.int
    JOB_SIZE_FIELD_NUMBER: builtins.int
    BUILD_EXECUTOR_ENV_VARS_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    """Kubernetes namespace in which to run the build job."""
    provision_instance_timeout: builtins.int
    purchase_option: global___PurchaseOption.ValueType
    is_node_optimization_enabled: builtins.bool
    should_use_build_isolation: builtins.bool
    is_multi_tenant_environment: builtins.bool
    is_self_hosted_jpd: builtins.bool
    build_executor_image_url: builtins.str
    """Image used for the build executor."""
    cloud_provider: global___CloudProvider.ValueType
    @property
    def job_size(self) -> global___JobSize: ...
    @property
    def build_executor_env_vars(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]:
        """Environment variables to set on the build executor container."""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        provision_instance_timeout: builtins.int = ...,
        purchase_option: global___PurchaseOption.ValueType = ...,
        is_node_optimization_enabled: builtins.bool = ...,
        should_use_build_isolation: builtins.bool = ...,
        is_multi_tenant_environment: builtins.bool = ...,
        is_self_hosted_jpd: builtins.bool = ...,
        build_executor_image_url: builtins.str = ...,
        cloud_provider: global___CloudProvider.ValueType = ...,
        job_size: global___JobSize | None = ...,
        build_executor_env_vars: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["job_size", b"job_size"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["build_executor_env_vars", b"build_executor_env_vars", "build_executor_image_url", b"build_executor_image_url", "cloud_provider", b"cloud_provider", "is_multi_tenant_environment", b"is_multi_tenant_environment", "is_node_optimization_enabled", b"is_node_optimization_enabled", "is_self_hosted_jpd", b"is_self_hosted_jpd", "job_size", b"job_size", "namespace", b"namespace", "provision_instance_timeout", b"provision_instance_timeout", "purchase_option", b"purchase_option", "should_use_build_isolation", b"should_use_build_isolation"]) -> None: ...

global___JobSpec = JobSpec

class JobSize(google.protobuf.message.Message):
    """Defines the CPU, memory, and GPU resources allocated to a build job."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CPU_FIELD_NUMBER: builtins.int
    MEMORY_AMOUNT_FIELD_NUMBER: builtins.int
    MEMORY_UNITS_FIELD_NUMBER: builtins.int
    GPU_RESOURCES_FIELD_NUMBER: builtins.int
    CLIENT_POD_COMPUTE_RESOURCES_FIELD_NUMBER: builtins.int
    cpu: builtins.float
    memory_amount: builtins.int
    memory_units: global___MemoryUnit.ValueType
    @property
    def gpu_resources(self) -> qwak.user_application.common.v0.resources_pb2.GpuResources: ...
    @property
    def client_pod_compute_resources(self) -> qwak.user_application.common.v0.resources_pb2.ClientPodComputeResources: ...
    def __init__(
        self,
        *,
        cpu: builtins.float = ...,
        memory_amount: builtins.int = ...,
        memory_units: global___MemoryUnit.ValueType = ...,
        gpu_resources: qwak.user_application.common.v0.resources_pb2.GpuResources | None = ...,
        client_pod_compute_resources: qwak.user_application.common.v0.resources_pb2.ClientPodComputeResources | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["client_pod_compute_resources", b"client_pod_compute_resources", "gpu_resources", b"gpu_resources"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["client_pod_compute_resources", b"client_pod_compute_resources", "cpu", b"cpu", "gpu_resources", b"gpu_resources", "memory_amount", b"memory_amount", "memory_units", b"memory_units"]) -> None: ...

global___JobSize = JobSize

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

    DOCKER_FIELD_NUMBER: builtins.int
    PODMAN_FIELD_NUMBER: builtins.int
    @property
    def docker(self) -> global___DockerContainerEngine: ...
    @property
    def podman(self) -> global___PodmanContainerEngine: ...
    def __init__(
        self,
        *,
        docker: global___DockerContainerEngine | None = ...,
        podman: global___PodmanContainerEngine | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["docker", b"docker", "podman", b"podman", "type", b"type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["docker", b"docker", "podman", b"podman", "type", b"type"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["type", b"type"]) -> typing_extensions.Literal["docker", "podman"] | None: ...

global___ContainerEngine = ContainerEngine

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

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

global___DockerContainerEngine = DockerContainerEngine

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

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

global___PodmanContainerEngine = PodmanContainerEngine
