pub struct Manifest<S = &'static str, N = S> {
pub name: N,
pub contract_version: S,
pub routing: Routing,
pub long_running: bool,
pub scopes: Vec<S>,
pub metering_unit: S,
pub hardware: Hardware,
pub audience: Audience,
}Expand description
What a module says about itself, so that gateways and hosts never branch on its name.
A module declares it with &'static strs; a host reads one back from its
JSON as Manifest<String, ModuleName>, which refuses a name that breaks
the rule.
Fields§
§name: N§contract_version: SThe version of the operation contract, not of the crate.
routing: Routing§long_running: boolWhether operations may run long enough to need a task.
scopes: Vec<S>The OAuth scopes a caller needs.
metering_unit: SWhat one metered call counts as, for example call.
hardware: Hardware§audience: AudienceTrait Implementations§
Source§impl<'de, S, N> Deserialize<'de> for Manifest<S, N>where
S: Deserialize<'de>,
N: Deserialize<'de>,
impl<'de, S, N> Deserialize<'de> for Manifest<S, N>where
S: Deserialize<'de>,
N: Deserialize<'de>,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl<S, N> Forget for Manifest<S, N>
impl<S, N> Freeze for Manifest<S, N>
impl<S, N> RefUnwindSafe for Manifest<S, N>
impl<S, N> Send for Manifest<S, N>
impl<S, N> Sync for Manifest<S, N>
impl<S, N> Unpin for Manifest<S, N>
impl<S, N> UnsafeUnpin for Manifest<S, N>
impl<S, N> UnwindSafe for Manifest<S, N>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more