pub struct RiskPolicy { /* private fields */ }Expand description
Requirements by risk level and effect kind, applied to every effect the
runtime runs. Built with PolicyBuilder; set with
RuntimeBuilder::risk_policy.
Precedence: requirements only accumulate. An effect gets its own settings plus the requirements of every rule that matches it, so the strictest one always wins, and no rule, nor its order, can loosen another.
use agent_effects::{EffectKind, PolicyBuilder, RiskLevel};
let policy = PolicyBuilder::new()
.for_risk(RiskLevel::Low).auto_execute()
.for_risk(RiskLevel::Medium).require_verification()
.for_risk(RiskLevel::High).require_approval()
.for_risk(RiskLevel::Critical).require_approval().disable_automatic_retry()
.for_kind(EffectKind::IrreversibleWrite).require_verification()
.build();
let critical = policy.requirements(RiskLevel::Critical, EffectKind::ReversibleWrite);
assert!(critical.approval && critical.no_automatic_retry && !critical.verification);Implementations§
Source§impl RiskPolicy
impl RiskPolicy
Sourcepub fn requirements(&self, risk: RiskLevel, kind: EffectKind) -> Requirements
pub fn requirements(&self, risk: RiskLevel, kind: EffectKind) -> Requirements
What the policy demands of an effect of risk and kind: the union
of every matching rule.
Trait Implementations§
Source§impl Clone for RiskPolicy
impl Clone for RiskPolicy
Source§impl Debug for RiskPolicy
impl Debug for RiskPolicy
Source§impl Default for RiskPolicy
impl Default for RiskPolicy
impl Eq for RiskPolicy
Source§impl PartialEq for RiskPolicy
impl PartialEq for RiskPolicy
impl StructuralPartialEq for RiskPolicy
Auto Trait Implementations§
impl Freeze for RiskPolicy
impl RefUnwindSafe for RiskPolicy
impl Send for RiskPolicy
impl Sync for RiskPolicy
impl Unpin for RiskPolicy
impl UnsafeUnpin for RiskPolicy
impl UnwindSafe for RiskPolicy
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