"""
@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 google.protobuf.timestamp_pb2
import qwak.feature_store.features.deployment_pb2
import qwak.feature_store.features.execution_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 _PythonVersion:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _PythonVersionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PythonVersion.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    PYTHON_VERSION_INVALID: _PythonVersion.ValueType  # 0
    PYTHON_VERSION_3_7: _PythonVersion.ValueType  # 1
    PYTHON_VERSION_3_8: _PythonVersion.ValueType  # 2
    PYTHON_VERSION_3_9: _PythonVersion.ValueType  # 3

class PythonVersion(_PythonVersion, metaclass=_PythonVersionEnumTypeWrapper): ...

PYTHON_VERSION_INVALID: PythonVersion.ValueType  # 0
PYTHON_VERSION_3_7: PythonVersion.ValueType  # 1
PYTHON_VERSION_3_8: PythonVersion.ValueType  # 2
PYTHON_VERSION_3_9: PythonVersion.ValueType  # 3
global___PythonVersion = PythonVersion

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

    REAL_TIME_FEATURE_EXTRACTOR_DEFINITION_FIELD_NUMBER: builtins.int
    METADATA_FIELD_NUMBER: builtins.int
    @property
    def real_time_feature_extractor_definition(self) -> global___RealTimeFeatureExtractorDefinition:
        """Definition of the real time extractor"""
    @property
    def metadata(self) -> global___RealTimeFeatureExtractorMetadata:
        """Metadata of the real time extractor"""
    def __init__(
        self,
        *,
        real_time_feature_extractor_definition: global___RealTimeFeatureExtractorDefinition | None = ...,
        metadata: global___RealTimeFeatureExtractorMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["metadata", b"metadata", "real_time_feature_extractor_definition", b"real_time_feature_extractor_definition"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["metadata", b"metadata", "real_time_feature_extractor_definition", b"real_time_feature_extractor_definition"]) -> None: ...

global___RealTimeFeatureExtractor = RealTimeFeatureExtractor

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

    REAL_TIME_FEATURE_EXTRACTOR_ID_FIELD_NUMBER: builtins.int
    REAL_TIME_FEATURE_EXTRACTOR_SPEC_FIELD_NUMBER: builtins.int
    LAST_DEPLOYMENT_STATUS_FIELD_NUMBER: builtins.int
    real_time_feature_extractor_id: builtins.str
    """Assigned unique id of the real time extractor"""
    @property
    def real_time_feature_extractor_spec(self) -> global___RealTimeFeatureExtractorSpec:
        """Specifications of the real time extractor"""
    last_deployment_status: qwak.feature_store.features.deployment_pb2.DeploymentStatus.ValueType
    """Last deployment status of the real time extractor"""
    def __init__(
        self,
        *,
        real_time_feature_extractor_id: builtins.str = ...,
        real_time_feature_extractor_spec: global___RealTimeFeatureExtractorSpec | None = ...,
        last_deployment_status: qwak.feature_store.features.deployment_pb2.DeploymentStatus.ValueType = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["real_time_feature_extractor_spec", b"real_time_feature_extractor_spec"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["last_deployment_status", b"last_deployment_status", "real_time_feature_extractor_id", b"real_time_feature_extractor_id", "real_time_feature_extractor_spec", b"real_time_feature_extractor_spec"]) -> None: ...

global___RealTimeFeatureExtractorDefinition = RealTimeFeatureExtractorDefinition

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

    CREATED_TIMESTAMP_FIELD_NUMBER: builtins.int
    CREATED_BY_FIELD_NUMBER: builtins.int
    LAST_MODIFICATION_TIMESTAMP_FIELD_NUMBER: builtins.int
    LAST_MODIFIED_BY_FIELD_NUMBER: builtins.int
    @property
    def created_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """When the realtime feature extractor was created"""
    created_by: builtins.str
    """User that created the real time extractor"""
    @property
    def last_modification_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """When was the real time extractor last modified"""
    last_modified_by: builtins.str
    """User that last modified the real time extractor"""
    def __init__(
        self,
        *,
        created_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        created_by: builtins.str = ...,
        last_modification_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        last_modified_by: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["created_timestamp", b"created_timestamp", "last_modification_timestamp", b"last_modification_timestamp"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["created_by", b"created_by", "created_timestamp", b"created_timestamp", "last_modification_timestamp", b"last_modification_timestamp", "last_modified_by", b"last_modified_by"]) -> None: ...

global___RealTimeFeatureExtractorMetadata = RealTimeFeatureExtractorMetadata

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

    REAL_TIME_ARTIFACT_FIELD_NUMBER: builtins.int
    DEPENDENCY_MANAGER_FIELD_NUMBER: builtins.int
    CLIENT_POD_COMPUTE_RESOURCES_FIELD_NUMBER: builtins.int
    MAX_STALENESS_SECONDS_FIELD_NUMBER: builtins.int
    @property
    def real_time_artifact(self) -> global___ExtractionArtifact:
        """Extraction artifact field containing all relevant information related to the code's artifact"""
    @property
    def dependency_manager(self) -> global___PythonDependencyManager:
        """Python dependency manager"""
    @property
    def client_pod_compute_resources(self) -> global___ExtractorComputeResources:
        """Resources dedicated to the real time extractor"""
    max_staleness_seconds: builtins.int
    """Max staleness time interval passed in seconds"""
    def __init__(
        self,
        *,
        real_time_artifact: global___ExtractionArtifact | None = ...,
        dependency_manager: global___PythonDependencyManager | None = ...,
        client_pod_compute_resources: global___ExtractorComputeResources | None = ...,
        max_staleness_seconds: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["client_pod_compute_resources", b"client_pod_compute_resources", "dependency_manager", b"dependency_manager", "real_time_artifact", b"real_time_artifact"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["client_pod_compute_resources", b"client_pod_compute_resources", "dependency_manager", b"dependency_manager", "max_staleness_seconds", b"max_staleness_seconds", "real_time_artifact", b"real_time_artifact"]) -> None: ...

global___RealTimeFeatureExtractorSpec = RealTimeFeatureExtractorSpec

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

    AWS_S3_FIELD_NUMBER: builtins.int
    @property
    def aws_s3(self) -> global___AwsS3:
        """AWS S3 filesystem"""
    def __init__(
        self,
        *,
        aws_s3: global___AwsS3 | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["aws_s3", b"aws_s3", "fs_type", b"fs_type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["aws_s3", b"aws_s3", "fs_type", b"fs_type"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["fs_type", b"fs_type"]) -> typing_extensions.Literal["aws_s3"] | None: ...

global___ExtractionArtifact = ExtractionArtifact

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

    ARTIFACT_PATH_FIELD_NUMBER: builtins.int
    artifact_path: builtins.str
    """Path where the artifact can be found and downloaded from"""
    def __init__(
        self,
        *,
        artifact_path: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["artifact_path", b"artifact_path"]) -> None: ...

global___AwsS3 = AwsS3

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

    PYTHON_VERSION_FIELD_NUMBER: builtins.int
    VIRTUALENV_FIELD_NUMBER: builtins.int
    CONDA_FIELD_NUMBER: builtins.int
    POETRY_FIELD_NUMBER: builtins.int
    python_version: global___PythonVersion.ValueType
    """Python version used"""
    @property
    def virtualenv(self) -> global___VirtualEnvironment:
        """virtualenv"""
    @property
    def conda(self) -> global___Conda:
        """conda"""
    @property
    def poetry(self) -> global___Poetry:
        """poetry"""
    def __init__(
        self,
        *,
        python_version: global___PythonVersion.ValueType = ...,
        virtualenv: global___VirtualEnvironment | None = ...,
        conda: global___Conda | None = ...,
        poetry: global___Poetry | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["conda", b"conda", "poetry", b"poetry", "type", b"type", "virtualenv", b"virtualenv"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["conda", b"conda", "poetry", b"poetry", "python_version", b"python_version", "type", b"type", "virtualenv", b"virtualenv"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["type", b"type"]) -> typing_extensions.Literal["virtualenv", "conda", "poetry"] | None: ...

global___PythonDependencyManager = PythonDependencyManager

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

    BASE64_ENCODED_CONDA_FILE_FIELD_NUMBER: builtins.int
    base64_encoded_conda_file: builtins.str
    """Base64 utf-8 encoded contents of a conda file"""
    def __init__(
        self,
        *,
        base64_encoded_conda_file: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["base64_encoded_conda_file", b"base64_encoded_conda_file"]) -> None: ...

global___Conda = Conda

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

    BASE64_ENCODED_LOCK_FILE_FIELD_NUMBER: builtins.int
    base64_encoded_lock_file: builtins.str
    """Base64 utf-8 encoded contents of a poetry lock file"""
    def __init__(
        self,
        *,
        base64_encoded_lock_file: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["base64_encoded_lock_file", b"base64_encoded_lock_file"]) -> None: ...

global___Poetry = Poetry

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

    BASE64_ENCODED_REQUIREMENTS_TXT_FIELD_NUMBER: builtins.int
    base64_encoded_requirements_txt: builtins.str
    """Base64 utf-8 encoded contents of a requirements file,"""
    def __init__(
        self,
        *,
        base64_encoded_requirements_txt: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["base64_encoded_requirements_txt", b"base64_encoded_requirements_txt"]) -> None: ...

global___VirtualEnvironment = VirtualEnvironment

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

    COMPUTE_RESOURCE_TEMPLATE_FIELD_NUMBER: builtins.int
    PARALLELISM_FIELD_NUMBER: builtins.int
    REPLICAS_FIELD_NUMBER: builtins.int
    compute_resource_template: qwak.feature_store.features.execution_pb2.ClusterTemplate.ValueType
    parallelism: builtins.int
    """Webserver workers"""
    replicas: builtins.int
    """Pod count"""
    def __init__(
        self,
        *,
        compute_resource_template: qwak.feature_store.features.execution_pb2.ClusterTemplate.ValueType = ...,
        parallelism: builtins.int = ...,
        replicas: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["compute_resource_template", b"compute_resource_template", "resources", b"resources"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["compute_resource_template", b"compute_resource_template", "parallelism", b"parallelism", "replicas", b"replicas", "resources", b"resources"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["resources", b"resources"]) -> typing_extensions.Literal["compute_resource_template"] | None: ...

global___ExtractorComputeResources = ExtractorComputeResources

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

    DEPLOYMENT_ID_FIELD_NUMBER: builtins.int
    EXTRACTOR_ID_FIELD_NUMBER: builtins.int
    ENVIRONMENT_ID_FIELD_NUMBER: builtins.int
    CREATED_USER_ID_FIELD_NUMBER: builtins.int
    UPDATED_USER_ID_FIELD_NUMBER: builtins.int
    CREATED_TIMESTAMP_FIELD_NUMBER: builtins.int
    UPDATED_TIMESTAMP_FIELD_NUMBER: builtins.int
    DEPLOYMENT_STATUS_FIELD_NUMBER: builtins.int
    deployment_id: builtins.str
    extractor_id: builtins.str
    environment_id: builtins.str
    created_user_id: builtins.str
    updated_user_id: builtins.str
    @property
    def created_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def updated_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    deployment_status: qwak.feature_store.features.deployment_pb2.DeploymentStatus.ValueType
    def __init__(
        self,
        *,
        deployment_id: builtins.str = ...,
        extractor_id: builtins.str = ...,
        environment_id: builtins.str = ...,
        created_user_id: builtins.str = ...,
        updated_user_id: builtins.str = ...,
        created_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        updated_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        deployment_status: qwak.feature_store.features.deployment_pb2.DeploymentStatus.ValueType = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["created_timestamp", b"created_timestamp", "updated_timestamp", b"updated_timestamp"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["created_timestamp", b"created_timestamp", "created_user_id", b"created_user_id", "deployment_id", b"deployment_id", "deployment_status", b"deployment_status", "environment_id", b"environment_id", "extractor_id", b"extractor_id", "updated_timestamp", b"updated_timestamp", "updated_user_id", b"updated_user_id"]) -> None: ...

global___RealtimeFeatureExtractorDeployment = RealtimeFeatureExtractorDeployment

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

    UPDATE_REQUEST_ID_FIELD_NUMBER: builtins.int
    DEPLOYMENT_ID_FIELD_NUMBER: builtins.int
    ENVIRONMENT_ID_FIELD_NUMBER: builtins.int
    CREATED_USER_ID_FIELD_NUMBER: builtins.int
    REQUEST_STATE_FIELD_NUMBER: builtins.int
    DEPLOYMENT_FAILURE_REASON_CODE_FIELD_NUMBER: builtins.int
    CREATED_TIMESTAMP_FIELD_NUMBER: builtins.int
    UPDATED_TIMESTAMP_FIELD_NUMBER: builtins.int
    update_request_id: builtins.str
    deployment_id: builtins.str
    environment_id: builtins.str
    created_user_id: builtins.str
    @property
    def request_state(self) -> qwak.feature_store.features.deployment_pb2.DeploymentUpdateRequestState: ...
    deployment_failure_reason_code: qwak.feature_store.features.deployment_pb2.DeploymentFailureReasonCode.ValueType
    @property
    def created_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def updated_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        update_request_id: builtins.str = ...,
        deployment_id: builtins.str = ...,
        environment_id: builtins.str = ...,
        created_user_id: builtins.str = ...,
        request_state: qwak.feature_store.features.deployment_pb2.DeploymentUpdateRequestState | None = ...,
        deployment_failure_reason_code: qwak.feature_store.features.deployment_pb2.DeploymentFailureReasonCode.ValueType = ...,
        created_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        updated_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["created_timestamp", b"created_timestamp", "deployment_failure_reason_code", b"deployment_failure_reason_code", "failure_reason_code", b"failure_reason_code", "request_state", b"request_state", "updated_timestamp", b"updated_timestamp"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["created_timestamp", b"created_timestamp", "created_user_id", b"created_user_id", "deployment_failure_reason_code", b"deployment_failure_reason_code", "deployment_id", b"deployment_id", "environment_id", b"environment_id", "failure_reason_code", b"failure_reason_code", "request_state", b"request_state", "update_request_id", b"update_request_id", "updated_timestamp", b"updated_timestamp"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["failure_reason_code", b"failure_reason_code"]) -> typing_extensions.Literal["deployment_failure_reason_code"] | None: ...

global___RealtimeFeatureExtractorDeploymentUpdateRequest = RealtimeFeatureExtractorDeploymentUpdateRequest
