pub struct PolicyDecision {
pub aae_version: String,
pub decision_id: String,
pub proposal_id: String,
pub decision: Decision,
pub policy_version: String,
pub rules_evaluated: Vec<String>,
pub reason: String,
pub required_approvers: Option<Vec<String>>,
pub expires_at: Option<DateTime<Utc>>,
pub strictness: String,
pub decided_at: DateTime<Utc>,
pub ext: Option<Value>,
}Expand description
Output of policy engine evaluation.
Fields§
§aae_version: StringProtocol version.
decision_id: StringULID of this decision.
proposal_id: StringULID of the proposal this evaluates.
decision: DecisionThe decision value.
policy_version: StringIdentifier of the policy bundle/version used.
rules_evaluated: Vec<String>Identifiers of rules consulted during evaluation.
reason: StringHuman-readable explanation.
required_approvers: Option<Vec<String>>Required approvers, if decision is RequireApproval.
expires_at: Option<DateTime<Utc>>Expiration time, if decision is Allow.
strictness: StringPlan-to-execution binding strictness. v0.8: an open string. Core
normatively defines STRICTNESS_STRICT_LITERAL (default) and
STRICTNESS_STRICT_TEMPLATE; any other value is a
companion/extension mode, and a host that does not implement the
requested mode MUST fail closed (C-16), never downgrade.
decided_at: DateTime<Utc>Decision timestamp.
ext: Option<Value>v0.7: non-normative extension fields (ext.*). Standardized shape:
confidence (Confidence).
Trait Implementations§
Source§impl Clone for PolicyDecision
impl Clone for PolicyDecision
Source§impl Debug for PolicyDecision
impl Debug for PolicyDecision
Source§impl<'de> Deserialize<'de> for PolicyDecision
impl<'de> Deserialize<'de> for PolicyDecision
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 Freeze for PolicyDecision
impl RefUnwindSafe for PolicyDecision
impl Send for PolicyDecision
impl Sync for PolicyDecision
impl Unpin for PolicyDecision
impl UnsafeUnpin for PolicyDecision
impl UnwindSafe for PolicyDecision
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