Struct oso_cloud::Oso

source ·
pub struct Oso { /* private fields */ }

Implementations§

source§

impl Oso

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 tell<'a>(&self, fact: Fact<'a>) -> Result<(), Error>

Add a single fact into Oso Cloud

source

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

Deleta a fact

source

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

Add multiple facts into Oso Cloud

source

pub async fn bulk_delete<'a>(&self, facts: &[Fact<'a>]) -> 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<'a>( &self, delete: &[Fact<'a>], tell: &'a [Fact<'a>] ) -> 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<'a>( &self, fact: &Fact<'a> ) -> 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<'a>( &self, actor: impl Into<Value<'a>>, action: &str, resource: impl Into<Value<'a>> ) -> Result<bool, Error>

source

pub async fn authorize_resources<'a>( &self, actor: impl Into<Value<'a>>, action: &str, resources: Vec<Value<'a>> ) -> Result<Vec<Value<'a>>, Error>

source

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

source

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

source

pub async fn query<'a>( &self, fact: &Fact<'a> ) -> 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 copy 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 !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 Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · 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 Twhere U: From<T>,

const: unstable · 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> ToOwned for Twhere T: Clone,

§

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 Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · 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