# Generated by the protocol buffer compiler.  DO NOT EDIT!
# sources: google/rpc/status.proto
# plugin: python-betterproto
# This file has been @generated

__all__ = ("Status",)


from dataclasses import dataclass
from typing import (
    List,
)

import betterproto


@dataclass(eq=False, repr=False)
class Status(betterproto.Message):
    """
    The `Status` type defines a logical error model that is suitable for
    different programming environments, including REST APIs and RPC APIs. It is
    used by [gRPC](https://github.com/grpc). Each `Status` message contains
    three pieces of data: error code, error message, and error details.

    You can find out more about this error model and how to work with it in the
    [API Design Guide](https://cloud.google.com/apis/design/errors).
    """

    code: int = betterproto.int32_field(1)
    """
    The status code, which should be an enum value of
    [google.rpc.Code][google.rpc.Code].
    """

    message: str = betterproto.string_field(2)
    """
    A developer-facing error message, which should be in English. Any
    user-facing error message should be localized and sent in the
    [google.rpc.Status.details][google.rpc.Status.details] field, or localized
    by the client.
    """

    details: List["betterproto_lib_google_protobuf.Any"] = betterproto.message_field(3)
    """
    A list of messages that carry the error details.  There is a common set of
    message types for APIs to use.
    """


import betterproto.lib.google.protobuf as betterproto_lib_google_protobuf
