audit_logger

Trait AuditLogger

Source
pub trait AuditLogger: ReasonerConnectorAuditLogger {
    // Required methods
    fn log_exec_task_request<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'async_trait>(
        &'life0 self,
        reference: &'life1 str,
        auth: &'life2 AuthContext,
        policy: i64,
        state: &'life3 State,
        workflow: &'life4 Workflow,
        task: &'life5 str,
    ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait,
             'life4: 'async_trait,
             'life5: 'async_trait;
    fn log_data_access_request<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'life6, 'async_trait>(
        &'life0 self,
        reference: &'life1 str,
        auth: &'life2 AuthContext,
        policy: i64,
        state: &'life3 State,
        workflow: &'life4 Workflow,
        data: &'life5 str,
        task: &'life6 Option<String>,
    ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait,
             'life4: 'async_trait,
             'life5: 'async_trait,
             'life6: 'async_trait;
    fn log_validate_workflow_request<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
        &'life0 self,
        reference: &'life1 str,
        auth: &'life2 AuthContext,
        policy: i64,
        state: &'life3 State,
        workflow: &'life4 Workflow,
    ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait,
             'life4: 'async_trait;
    fn log_verdict<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        reference: &'life1 str,
        verdict: &'life2 Verdict,
    ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn log_reasoner_context<'life0, 'async_trait, C>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
       where C: 'async_trait + ConnectorWithContext,
             Self: 'async_trait,
             'life0: 'async_trait;
    fn log_add_policy_request<'life0, 'life1, 'life2, 'async_trait, C>(
        &'life0 self,
        auth: &'life1 AuthContext,
        policy: &'life2 Policy,
    ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
       where C: 'async_trait + ConnectorWithContext,
             Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn log_set_active_version_policy<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        auth: &'life1 AuthContext,
        policy: &'life2 Policy,
    ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn log_deactivate_policy<'life0, 'life1, 'async_trait>(
        &'life0 self,
        auth: &'life1 AuthContext,
    ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
}

Required Methods§

Source

fn log_exec_task_request<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'async_trait>( &'life0 self, reference: &'life1 str, auth: &'life2 AuthContext, policy: i64, state: &'life3 State, workflow: &'life4 Workflow, task: &'life5 str, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, 'life4: 'async_trait, 'life5: 'async_trait,

Source

fn log_data_access_request<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'life6, 'async_trait>( &'life0 self, reference: &'life1 str, auth: &'life2 AuthContext, policy: i64, state: &'life3 State, workflow: &'life4 Workflow, data: &'life5 str, task: &'life6 Option<String>, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, 'life4: 'async_trait, 'life5: 'async_trait, 'life6: 'async_trait,

Source

fn log_validate_workflow_request<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>( &'life0 self, reference: &'life1 str, auth: &'life2 AuthContext, policy: i64, state: &'life3 State, workflow: &'life4 Workflow, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, 'life4: 'async_trait,

Source

fn log_verdict<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, reference: &'life1 str, verdict: &'life2 Verdict, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn log_reasoner_context<'life0, 'async_trait, C>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where C: 'async_trait + ConnectorWithContext, Self: 'async_trait, 'life0: 'async_trait,

Dumps the full context of the reasoner on startup.

Note that it’s recommended to use ReasonerConnector::FullContext for this, to include the full base specification.

Source

fn log_add_policy_request<'life0, 'life1, 'life2, 'async_trait, C>( &'life0 self, auth: &'life1 AuthContext, policy: &'life2 Policy, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where C: 'async_trait + ConnectorWithContext, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Logs that a new policy has been added, including the full policy.

Note that it’s recommended to use ReasonerConnector::Context for this, as the full base spec as already been logged at startup.

Source

fn log_set_active_version_policy<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, auth: &'life1 AuthContext, policy: &'life2 Policy, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn log_deactivate_policy<'life0, 'life1, 'async_trait>( &'life0 self, auth: &'life1 AuthContext, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§