[−][src]Trait riam::PolicyManager
Manage creation, storage/retrieval, and deletion of policies.
Required methods
fn create(&mut self, policy: Policy) -> Result<Uuid>
Create and store a new policy. The policy ID is returned
fn update(&mut self, policy: &Policy) -> Result<()>
Update an existing policy
fn delete(&mut self, id: &Uuid) -> Result<()>
Delete a policy
Note: This will detach the policy from all principals it is currently used by
fn get(&self, id: &Uuid) -> Result<&Policy>
Get a policy by id
fn list(&self) -> Result<Vec<Policy>>
List all policies
fn attach(&mut self, principal: &str, id: &Uuid) -> Result<()>
Attach a policy to a principal
fn detach(&mut self, principal: &str, id: &Uuid) -> Result<()>
Detach a policy from a principal
fn get_policies_for_principal(
&self,
principal: &str
) -> Result<Option<Vec<Policy>>>
&self,
principal: &str
) -> Result<Option<Vec<Policy>>>
Get all policies for a given principal
Implementors
impl PolicyManager for MemoryManager
[src]
fn create(&mut self, policy: Policy) -> Result<Uuid>
[src]
Create and store a new policy
fn update(&mut self, policy: &Policy) -> Result<()>
[src]
Update an existing policy
fn get(&self, id: &Uuid) -> Result<&Policy>
[src]
Get a policy by id
fn delete(&mut self, id: &Uuid) -> Result<()>
[src]
Delete a policy
fn list(&self) -> Result<Vec<Policy>>
[src]
List all policies
fn get_policies_for_principal(
&self,
principal: &str
) -> Result<Option<Vec<Policy>>>
[src]
&self,
principal: &str
) -> Result<Option<Vec<Policy>>>
Get all policies for a given principal
fn attach(&mut self, principal: &str, id: &Uuid) -> Result<()>
[src]
Attach a policy to a principal
fn detach(&mut self, principal: &str, id: &Uuid) -> Result<()>
[src]
Detach a policy from a principal