Oso

Struct Oso 

Source
pub struct Oso { /* private fields */ }

Implementations§

Source§

impl Oso

Source

pub fn into_local_filtering_handle<S>( self, data_bindings: S, ) -> LocalFilteringHandle<S>

Convert into a LocalFilteringHandle.

Source§

impl Oso

Source

pub fn new_with_url_and_connect_options<R: Resolve + 'static>( url: &str, api_key: &str, connect_options: Option<ConnectOptions<R>>, ) -> Result<Self, Error>

Source

pub fn new_with_url(url: &str, api_key: &str) -> Result<Self, Error>

Source

pub fn new(api_key: &str) -> Result<Self, Error>

Source

pub async fn policy(&self, policy_src: &str) -> Result<(), Error>

Update the current policy for the environment

Source

pub async fn get_policy_metadata(&self) -> Result<PolicyMetadata, Error>

Get metadata about the currently active policy.

Source

pub async fn tell(&self, fact: Fact<'_>) -> Result<(), Error>

Add a single fact into Oso Cloud

Source

pub async fn delete(&self, fact: Fact<'_>) -> Result<(), Error>

Deleta a fact

Source

pub async fn bulk_tell(&self, facts: &[Fact<'_>]) -> Result<(), Error>

Add multiple facts into Oso Cloud

Source

pub async fn bulk_delete(&self, facts: &[Fact<'_>]) -> Result<(), Error>

Deletes many facts at once. Does not throw an error when some of the facts are not found.

Value::any and Value::any_of_type can be used as a wildcard in facts in delete. Does not throw an error when the facts to delete are not found.

Source

pub async fn bulk( &self, delete: &[Fact<'_>], tell: &[Fact<'_>], ) -> Result<(), Error>

Deletes and adds many facts in one atomic transaction. The deletions are performed before the adds. Value::any and Value::any_of_type can be used as a wildcard in facts in delete. Does not throw an error when the facts to delete are not found.

Source

pub async fn get(&self, fact: &Fact<'_>) -> Result<Vec<Fact<'static>>, Error>

Lists facts that are stored in Oso Cloud. Can be used to check the existence of a particular fact, or used to fetch all facts that have a particular argument

Source

pub async fn authorize( &self, actor: impl Into<Value<'_>>, action: &str, resource: impl Into<Value<'_>>, ) -> Result<bool, Error>

Source

pub async fn authorize_resources<T>( &self, actor: impl Into<Value<'_>>, action: &str, resources: &mut Vec<T>, ) -> Result<(), Error>
where for<'r> &'r T: Into<Value<'r>>,

Source

pub async fn actions( &self, actor: impl Into<Value<'_>>, resource: impl Into<Value<'_>>, ) -> Result<Vec<String>, Error>

Source

pub async fn list( &self, actor: impl Into<Value<'_>>, action: &str, resource_type: &str, ) -> Result<Vec<String>, Error>

Source

pub async fn query(&self, fact: &Fact<'_>) -> Result<Vec<Fact<'static>>, Error>

Query Oso Cloud for any predicate and any combination of concrete and wildcard arguments.

Unlike oso.get, which only lists facts you’ve added, you can use oso.query to list derived information about any rule in your policy.

Source

pub fn with_context<'a>(&'a self, context: Vec<Fact<'a>>) -> OsoWithContext<'a>

Trait Implementations§

Source§

impl Clone for Oso

Source§

fn clone(&self) -> Oso

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Oso

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Oso

§

impl !RefUnwindSafe for Oso

§

impl Send for Oso

§

impl Sync for Oso

§

impl Unpin for Oso

§

impl !UnwindSafe for Oso

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,