"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
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 _DeploymentUpdateRequestStatus:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _DeploymentUpdateRequestStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DeploymentUpdateRequestStatus.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    DEPLOYMENT_UPDATE_REQUEST_INVALID_STATUS: _DeploymentUpdateRequestStatus.ValueType  # 0
    """Invalid proto status"""
    INVALID_DEPLOYMENT_UPDATE_REQUEST: _DeploymentUpdateRequestStatus.ValueType  # 1
    """Invalid deployment update request status"""
    INITIATING_DEPLOYMENT_UPDATE_REQUEST: _DeploymentUpdateRequestStatus.ValueType  # 2
    """Deployment update request is initiating"""
    FAILED_INITIATING_DEPLOYMENT_UPDATE_REQUEST: _DeploymentUpdateRequestStatus.ValueType  # 3
    """Failed to initiate a deployment update request process"""
    PENDING_DEPLOYMENT_UPDATE_REQUEST: _DeploymentUpdateRequestStatus.ValueType  # 4
    """Deployment update request is in progress"""
    SUCCESSFUL_DEPLOYMENT_UPDATE_REQUEST: _DeploymentUpdateRequestStatus.ValueType  # 5
    """Deployment update request has finished successfully"""

class DeploymentUpdateRequestStatus(_DeploymentUpdateRequestStatus, metaclass=_DeploymentUpdateRequestStatusEnumTypeWrapper): ...

DEPLOYMENT_UPDATE_REQUEST_INVALID_STATUS: DeploymentUpdateRequestStatus.ValueType  # 0
"""Invalid proto status"""
INVALID_DEPLOYMENT_UPDATE_REQUEST: DeploymentUpdateRequestStatus.ValueType  # 1
"""Invalid deployment update request status"""
INITIATING_DEPLOYMENT_UPDATE_REQUEST: DeploymentUpdateRequestStatus.ValueType  # 2
"""Deployment update request is initiating"""
FAILED_INITIATING_DEPLOYMENT_UPDATE_REQUEST: DeploymentUpdateRequestStatus.ValueType  # 3
"""Failed to initiate a deployment update request process"""
PENDING_DEPLOYMENT_UPDATE_REQUEST: DeploymentUpdateRequestStatus.ValueType  # 4
"""Deployment update request is in progress"""
SUCCESSFUL_DEPLOYMENT_UPDATE_REQUEST: DeploymentUpdateRequestStatus.ValueType  # 5
"""Deployment update request has finished successfully"""
global___DeploymentUpdateRequestStatus = DeploymentUpdateRequestStatus

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

class _DeploymentStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DeploymentStatus.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    DEPLOYMENT_INVALID_STATUS: _DeploymentStatus.ValueType  # 0
    """Invalid proto status"""
    DEPLOYMENT_RUNNING: _DeploymentStatus.ValueType  # 1
    """DEPLOYMENT IS IN RUNNING STATE"""
    DEPLOYMENT_UPDATE_IN_PROGRESS: _DeploymentStatus.ValueType  # 2
    """DEPLOYMENT UPDATE REQUEST IS IN PROGRESS"""
    DEPLOYMENT_UNDEPLOYED: _DeploymentStatus.ValueType  # 3
    """DEPLOYMENT WAS DELETED"""
    DEPLOYMENT_FAILED: _DeploymentStatus.ValueType  # 4
    """DEPLOYMENT IS FAILING"""

class DeploymentStatus(_DeploymentStatus, metaclass=_DeploymentStatusEnumTypeWrapper): ...

DEPLOYMENT_INVALID_STATUS: DeploymentStatus.ValueType  # 0
"""Invalid proto status"""
DEPLOYMENT_RUNNING: DeploymentStatus.ValueType  # 1
"""DEPLOYMENT IS IN RUNNING STATE"""
DEPLOYMENT_UPDATE_IN_PROGRESS: DeploymentStatus.ValueType  # 2
"""DEPLOYMENT UPDATE REQUEST IS IN PROGRESS"""
DEPLOYMENT_UNDEPLOYED: DeploymentStatus.ValueType  # 3
"""DEPLOYMENT WAS DELETED"""
DEPLOYMENT_FAILED: DeploymentStatus.ValueType  # 4
"""DEPLOYMENT IS FAILING"""
global___DeploymentStatus = DeploymentStatus

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

class _DeploymentFailureReasonCodeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DeploymentFailureReasonCode.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    INVALID_FAILURE_CODE: _DeploymentFailureReasonCode.ValueType  # 0
    """Invalid failure reason"""
    UNKNOWN_REASON: _DeploymentFailureReasonCode.ValueType  # 1
    """Unknown failure reason"""
    NO_REPLICA_SETS_PODS_FOUND: _DeploymentFailureReasonCode.ValueType  # 2
    """No replica sets pods found reason"""
    CONTAINER_NOT_FOUND: _DeploymentFailureReasonCode.ValueType  # 3
    """Container not found reason"""
    UNSCHEDULABLE: _DeploymentFailureReasonCode.ValueType  # 4
    """Unschedulable reason"""
    DOCKER_IMAGE_NOT_FOUND: _DeploymentFailureReasonCode.ValueType  # 5
    """Docker image not found reason"""
    MEMORY_LIMIT_EXCEEDED: _DeploymentFailureReasonCode.ValueType  # 6
    """Memory limit exceeded reason"""
    CRASH_LOOP: _DeploymentFailureReasonCode.ValueType  # 7
    """Crash loop reason"""
    CONTAINER_FAIL_TO_LOAD_FOR_UNKNOWN_REASON: _DeploymentFailureReasonCode.ValueType  # 8
    """Container fail to load for unknown reason"""

class DeploymentFailureReasonCode(_DeploymentFailureReasonCode, metaclass=_DeploymentFailureReasonCodeEnumTypeWrapper): ...

