Skip to main content

tf_types/generated/
revocation.rs

1// GENERATED by `tf-schema codegen --target rust` — DO NOT EDIT BY HAND.
2
3#![allow(unused_imports, non_camel_case_types, non_snake_case, clippy::all)]
4
5use serde::{Deserialize, Serialize};
6use super::*;
7
8/// Revocation record that invalidates a capability, actor, delegation, or instance (TF-0004).
9#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
10pub struct Revocation {
11    /// Version of the revocation schema itself.
12    pub revocation_version: Revocation_RevocationVersion,
13    /// Stable identifier for this revocation.
14    pub id: String,
15    /// Identifier of the object being revoked (depends on target_kind).
16    pub target_id: String,
17    /// Kind of object being revoked.
18    pub target_kind: Revocation_TargetKind,
19    /// When the revocation becomes effective.
20    pub effective_at: Timestamp,
21    /// Human-readable reason for the revocation.
22    #[serde(skip_serializing_if = "Option::is_none", default)]
23    pub reason: Option<String>,
24    /// Whether a future identity or grant could reuse this target_id.
25    #[serde(skip_serializing_if = "Option::is_none", default)]
26    pub reinstatement_possible: Option<bool>,
27    /// Actor issuing this revocation.
28    pub issuer: ActorId,
29    /// Signature envelope over the canonical form of this revocation (not verified in the foundation phase).
30    pub signature: SignatureEnvelope,
31}
32
33/// Version of the revocation schema itself.
34#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
35pub enum Revocation_RevocationVersion {
36    #[serde(rename = "1")]
37    V1,
38}
39
40/// Kind of object being revoked.
41#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
42pub enum Revocation_TargetKind {
43    #[serde(rename = "capability")]
44    Capability,
45    #[serde(rename = "actor")]
46    Actor,
47    #[serde(rename = "delegation")]
48    Delegation,
49    #[serde(rename = "instance")]
50    Instance,
51}