"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""

import builtins
import dbtlabs.proto.public.v1.events.fusion.compat.otlp_pb2
import dbtlabs.proto.public.v1.events.fusion.phase.phase_pb2
import google.protobuf.descriptor
import google.protobuf.message
import typing

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing.final
class LogMessage(google.protobuf.message.Message):
    """Generic event for log messages that do not cary special meaning
    or additional metadata beyond the standard fields
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CODE_FIELD_NUMBER: builtins.int
    DBT_CORE_EVENT_CODE_FIELD_NUMBER: builtins.int
    ORIGINAL_SEVERITY_NUMBER_FIELD_NUMBER: builtins.int
    ORIGINAL_SEVERITY_TEXT_FIELD_NUMBER: builtins.int
    UNIQUE_ID_FIELD_NUMBER: builtins.int
    FILE_FIELD_NUMBER: builtins.int
    LINE_FIELD_NUMBER: builtins.int
    PHASE_FIELD_NUMBER: builtins.int
    code: builtins.int
    """Optional fusion error/warning code"""
    dbt_core_event_code: builtins.str
    """Optional legacy dbt-core code (e.g. "Z048") if this event has a strict mapping to a dbt core event."""
    original_severity_number: dbtlabs.proto.public.v1.events.fusion.compat.otlp_pb2.SeverityNumber.ValueType
    """Original severity before user up/down-grade configuration applied."""
    original_severity_text: builtins.str
    unique_id: builtins.str
    """If this log message is emitted in the context of a specific node,
    this field should be set to the node's unique FQN.
    """
    file: builtins.str
    """File name where the span was created."""
    line: builtins.int
    """Line number in the file where the span was created."""
    phase: dbtlabs.proto.public.v1.events.fusion.phase.phase_pb2.ExecutionPhase.ValueType
    """Execution phase context (if known) where this log was emitted."""
    def __init__(
        self,
        *,
        code: builtins.int | None = ...,
        dbt_core_event_code: builtins.str | None = ...,
        original_severity_number: dbtlabs.proto.public.v1.events.fusion.compat.otlp_pb2.SeverityNumber.ValueType = ...,
        original_severity_text: builtins.str = ...,
        unique_id: builtins.str | None = ...,
        file: builtins.str | None = ...,
        line: builtins.int | None = ...,
        phase: dbtlabs.proto.public.v1.events.fusion.phase.phase_pb2.ExecutionPhase.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_code", b"_code", "_dbt_core_event_code", b"_dbt_core_event_code", "_file", b"_file", "_line", b"_line", "_phase", b"_phase", "_unique_id", b"_unique_id", "code", b"code", "dbt_core_event_code", b"dbt_core_event_code", "file", b"file", "line", b"line", "phase", b"phase", "unique_id", b"unique_id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_code", b"_code", "_dbt_core_event_code", b"_dbt_core_event_code", "_file", b"_file", "_line", b"_line", "_phase", b"_phase", "_unique_id", b"_unique_id", "code", b"code", "dbt_core_event_code", b"dbt_core_event_code", "file", b"file", "line", b"line", "original_severity_number", b"original_severity_number", "original_severity_text", b"original_severity_text", "phase", b"phase", "unique_id", b"unique_id"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_code", b"_code"]) -> typing.Literal["code"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_dbt_core_event_code", b"_dbt_core_event_code"]) -> typing.Literal["dbt_core_event_code"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_file", b"_file"]) -> typing.Literal["file"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_line", b"_line"]) -> typing.Literal["line"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_phase", b"_phase"]) -> typing.Literal["phase"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_unique_id", b"_unique_id"]) -> typing.Literal["unique_id"] | None: ...

global___LogMessage = LogMessage
