Skip to main content

polyester/gen/buffa/
polyester.api.rs

1// @generated by buffa-codegen. DO NOT EDIT.
2
3/// Proto-only API metadata used for docs generation and UI behavior.
4/// This does not affect runtime payloads.
5///
6/// MFARequirement describes the interactive MFA assurance documented for an RPC.
7#[derive(Clone, Copy, PartialEq, Eq, Hash, Debug)]
8#[repr(i32)]
9pub enum MFARequirement {
10    /// No interactive MFA requirement is declared; documentation treats this as none.
11    MFA_UNSPECIFIED = 0i32,
12    /// The RPC requires recently completed interactive MFA. Stale assurance must be renewed.
13    MFA_RECENT = 1i32,
14    /// The RPC always requires a fresh, single-use step-up proof, even when MFA was completed recently.
15    MFA_FRESH_STEP_UP = 2i32,
16    /// The required MFA level depends on the request.
17    MFA_CONDITIONAL = 3i32,
18}
19impl MFARequirement {
20    ///Idiomatic alias for [`Self::MFA_UNSPECIFIED`]; `Debug` prints the variant name.
21    #[allow(non_upper_case_globals)]
22    pub const MfaUnspecified: Self = Self::MFA_UNSPECIFIED;
23    ///Idiomatic alias for [`Self::MFA_RECENT`]; `Debug` prints the variant name.
24    #[allow(non_upper_case_globals)]
25    pub const MfaRecent: Self = Self::MFA_RECENT;
26    ///Idiomatic alias for [`Self::MFA_FRESH_STEP_UP`]; `Debug` prints the variant name.
27    #[allow(non_upper_case_globals)]
28    pub const MfaFreshStepUp: Self = Self::MFA_FRESH_STEP_UP;
29    ///Idiomatic alias for [`Self::MFA_CONDITIONAL`]; `Debug` prints the variant name.
30    #[allow(non_upper_case_globals)]
31    pub const MfaConditional: Self = Self::MFA_CONDITIONAL;
32}
33impl ::core::default::Default for MFARequirement {
34    fn default() -> Self {
35        Self::MFA_UNSPECIFIED
36    }
37}
38impl ::serde::Serialize for MFARequirement {
39    fn serialize<S: ::serde::Serializer>(
40        &self,
41        s: S,
42    ) -> ::core::result::Result<S::Ok, S::Error> {
43        s.serialize_str(::buffa::Enumeration::proto_name(self))
44    }
45}
46impl<'de> ::serde::Deserialize<'de> for MFARequirement {
47    fn deserialize<D: ::serde::Deserializer<'de>>(
48        d: D,
49    ) -> ::core::result::Result<Self, D::Error> {
50        struct _V;
51        impl ::serde::de::Visitor<'_> for _V {
52            type Value = MFARequirement;
53            fn expecting(
54                &self,
55                f: &mut ::core::fmt::Formatter<'_>,
56            ) -> ::core::fmt::Result {
57                f.write_str(
58                    concat!(
59                        "a string, integer, or null for ", stringify!(MFARequirement)
60                    ),
61                )
62            }
63            fn visit_str<E: ::serde::de::Error>(
64                self,
65                v: &str,
66            ) -> ::core::result::Result<MFARequirement, E> {
67                <MFARequirement as ::buffa::Enumeration>::from_proto_name(v)
68                    .ok_or_else(|| { ::serde::de::Error::unknown_variant(v, &[]) })
69            }
70            fn visit_i64<E: ::serde::de::Error>(
71                self,
72                v: i64,
73            ) -> ::core::result::Result<MFARequirement, E> {
74                let v32 = i32::try_from(v)
75                    .map_err(|_| {
76                        ::serde::de::Error::custom(
77                            ::buffa::alloc::format!("enum value {v} out of i32 range"),
78                        )
79                    })?;
80                <MFARequirement as ::buffa::Enumeration>::from_i32(v32)
81                    .ok_or_else(|| {
82                        ::serde::de::Error::custom(
83                            ::buffa::alloc::format!("unknown enum value {v32}"),
84                        )
85                    })
86            }
87            fn visit_u64<E: ::serde::de::Error>(
88                self,
89                v: u64,
90            ) -> ::core::result::Result<MFARequirement, E> {
91                let v32 = i32::try_from(v)
92                    .map_err(|_| {
93                        ::serde::de::Error::custom(
94                            ::buffa::alloc::format!("enum value {v} out of i32 range"),
95                        )
96                    })?;
97                <MFARequirement as ::buffa::Enumeration>::from_i32(v32)
98                    .ok_or_else(|| {
99                        ::serde::de::Error::custom(
100                            ::buffa::alloc::format!("unknown enum value {v32}"),
101                        )
102                    })
103            }
104            fn visit_unit<E: ::serde::de::Error>(
105                self,
106            ) -> ::core::result::Result<MFARequirement, E> {
107                ::core::result::Result::Ok(::core::default::Default::default())
108            }
109        }
110        d.deserialize_any(_V)
111    }
112}
113impl ::buffa::json_helpers::ProtoElemJson for MFARequirement {
114    fn serialize_proto_json<S: ::serde::Serializer>(
115        v: &Self,
116        s: S,
117    ) -> ::core::result::Result<S::Ok, S::Error> {
118        ::serde::Serialize::serialize(v, s)
119    }
120    fn deserialize_proto_json<'de, D: ::serde::Deserializer<'de>>(
121        d: D,
122    ) -> ::core::result::Result<Self, D::Error> {
123        <Self as ::serde::Deserialize>::deserialize(d)
124    }
125}
126impl ::buffa::Enumeration for MFARequirement {
127    fn from_i32(value: i32) -> ::core::option::Option<Self> {
128        match value {
129            0i32 => ::core::option::Option::Some(Self::MFA_UNSPECIFIED),
130            1i32 => ::core::option::Option::Some(Self::MFA_RECENT),
131            2i32 => ::core::option::Option::Some(Self::MFA_FRESH_STEP_UP),
132            3i32 => ::core::option::Option::Some(Self::MFA_CONDITIONAL),
133            _ => ::core::option::Option::None,
134        }
135    }
136    fn to_i32(&self) -> i32 {
137        *self as i32
138    }
139    fn proto_name(&self) -> &'static str {
140        match self {
141            Self::MFA_UNSPECIFIED => "MFA_UNSPECIFIED",
142            Self::MFA_RECENT => "MFA_RECENT",
143            Self::MFA_FRESH_STEP_UP => "MFA_FRESH_STEP_UP",
144            Self::MFA_CONDITIONAL => "MFA_CONDITIONAL",
145        }
146    }
147    fn from_proto_name(name: &str) -> ::core::option::Option<Self> {
148        match name {
149            "MFA_UNSPECIFIED" => ::core::option::Option::Some(Self::MFA_UNSPECIFIED),
150            "MFA_RECENT" => ::core::option::Option::Some(Self::MFA_RECENT),
151            "MFA_FRESH_STEP_UP" => ::core::option::Option::Some(Self::MFA_FRESH_STEP_UP),
152            "MFA_CONDITIONAL" => ::core::option::Option::Some(Self::MFA_CONDITIONAL),
153            _ => ::core::option::Option::None,
154        }
155    }
156    fn values() -> &'static [Self] {
157        &[
158            Self::MFA_UNSPECIFIED,
159            Self::MFA_RECENT,
160            Self::MFA_FRESH_STEP_UP,
161            Self::MFA_CONDITIONAL,
162        ]
163    }
164}
165#[allow(
166    non_camel_case_types,
167    dead_code,
168    unused_imports,
169    unused_qualifications,
170    clippy::derivable_impls,
171    clippy::match_single_binding,
172    clippy::uninlined_format_args,
173    clippy::doc_lazy_continuation,
174    clippy::module_inception
175)]
176pub mod __buffa {
177    #[allow(unused_imports)]
178    use super::*;
179    pub mod ext {
180        #[allow(unused_imports)]
181        use super::*;
182        ///Extension `public` on `.google.protobuf.MethodOptions` (field 50001).
183        pub const PUBLIC: ::buffa::Extension<::buffa::extension::codecs::Bool> = ::buffa::Extension::new(
184            50001u32,
185            "google.protobuf.MethodOptions",
186        );
187        #[doc(hidden)]
188        pub const __PUBLIC_JSON_EXT: ::buffa::type_registry::JsonExtEntry = ::buffa::type_registry::JsonExtEntry {
189            number: 50001u32,
190            full_name: "polyester.api.public",
191            extendee: "google.protobuf.MethodOptions",
192            to_json: ::buffa::extension_registry::helpers::bool_to_json,
193            from_json: ::buffa::extension_registry::helpers::bool_from_json,
194        };
195        ///Extension `hidden` on `.google.protobuf.MethodOptions` (field 50002).
196        pub const HIDDEN: ::buffa::Extension<::buffa::extension::codecs::Bool> = ::buffa::Extension::new(
197            50002u32,
198            "google.protobuf.MethodOptions",
199        );
200        #[doc(hidden)]
201        pub const __HIDDEN_JSON_EXT: ::buffa::type_registry::JsonExtEntry = ::buffa::type_registry::JsonExtEntry {
202            number: 50002u32,
203            full_name: "polyester.api.hidden",
204            extendee: "google.protobuf.MethodOptions",
205            to_json: ::buffa::extension_registry::helpers::bool_to_json,
206            from_json: ::buffa::extension_registry::helpers::bool_from_json,
207        };
208        /**Extension `mfa_requirement` on `.google.protobuf.MethodOptions` (field 50003).
209
210Proto enum type: `.polyester.api.MFARequirement`. Cast via `EnumValue::from_i32`.*/
211        pub const MFA_REQUIREMENT: ::buffa::Extension<
212            ::buffa::extension::codecs::EnumI32,
213        > = ::buffa::Extension::new(50003u32, "google.protobuf.MethodOptions");
214        #[doc(hidden)]
215        pub const __MFA_REQUIREMENT_JSON_EXT: ::buffa::type_registry::JsonExtEntry = ::buffa::type_registry::JsonExtEntry {
216            number: 50003u32,
217            full_name: "polyester.api.mfa_requirement",
218            extendee: "google.protobuf.MethodOptions",
219            to_json: ::buffa::extension_registry::helpers::enum_to_json::<
220                super::super::MFARequirement,
221            >,
222            from_json: ::buffa::extension_registry::helpers::enum_from_json::<
223                super::super::MFARequirement,
224            >,
225        };
226    }
227    /// Register this package's `Any` type entries and extension entries.
228    pub fn register_types(reg: &mut ::buffa::type_registry::TypeRegistry) {
229        reg.register_json_ext(super::__buffa::ext::__PUBLIC_JSON_EXT);
230        reg.register_json_ext(super::__buffa::ext::__HIDDEN_JSON_EXT);
231        reg.register_json_ext(super::__buffa::ext::__MFA_REQUIREMENT_JSON_EXT);
232    }
233}
234#[doc(inline)]
235pub use self::__buffa::ext::PUBLIC;
236#[doc(inline)]
237pub use self::__buffa::ext::HIDDEN;
238#[doc(inline)]
239pub use self::__buffa::ext::MFA_REQUIREMENT;
240#[doc(inline)]
241pub use self::__buffa::register_types;