"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.message
import qwak.deployment.deployment_pb2
import sys

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

    MODEL_NAME_FIELD_NUMBER: builtins.int
    BRANCH_ID_FIELD_NUMBER: builtins.int
    BUILD_ID_FIELD_NUMBER: builtins.int
    HOSTING_SERVICE_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    DEPLOYMENT_ID_FIELD_NUMBER: builtins.int
    FAILURE_REASON_CODE_FIELD_NUMBER: builtins.int
    FAILURE_TECHNICAL_DETAILS_FIELD_NUMBER: builtins.int
    model_name: builtins.str
    """Model name, which will be used as a routing key for the model"""
    branch_id: builtins.str
    """Branch ID to deploy the model under"""
    build_id: builtins.str
    """Build ID (which must be successful) to deploy"""
    @property
    def hosting_service(self) -> qwak.deployment.deployment_pb2.HostingService:
        """Downstream hosting service that will serve the Qwak model"""
    status: qwak.deployment.deployment_pb2.ModelDeploymentStatus.ValueType
    """The deployment status"""
    deployment_id: builtins.str
    """The deployment ID"""
    failure_reason_code: builtins.str
    """The failure reason - Machine-readable, UpperCamelCase text"""
    failure_technical_details: builtins.str
    """The message describing the reason"""
    def __init__(
        self,
        *,
        model_name: builtins.str = ...,
        branch_id: builtins.str = ...,
        build_id: builtins.str = ...,
        hosting_service: qwak.deployment.deployment_pb2.HostingService | None = ...,
        status: qwak.deployment.deployment_pb2.ModelDeploymentStatus.ValueType = ...,
        deployment_id: builtins.str = ...,
        failure_reason_code: builtins.str = ...,
        failure_technical_details: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["hosting_service", b"hosting_service"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["branch_id", b"branch_id", "build_id", b"build_id", "deployment_id", b"deployment_id", "failure_reason_code", b"failure_reason_code", "failure_technical_details", b"failure_technical_details", "hosting_service", b"hosting_service", "model_name", b"model_name", "status", b"status"]) -> None: ...

global___ModelDeploymentNotification = ModelDeploymentNotification
