polyester-sdk 0.1.0-alpha.27

Official Rust SDK for Polyester APIs.
Documentation
// @generated by buffa-codegen. DO NOT EDIT.

/// Proto-only API metadata used for docs generation and UI behavior.
/// This does not affect runtime payloads.
///
/// MFARequirement describes the interactive MFA assurance documented for an RPC.
#[derive(Clone, Copy, PartialEq, Eq, Hash, Debug)]
#[repr(i32)]
pub enum MFARequirement {
    /// No interactive MFA requirement is declared; documentation treats this as none.
    MFA_UNSPECIFIED = 0i32,
    /// The RPC requires recently completed interactive MFA. Stale assurance must be renewed.
    MFA_RECENT = 1i32,
    /// The RPC always requires a fresh, single-use step-up proof, even when MFA was completed recently.
    MFA_FRESH_STEP_UP = 2i32,
    /// The required MFA level depends on the request.
    MFA_CONDITIONAL = 3i32,
}
impl MFARequirement {
    ///Idiomatic alias for [`Self::MFA_UNSPECIFIED`]; `Debug` prints the variant name.
    #[allow(non_upper_case_globals)]
    pub const MfaUnspecified: Self = Self::MFA_UNSPECIFIED;
    ///Idiomatic alias for [`Self::MFA_RECENT`]; `Debug` prints the variant name.
    #[allow(non_upper_case_globals)]
    pub const MfaRecent: Self = Self::MFA_RECENT;
    ///Idiomatic alias for [`Self::MFA_FRESH_STEP_UP`]; `Debug` prints the variant name.
    #[allow(non_upper_case_globals)]
    pub const MfaFreshStepUp: Self = Self::MFA_FRESH_STEP_UP;
    ///Idiomatic alias for [`Self::MFA_CONDITIONAL`]; `Debug` prints the variant name.
    #[allow(non_upper_case_globals)]
    pub const MfaConditional: Self = Self::MFA_CONDITIONAL;
}
impl ::core::default::Default for MFARequirement {
    fn default() -> Self {
        Self::MFA_UNSPECIFIED
    }
}
impl ::serde::Serialize for MFARequirement {
    fn serialize<S: ::serde::Serializer>(
        &self,
        s: S,
    ) -> ::core::result::Result<S::Ok, S::Error> {
        s.serialize_str(::buffa::Enumeration::proto_name(self))
    }
}
impl<'de> ::serde::Deserialize<'de> for MFARequirement {
    fn deserialize<D: ::serde::Deserializer<'de>>(
        d: D,
    ) -> ::core::result::Result<Self, D::Error> {
        struct _V;
        impl ::serde::de::Visitor<'_> for _V {
            type Value = MFARequirement;
            fn expecting(
                &self,
                f: &mut ::core::fmt::Formatter<'_>,
            ) -> ::core::fmt::Result {
                f.write_str(
                    concat!(
                        "a string, integer, or null for ", stringify!(MFARequirement)
                    ),
                )
            }
            fn visit_str<E: ::serde::de::Error>(
                self,
                v: &str,
            ) -> ::core::result::Result<MFARequirement, E> {
                <MFARequirement as ::buffa::Enumeration>::from_proto_name(v)
                    .ok_or_else(|| { ::serde::de::Error::unknown_variant(v, &[]) })
            }
            fn visit_i64<E: ::serde::de::Error>(
                self,
                v: i64,
            ) -> ::core::result::Result<MFARequirement, E> {
                let v32 = i32::try_from(v)
                    .map_err(|_| {
                        ::serde::de::Error::custom(
                            ::buffa::alloc::format!("enum value {v} out of i32 range"),
                        )
                    })?;
                <MFARequirement as ::buffa::Enumeration>::from_i32(v32)
                    .ok_or_else(|| {
                        ::serde::de::Error::custom(
                            ::buffa::alloc::format!("unknown enum value {v32}"),
                        )
                    })
            }
            fn visit_u64<E: ::serde::de::Error>(
                self,
                v: u64,
            ) -> ::core::result::Result<MFARequirement, E> {
                let v32 = i32::try_from(v)
                    .map_err(|_| {
                        ::serde::de::Error::custom(
                            ::buffa::alloc::format!("enum value {v} out of i32 range"),
                        )
                    })?;
                <MFARequirement as ::buffa::Enumeration>::from_i32(v32)
                    .ok_or_else(|| {
                        ::serde::de::Error::custom(
                            ::buffa::alloc::format!("unknown enum value {v32}"),
                        )
                    })
            }
            fn visit_unit<E: ::serde::de::Error>(
                self,
            ) -> ::core::result::Result<MFARequirement, E> {
                ::core::result::Result::Ok(::core::default::Default::default())
            }
        }
        d.deserialize_any(_V)
    }
}
impl ::buffa::json_helpers::ProtoElemJson for MFARequirement {
    fn serialize_proto_json<S: ::serde::Serializer>(
        v: &Self,
        s: S,
    ) -> ::core::result::Result<S::Ok, S::Error> {
        ::serde::Serialize::serialize(v, s)
    }
    fn deserialize_proto_json<'de, D: ::serde::Deserializer<'de>>(
        d: D,
    ) -> ::core::result::Result<Self, D::Error> {
        <Self as ::serde::Deserialize>::deserialize(d)
    }
}
impl ::buffa::Enumeration for MFARequirement {
    fn from_i32(value: i32) -> ::core::option::Option<Self> {
        match value {
            0i32 => ::core::option::Option::Some(Self::MFA_UNSPECIFIED),
            1i32 => ::core::option::Option::Some(Self::MFA_RECENT),
            2i32 => ::core::option::Option::Some(Self::MFA_FRESH_STEP_UP),
            3i32 => ::core::option::Option::Some(Self::MFA_CONDITIONAL),
            _ => ::core::option::Option::None,
        }
    }
    fn to_i32(&self) -> i32 {
        *self as i32
    }
    fn proto_name(&self) -> &'static str {
        match self {
            Self::MFA_UNSPECIFIED => "MFA_UNSPECIFIED",
            Self::MFA_RECENT => "MFA_RECENT",
            Self::MFA_FRESH_STEP_UP => "MFA_FRESH_STEP_UP",
            Self::MFA_CONDITIONAL => "MFA_CONDITIONAL",
        }
    }
    fn from_proto_name(name: &str) -> ::core::option::Option<Self> {
        match name {
            "MFA_UNSPECIFIED" => ::core::option::Option::Some(Self::MFA_UNSPECIFIED),
            "MFA_RECENT" => ::core::option::Option::Some(Self::MFA_RECENT),
            "MFA_FRESH_STEP_UP" => ::core::option::Option::Some(Self::MFA_FRESH_STEP_UP),
            "MFA_CONDITIONAL" => ::core::option::Option::Some(Self::MFA_CONDITIONAL),
            _ => ::core::option::Option::None,
        }
    }
    fn values() -> &'static [Self] {
        &[
            Self::MFA_UNSPECIFIED,
            Self::MFA_RECENT,
            Self::MFA_FRESH_STEP_UP,
            Self::MFA_CONDITIONAL,
        ]
    }
}
#[allow(
    non_camel_case_types,
    dead_code,
    unused_imports,
    unused_qualifications,
    clippy::derivable_impls,
    clippy::match_single_binding,
    clippy::uninlined_format_args,
    clippy::doc_lazy_continuation,
    clippy::module_inception
)]
pub mod __buffa {
    #[allow(unused_imports)]
    use super::*;
    pub mod ext {
        #[allow(unused_imports)]
        use super::*;
        ///Extension `public` on `.google.protobuf.MethodOptions` (field 50001).
        pub const PUBLIC: ::buffa::Extension<::buffa::extension::codecs::Bool> = ::buffa::Extension::new(
            50001u32,
            "google.protobuf.MethodOptions",
        );
        #[doc(hidden)]
        pub const __PUBLIC_JSON_EXT: ::buffa::type_registry::JsonExtEntry = ::buffa::type_registry::JsonExtEntry {
            number: 50001u32,
            full_name: "polyester.api.public",
            extendee: "google.protobuf.MethodOptions",
            to_json: ::buffa::extension_registry::helpers::bool_to_json,
            from_json: ::buffa::extension_registry::helpers::bool_from_json,
        };
        ///Extension `hidden` on `.google.protobuf.MethodOptions` (field 50002).
        pub const HIDDEN: ::buffa::Extension<::buffa::extension::codecs::Bool> = ::buffa::Extension::new(
            50002u32,
            "google.protobuf.MethodOptions",
        );
        #[doc(hidden)]
        pub const __HIDDEN_JSON_EXT: ::buffa::type_registry::JsonExtEntry = ::buffa::type_registry::JsonExtEntry {
            number: 50002u32,
            full_name: "polyester.api.hidden",
            extendee: "google.protobuf.MethodOptions",
            to_json: ::buffa::extension_registry::helpers::bool_to_json,
            from_json: ::buffa::extension_registry::helpers::bool_from_json,
        };
        /**Extension `mfa_requirement` on `.google.protobuf.MethodOptions` (field 50003).

Proto enum type: `.polyester.api.MFARequirement`. Cast via `EnumValue::from_i32`.*/
        pub const MFA_REQUIREMENT: ::buffa::Extension<
            ::buffa::extension::codecs::EnumI32,
        > = ::buffa::Extension::new(50003u32, "google.protobuf.MethodOptions");
        #[doc(hidden)]
        pub const __MFA_REQUIREMENT_JSON_EXT: ::buffa::type_registry::JsonExtEntry = ::buffa::type_registry::JsonExtEntry {
            number: 50003u32,
            full_name: "polyester.api.mfa_requirement",
            extendee: "google.protobuf.MethodOptions",
            to_json: ::buffa::extension_registry::helpers::enum_to_json::<
                super::super::MFARequirement,
            >,
            from_json: ::buffa::extension_registry::helpers::enum_from_json::<
                super::super::MFARequirement,
            >,
        };
    }
    /// Register this package's `Any` type entries and extension entries.
    pub fn register_types(reg: &mut ::buffa::type_registry::TypeRegistry) {
        reg.register_json_ext(super::__buffa::ext::__PUBLIC_JSON_EXT);
        reg.register_json_ext(super::__buffa::ext::__HIDDEN_JSON_EXT);
        reg.register_json_ext(super::__buffa::ext::__MFA_REQUIREMENT_JSON_EXT);
    }
}
#[doc(inline)]
pub use self::__buffa::ext::PUBLIC;
#[doc(inline)]
pub use self::__buffa::ext::HIDDEN;
#[doc(inline)]
pub use self::__buffa::ext::MFA_REQUIREMENT;
#[doc(inline)]
pub use self::__buffa::register_types;