arsenal-policy · crate
Declared module signatures, types, configuration, and source documentation.
Source: arsenal/crates/arsenal-policy/src/lib.rs. SHA-256: 6c9d8fd45c446ec98067a79fe50ca4abcef78738ee12bdc12d827f20f9f44c8c.
This source reference follows declared modules and preserves feature attributes. It includes public declarations and implementation methods in those modules. Private-module exports and trait resolution still require the compiler; not every declaration is a crate-root import. Function bodies and constant values are omitted. Source comments describe their implementation context and are not a production deployment claim.
pub use arsenal_core::policy::{
ConditionOperator, PolicyCondition, PolicyDecision, PolicyDocument, PolicyEffect, PolicyId, PolicyRequest, PolicyRule, };
pub use arsenal_core::policy::{
ConditionOperator, PolicyCondition, PolicyDecision, PolicyDocument, PolicyEffect, PolicyId,
PolicyRequest, PolicyRule,
};Source line: 13.
::PolicyEngine
Policy engine for evaluating multiple policies
pub struct PolicyEngine {
}Source line: 19.
::PolicyEngine::new
Create a new policy engine
#[must_use]
pub fn new() -> Self;Source line: 27.
::PolicyEngine::add_policy
Add a policy
pub fn add_policy(&mut self, policy: PolicyDocument);Source line: 34.
::PolicyEngine::remove_policy
Remove a policy
pub fn remove_policy(&mut self, policy_id: &str) -> Option<PolicyDocument>;Source line: 39.
::PolicyEngine::evaluate
Evaluate all policies for a request
Returns the decision from the highest-priority matching policy. If no policies match, returns Deny by default.
#[must_use]
pub fn evaluate(&self, request: &PolicyRequest) -> PolicyDecision;Source line: 48.
::PolicyEngine::get_policy
Get a policy by ID
#[must_use]
pub fn get_policy(&self, policy_id: &str) -> Option<&PolicyDocument>;Source line: 69.
::PolicyEngine::policy_ids
Get all policy IDs
#[must_use]
pub fn policy_ids(&self) -> Vec<String>;Source line: 75.