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

class _FeatureSetLastExecutionStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_FeatureSetLastExecutionState.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    UNKNOWN: _FeatureSetLastExecutionState.ValueType  # 0
    FAILED: _FeatureSetLastExecutionState.ValueType  # 1
    SUCCESS: _FeatureSetLastExecutionState.ValueType  # 2
    INVALIDATING: _FeatureSetLastExecutionState.ValueType  # 3
    SUBMITTED: _FeatureSetLastExecutionState.ValueType  # 4
    RUNNING: _FeatureSetLastExecutionState.ValueType  # 5
    COMPLETED: _FeatureSetLastExecutionState.ValueType  # 6
    SUBMISSION_FAILED: _FeatureSetLastExecutionState.ValueType  # 7
    PENDING_RERUN: _FeatureSetLastExecutionState.ValueType  # 8
    SUCCEEDING: _FeatureSetLastExecutionState.ValueType  # 9
    FAILING: _FeatureSetLastExecutionState.ValueType  # 10
    PENDING: _FeatureSetLastExecutionState.ValueType  # 11

class FeatureSetLastExecutionState(_FeatureSetLastExecutionState, metaclass=_FeatureSetLastExecutionStateEnumTypeWrapper):
    """todo rename to FeatureSetExecutionState after the old state reporter deprication"""