INVALID_FAILURE_CODE: DeploymentFailureReasonCode.ValueType  # 0
"""Invalid failure reason"""
UNKNOWN_REASON: DeploymentFailureReasonCode.ValueType  # 1
"""Unknown failure reason"""
NO_REPLICA_SETS_PODS_FOUND: DeploymentFailureReasonCode.ValueType  # 2
"""No replica sets pods found reason"""
CONTAINER_NOT_FOUND: DeploymentFailureReasonCode.ValueType  # 3
"""Container not found reason"""
UNSCHEDULABLE: DeploymentFailureReasonCode.ValueType  # 4
"""Unschedulable reason"""
DOCKER_IMAGE_NOT_FOUND: DeploymentFailureReasonCode.ValueType  # 5
"""Docker image not found reason"""
MEMORY_LIMIT_EXCEEDED: DeploymentFailureReasonCode.ValueType  # 6
"""Memory limit exceeded reason"""
CRASH_LOOP: DeploymentFailureReasonCode.ValueType  # 7
"""Crash loop reason"""
CONTAINER_FAIL_TO_LOAD_FOR_UNKNOWN_REASON: DeploymentFailureReasonCode.ValueType  # 8
"""Container fail to load for unknown reason"""
global___DeploymentFailureReasonCode = DeploymentFailureReasonCode

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

    INVALID_REQUEST_TYPE_FIELD_NUMBER: builtins.int
    UPDATE_REQUEST_TYPE_FIELD_NUMBER: builtins.int
    UNDEPLOY_REQUEST_TYPE_FIELD_NUMBER: builtins.int
    DEPLOYMENT_UPDATE_REQUEST_STATUS_FIELD_NUMBER: builtins.int
    @property
    def invalid_request_type(self) -> global___DeploymentInvalidRequestType: ...
    @property
    def update_request_type(self) -> global___DeploymentUpdateRequestType: ...
    @property
    def undeploy_request_type(self) -> global___DeploymentUndeployRequestType: ...
    deployment_update_request_status: global___DeploymentUpdateRequestStatus.ValueType
    def __init__(
        self,
        *,
        invalid_request_type: global___DeploymentInvalidRequestType | None = ...,
        update_request_type: global___DeploymentUpdateRequestType | None = ...,
        undeploy_request_type: global___DeploymentUndeployRequestType | None = ...,
        deployment_update_request_status: global___DeploymentUpdateRequestStatus.ValueType = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["invalid_request_type", b"invalid_request_type", "type", b"type", "undeploy_request_type", b"undeploy_request_type", "update_request_type", b"update_request_type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["deployment_update_request_status", b"deployment_update_request_status", "invalid_request_type", b"invalid_request_type", "type", b"type", "undeploy_request_type", b"undeploy_request_type", "update_request_type", b"update_request_type"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["type", b"type"]) -> typing_extensions.Literal["invalid_request_type", "update_request_type", "undeploy_request_type"] | None: ...

global___DeploymentUpdateRequestState = DeploymentUpdateRequestState

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

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

global___DeploymentInvalidRequestType = DeploymentInvalidRequestType

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

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

global___DeploymentUpdateRequestType = DeploymentUpdateRequestType

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

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

global___DeploymentUndeployRequestType = DeploymentUndeployRequestType

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

    EXTRACTOR_IDENTIFIER_FIELD_NUMBER: builtins.int
    STATUS_DETAILS_FIELD_NUMBER: builtins.int
    @property
    def extractor_identifier(self) -> global___ExtractorDeploymentIdentifier: ...
    @property
    def status_details(self) -> global___DeploymentStatusDetails:
        """Deployment status details of the current state"""
    def __init__(
        self,
        *,
        extractor_identifier: global___ExtractorDeploymentIdentifier | None = ...,
        status_details: global___DeploymentStatusDetails | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["extractor_identifier", b"extractor_identifier", "identifier_type", b"identifier_type", "status_details", b"status_details"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["extractor_identifier", b"extractor_identifier", "identifier_type", b"identifier_type", "status_details", b"status_details"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["identifier_type", b"identifier_type"]) -> typing_extensions.Literal["extractor_identifier"] | None: ...

global___DeploymentState = DeploymentState

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

    EXTRACTOR_DEPLOYMENT_ID_FIELD_NUMBER: builtins.int
    EXTRACTOR_ID_FIELD_NUMBER: builtins.int
    FEATURESET_ID_FIELD_NUMBER: builtins.int
    extractor_deployment_id: builtins.str
    """The ID of the current deployment"""
    extractor_id: builtins.str
    """The ID of the extractor to deploy"""
    featureset_id: builtins.str
    """The ID of the featureset to which the extractor belongs"""
    def __init__(
        self,
        *,
        extractor_deployment_id: builtins.str = ...,
        extractor_id: builtins.str = ...,
        featureset_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["extractor_deployment_id", b"extractor_deployment_id", "extractor_id", b"extractor_id", "featureset_id", b"featureset_id"]) -> None: ...

global___ExtractorDeploymentIdentifier = ExtractorDeploymentIdentifier

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

    UPDATE_IN_PROGRESS_STATUS_DETAILS_FIELD_NUMBER: builtins.int
    RUNNING_STATUS_DETAILS_FIELD_NUMBER: builtins.int
    FAILED_STATUS_DETAILS_FIELD_NUMBER: builtins.int
    @property
    def update_in_progress_status_details(self) -> global___UpdateInProgressStatusDetails:
        """Detailed information about the update in progress status"""
    @property
    def running_status_details(self) -> global___RunningStatusDetails:
        """Detailed information about the active running deployment stats"""
    @property
    def failed_status_details(self) -> global___FailedStatusDetails:
        """Detailed information about the failed deployment"""
    def __init__(
        self,
        *,
        update_in_progress_status_details: global___UpdateInProgressStatusDetails | None = ...,
        running_status_details: global___RunningStatusDetails | None = ...,
        failed_status_details: global___FailedStatusDetails | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["failed_status_details", b"failed_status_details", "running_status_details", b"running_status_details", "status_details", b"status_details", "update_in_progress_status_details", b"update_in_progress_status_details"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["failed_status_details", b"failed_status_details", "running_status_details", b"running_status_details", "status_details", b"status_details", "update_in_progress_status_details", b"update_in_progress_status_details"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["status_details", b"status_details"]) -> typing_extensions.Literal["update_in_progress_status_details", "running_status_details", "failed_status_details"] | None: ...

global___DeploymentStatusDetails = DeploymentStatusDetails

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

    OLD_INSTANCE_FIELD_NUMBER: builtins.int
    NEW_INSTANCE_FIELD_NUMBER: builtins.int
    @property
    def old_instance(self) -> global___InstanceDetails:
        """Detailed information about the old instance"""
    @property
    def new_instance(self) -> global___InstanceDetails:
        """Detailed information about the new instance"""
    def __init__(
        self,
        *,
        old_instance: global___InstanceDetails | None = ...,
        new_instance: global___InstanceDetails | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["new_instance", b"new_instance", "old_instance", b"old_instance"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["new_instance", b"new_instance", "old_instance", b"old_instance"]) -> None: ...

global___UpdateInProgressStatusDetails = UpdateInProgressStatusDetails

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

    RUNNING_INSTANCE_FIELD_NUMBER: builtins.int
    @property
    def running_instance(self) -> global___InstanceDetails:
        """Detailed information about the running instance"""
    def __init__(
        self,
        *,
        running_instance: global___InstanceDetails | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["running_instance", b"running_instance"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["running_instance", b"running_instance"]) -> None: ...

global___RunningStatusDetails = RunningStatusDetails

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

    FAILURE_DETAILS_FIELD_NUMBER: builtins.int
    OLD_INSTANCE_FIELD_NUMBER: builtins.int
    FAILED_INSTANCE_FIELD_NUMBER: builtins.int
    @property
    def failure_details(self) -> global___FailureDetails:
        """Detailed information about the failure status"""
    @property
    def old_instance(self) -> global___InstanceDetails:
        """Detailed information about the previous deployment instance"""
    @property
    def failed_instance(self) -> global___InstanceDetails:
        """Detailed information about the failed instance"""
    def __init__(
        self,
        *,
        failure_details: global___FailureDetails | None = ...,
        old_instance: global___InstanceDetails | None = ...,
        failed_instance: global___InstanceDetails | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["failed_instance", b"failed_instance", "failure_details", b"failure_details", "old_instance", b"old_instance"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["failed_instance", b"failed_instance", "failure_details", b"failure_details", "old_instance", b"old_instance"]) -> None: ...

global___FailedStatusDetails = FailedStatusDetails

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

    DEPLOYMENT_FAILURE_REASON_CODE_FIELD_NUMBER: builtins.int
    FAILURE_REASON_DETAILS_FIELD_NUMBER: builtins.int
    deployment_failure_reason_code: global___DeploymentFailureReasonCode.ValueType
    """The failure reason - Machine-readable"""
    failure_reason_details: builtins.str
    """The message describing the reason"""
    def __init__(
        self,
        *,
        deployment_failure_reason_code: global___DeploymentFailureReasonCode.ValueType = ...,
        failure_reason_details: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["deployment_failure_reason_code", b"deployment_failure_reason_code", "failure_reason_details", b"failure_reason_details"]) -> None: ...

global___FailureDetails = FailureDetails

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

    EXTRACTOR_IDENTIFIER_FIELD_NUMBER: builtins.int
    AVAILABLE_REPLICAS_FIELD_NUMBER: builtins.int
    @property
    def extractor_identifier(self) -> global___ExtractorInstanceIdentifier: ...
    available_replicas: builtins.int
    """Available replicas"""
    def __init__(
        self,
        *,
        extractor_identifier: global___ExtractorInstanceIdentifier | None = ...,
        available_replicas: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["extractor_identifier", b"extractor_identifier", "identifier_type", b"identifier_type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["available_replicas", b"available_replicas", "extractor_identifier", b"extractor_identifier", "identifier_type", b"identifier_type"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["identifier_type", b"identifier_type"]) -> typing_extensions.Literal["extractor_identifier"] | None: ...

global___InstanceDetails = InstanceDetails

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

    EXTRACTOR_DEPLOYMENT_UPDATE_REQUEST_ID_FIELD_NUMBER: builtins.int
    extractor_deployment_update_request_id: builtins.str
    """The ID of the current deployment"""
    def __init__(
        self,
        *,
        extractor_deployment_update_request_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["extractor_deployment_update_request_id", b"extractor_deployment_update_request_id"]) -> None: ...

global___ExtractorInstanceIdentifier = ExtractorInstanceIdentifier
