pub struct CheckoutGrant {Show 15 fields
pub v: u32,
pub grant_id: String,
pub mesh_id: String,
pub seed_device_id: String,
pub grant_key_id: String,
pub source: String,
pub registry: String,
pub cog_id: String,
pub version: String,
pub artifacts: Vec<GrantArtifact>,
pub manifest_sha256: String,
pub licence: LicenceRef,
pub seq: u64,
pub issued_at: u64,
pub expires_at: u64,
}Expand description
The signed grant payload.
Fields§
§v: u32Always 1.
grant_id: Stringsha256 of this payload with grant_id empty (CheckoutGrant::compute_id).
mesh_id: StringThe mesh, as MeshId::to_hex.
seed_device_id: StringThe Seed’s device id.
grant_key_id: Stringed25519: plus 16 hex, the grant key’s id (key_id).
source: StringAlways cognitum.
registry: StringRegistry the binaries came from.
cog_id: StringCog id.
version: StringCog version.
artifacts: Vec<GrantArtifact>Checked-out binaries, sorted by arch.
manifest_sha256: Stringsha256 of the registry entry used.
licence: LicenceRefThe licence behind the grant.
seq: u64Per (mesh, cog, version); the highest wins.
issued_at: u64Signing time, unix seconds.
expires_at: u64End of validity; <= issued_at is a withdrawal.
Implementations§
Source§impl CheckoutGrant
impl CheckoutGrant
Sourcepub fn compute_id(&self) -> String
pub fn compute_id(&self) -> String
The grant_id for this grant’s content.
Sourcepub fn is_withdrawal(&self) -> bool
pub fn is_withdrawal(&self) -> bool
A withdrawal is a renewal with expires_at <= issued_at.
Sourcepub fn artifact(&self, arch: &str) -> Option<&GrantArtifact>
pub fn artifact(&self, arch: &str) -> Option<&GrantArtifact>
The artifact for arch.
Sourcepub fn artifact_by_blake3(&self, blake3: &str) -> Option<&GrantArtifact>
pub fn artifact_by_blake3(&self, blake3: &str) -> Option<&GrantArtifact>
The artifact whose BLAKE3 is blake3.
Trait Implementations§
Source§impl Clone for CheckoutGrant
impl Clone for CheckoutGrant
Source§fn clone(&self) -> CheckoutGrant
fn clone(&self) -> CheckoutGrant
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CheckoutGrant
impl Debug for CheckoutGrant
Source§impl<'de> Deserialize<'de> for CheckoutGrant
impl<'de> Deserialize<'de> for CheckoutGrant
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<CheckoutGrant, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<CheckoutGrant, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for CheckoutGrant
Source§impl PartialEq for CheckoutGrant
impl PartialEq for CheckoutGrant
Source§impl Serialize for CheckoutGrant
impl Serialize for CheckoutGrant
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for CheckoutGrant
Auto Trait Implementations§
impl Freeze for CheckoutGrant
impl RefUnwindSafe for CheckoutGrant
impl Send for CheckoutGrant
impl Sync for CheckoutGrant
impl Unpin for CheckoutGrant
impl UnsafeUnpin for CheckoutGrant
impl UnwindSafe for CheckoutGrant
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more