UNKNOWN: FeatureSetLastExecutionState.ValueType  # 0
FAILED: FeatureSetLastExecutionState.ValueType  # 1
SUCCESS: FeatureSetLastExecutionState.ValueType  # 2
INVALIDATING: FeatureSetLastExecutionState.ValueType  # 3
SUBMITTED: FeatureSetLastExecutionState.ValueType  # 4
RUNNING: FeatureSetLastExecutionState.ValueType  # 5
COMPLETED: FeatureSetLastExecutionState.ValueType  # 6
SUBMISSION_FAILED: FeatureSetLastExecutionState.ValueType  # 7
PENDING_RERUN: FeatureSetLastExecutionState.ValueType  # 8
SUCCEEDING: FeatureSetLastExecutionState.ValueType  # 9
FAILING: FeatureSetLastExecutionState.ValueType  # 10
PENDING: FeatureSetLastExecutionState.ValueType  # 11
global___FeatureSetLastExecutionState = FeatureSetLastExecutionState

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

    FEATURE_SET_NAME_FIELD_NUMBER: builtins.int
    FEATURE_SET_ID_FIELD_NUMBER: builtins.int
    SPARK_APP_STATE_FIELD_NUMBER: builtins.int
    EXECUTOR_STATES_FIELD_NUMBER: builtins.int
    FEATURE_SET_JOB_TYPE_FIELD_NUMBER: builtins.int
    ERROR_MESSAGE_FIELD_NUMBER: builtins.int
    SPARK_APP_ID_FIELD_NUMBER: builtins.int
    LAST_MODIFIED_AT_FIELD_NUMBER: builtins.int
    RUN_ID_FIELD_NUMBER: builtins.int
    feature_set_name: builtins.str
    """Feature set name"""
    feature_set_id: builtins.str
    """Feature set id"""
    spark_app_state: global___FeatureSetLastExecutionState.ValueType
    """Spark application state for the feature set"""
    @property
    def executor_states(self) -> global___ExecutorStates:
        """List of executors state"""
    @property
    def feature_set_job_type(self) -> global___FeatureSetJobType:
        """The type of the feature set job"""
    error_message: builtins.str
    """Error message if exists"""
    spark_app_id: builtins.str
    """Spark application id"""
    @property
    def last_modified_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """Last modification time of alerting channel"""
    run_id: builtins.int
    """Running id which represent the schedule job id"""
    def __init__(
        self,
        *,
        feature_set_name: builtins.str = ...,
        feature_set_id: builtins.str = ...,
        spark_app_state: global___FeatureSetLastExecutionState.ValueType = ...,
        executor_states: global___ExecutorStates | None = ...,
        feature_set_job_type: global___FeatureSetJobType | None = ...,
        error_message: builtins.str = ...,
        spark_app_id: builtins.str = ...,
        last_modified_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        run_id: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["executor_states", b"executor_states", "feature_set_job_type", b"feature_set_job_type", "last_modified_at", b"last_modified_at"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["error_message", b"error_message", "executor_states", b"executor_states", "feature_set_id", b"feature_set_id", "feature_set_job_type", b"feature_set_job_type", "feature_set_name", b"feature_set_name", "last_modified_at", b"last_modified_at", "run_id", b"run_id", "spark_app_id", b"spark_app_id", "spark_app_state", b"spark_app_state"]) -> None: ...

global___FeatureSetState = FeatureSetState

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

    STREAMING_FIELD_NUMBER: builtins.int
    BATCH_V1_FIELD_NUMBER: builtins.int
    STREAMING_AGGREGATION_FIELD_NUMBER: builtins.int
    DELETION_JOB_FIELD_NUMBER: builtins.int
    @property
    def streaming(self) -> global___Streaming: ...
    @property
    def batch_v1(self) -> global___BatchV1: ...
    @property
    def streaming_aggregation(self) -> global___StreamingAggregation: ...
    @property
    def deletion_job(self) -> global___DeletionJob: ...
    def __init__(
        self,
        *,
        streaming: global___Streaming | None = ...,
        batch_v1: global___BatchV1 | None = ...,
        streaming_aggregation: global___StreamingAggregation | None = ...,
        deletion_job: global___DeletionJob | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["batch_v1", b"batch_v1", "deletion_job", b"deletion_job", "job_type", b"job_type", "streaming", b"streaming", "streaming_aggregation", b"streaming_aggregation"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["batch_v1", b"batch_v1", "deletion_job", b"deletion_job", "job_type", b"job_type", "streaming", b"streaming", "streaming_aggregation", b"streaming_aggregation"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["job_type", b"job_type"]) -> typing_extensions.Literal["streaming", "batch_v1", "streaming_aggregation", "deletion_job"] | None: ...

global___FeatureSetJobType = FeatureSetJobType

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

    ONLINE_FIELD_NUMBER: builtins.int
    OFFLINE_FIELD_NUMBER: builtins.int
    @property
    def online(self) -> global___Online: ...
    @property
    def offline(self) -> global___Offline: ...
    def __init__(
        self,
        *,
        online: global___Online | None = ...,
        offline: global___Offline | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["offline", b"offline", "online", b"online", "sub_type", b"sub_type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["offline", b"offline", "online", b"online", "sub_type", b"sub_type"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["sub_type", b"sub_type"]) -> typing_extensions.Literal["online", "offline"] | None: ...

global___Streaming = Streaming

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

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

global___Online = Online

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

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

global___Offline = Offline

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

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

global___BatchV1 = BatchV1

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

    ROW_LEVEL_FIELD_NUMBER: builtins.int
    BACKFILL_FIELD_NUMBER: builtins.int
    COMPACTION_FIELD_NUMBER: builtins.int
    @property
    def row_level(self) -> global___RowLevel: ...
    @property
    def backfill(self) -> global___BackfillSubType: ...
    @property
    def compaction(self) -> global___Compaction: ...
    def __init__(
        self,
        *,
        row_level: global___RowLevel | None = ...,
        backfill: global___BackfillSubType | None = ...,
        compaction: global___Compaction | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["backfill", b"backfill", "compaction", b"compaction", "row_level", b"row_level", "sub_type", b"sub_type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["backfill", b"backfill", "compaction", b"compaction", "row_level", b"row_level", "sub_type", b"sub_type"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["sub_type", b"sub_type"]) -> typing_extensions.Literal["row_level", "backfill", "compaction"] | None: ...

global___StreamingAggregation = StreamingAggregation

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

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

global___RowLevel = RowLevel

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

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

global___Compaction = Compaction

class BackfillSubType(google.protobuf.message.Message):
    """Backfill already in used"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___BackfillSubType = BackfillSubType

class DeletionJob(google.protobuf.message.Message):
    """Deletion job"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BATCH_V1_DELETION_FIELD_NUMBER: builtins.int
    STREAMING_V1_DELETION_FIELD_NUMBER: builtins.int
    STREAMING_AGGREGATION_DELETION_FIELD_NUMBER: builtins.int
    @property
    def batch_v1_deletion(self) -> global___BatchV1DeletionJobSubType:
        """deletion of a BatchV1 featureset"""
    @property
    def streaming_v1_deletion(self) -> global___StreamingV1DeletionJobSubType:
        """deletion of a StreamingV1 featureset"""
    @property
    def streaming_aggregation_deletion(self) -> global___StreamingAggregationDeletionJobSubType:
        """deletion of a Streaming Aggregation Featureset"""
    def __init__(
        self,
        *,
        batch_v1_deletion: global___BatchV1DeletionJobSubType | None = ...,
        streaming_v1_deletion: global___StreamingV1DeletionJobSubType | None = ...,
        streaming_aggregation_deletion: global___StreamingAggregationDeletionJobSubType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["batch_v1_deletion", b"batch_v1_deletion", "job_sub_type", b"job_sub_type", "streaming_aggregation_deletion", b"streaming_aggregation_deletion", "streaming_v1_deletion", b"streaming_v1_deletion"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["batch_v1_deletion", b"batch_v1_deletion", "job_sub_type", b"job_sub_type", "streaming_aggregation_deletion", b"streaming_aggregation_deletion", "streaming_v1_deletion", b"streaming_v1_deletion"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["job_sub_type", b"job_sub_type"]) -> typing_extensions.Literal["batch_v1_deletion", "streaming_v1_deletion", "streaming_aggregation_deletion"] | None: ...

global___DeletionJob = DeletionJob

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

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

global___BatchV1DeletionJobSubType = BatchV1DeletionJobSubType

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

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

global___StreamingV1DeletionJobSubType = StreamingV1DeletionJobSubType

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

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

global___StreamingAggregationDeletionJobSubType = StreamingAggregationDeletionJobSubType

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

    EXECUTOR_STATES_FIELD_NUMBER: builtins.int
    @property
    def executor_states(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ExecutorState]: ...
    def __init__(
        self,
        *,
        executor_states: collections.abc.Iterable[global___ExecutorState] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["executor_states", b"executor_states"]) -> None: ...

global___ExecutorStates = ExecutorStates

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

    EXECUTOR_NAME_FIELD_NUMBER: builtins.int
    STATE_FIELD_NUMBER: builtins.int
    executor_name: builtins.str
    """Executor pod name"""
    state: global___FeatureSetLastExecutionState.ValueType
    """state of the running executor"""
    def __init__(
        self,
        *,
        executor_name: builtins.str = ...,
        state: global___FeatureSetLastExecutionState.ValueType = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["executor_name", b"executor_name", "state", b"state"]) -> None: ...

global___ExecutorState = ExecutorState
