1#![cfg_attr(docsrs, feature(doc_cfg))]
2#![doc = include_str!("../README.md")]
3
4#![doc = document_features::document_features!()]
6
7#[cfg(feature = "protovalidate")]
9pub mod protovalidate;
10
11#[cfg(feature = "cel")]
13pub mod cel;
14
15#[cfg(feature = "rpc")]
16mod rpc;
17#[cfg(feature = "rpc")]
18pub use rpc::*;
19
20mod common;
21pub use common::*;
22pub use protobuf::*;
23mod protobuf;
24mod protobuf_impls;
25
26pub mod duration;
28
29pub mod timestamp;
30
31mod any;
32mod any_impls;
33
34mod field_mask;
35
36mod field_type;
37#[doc(inline)]
38pub use field_type::FieldType;
39
40mod empty;
41
42mod constants;
43mod conversions;
44mod datetime_internal;
45mod type_url;
46
47use core::{convert::TryFrom, fmt, time};
48use std::str::FromStr;
49
50use prost::{
51 alloc::{format, string::String, vec::Vec},
52 DecodeError, EncodeError, Message, Name,
53};
54pub(crate) use type_url::{type_url_for, TypeUrl};
55
56#[derive(Clone, PartialEq, ::prost::Message)]
64#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
65pub struct Status {
66 #[prost(int32, tag = "1")]
69 pub code: i32,
70 #[prost(string, tag = "2")]
75 pub message: ::prost::alloc::string::String,
76 #[prost(message, repeated, tag = "3")]
79 pub details: ::prost::alloc::vec::Vec<crate::protobuf::Any>,
80}