Struct bonsaidb::core::permissions::Statement
pub struct Statement {
pub resources: Vec<ResourceName<'static>, Global>,
pub actions: Option<ActionNameList>,
pub configuration: Option<HashMap<String, Configuration, RandomState>>,
}
Expand description
A statement of permissions. A statement describes whether one or more
actions
should be allowed
to be taken against resources
.
Fields§
§resources: Vec<ResourceName<'static>, Global>
The list of resources this statement applies to.
actions: Option<ActionNameList>
The list of actions this statement applies to.
configuration: Option<HashMap<String, Configuration, RandomState>>
Any configured values for these resources.
Implementations§
§impl Statement
impl Statement
pub fn allow_all_for_any_resource() -> Statement
pub fn allow_all_for_any_resource() -> Statement
Returns a statement that allows ActionNameList::All
against
ResourceName::any()
.
pub fn for_resource(name: impl Into<ResourceName<'static>>) -> Statement
pub fn for_resource(name: impl Into<ResourceName<'static>>) -> Statement
Returns an empty statement for a resource named name
.
pub fn for_any() -> Statement
pub fn for_any() -> Statement
Returns an empty statement for ResourceName::any()
.
pub fn for_resources<II>(names: II) -> Statementwhere
II: IntoIterator<Item = ResourceName<'static>>,
pub fn for_resources<II>(names: II) -> Statementwhere II: IntoIterator<Item = ResourceName<'static>>,
Returns an empty statement for a resources named names
.
pub fn allow_all(&mut self)
pub fn allow_all(&mut self)
Allows ActionNameList::All
.
pub fn allowing_all(self) -> Statement
pub fn allowing_all(self) -> Statement
Allows ActionNameList::All
and returns self.
pub fn configure<S, C>(&mut self, key: S, configuration: C)where
S: Into<String>,
C: Into<Configuration>,
pub fn configure<S, C>(&mut self, key: S, configuration: C)where S: Into<String>, C: Into<Configuration>,
Sets configuration
for key
for the resources in this statement.
Trait Implementations§
§impl<'de> Deserialize<'de> for Statement
impl<'de> Deserialize<'de> for Statement
§fn deserialize<__D>(
__deserializer: __D
) -> Result<Statement, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>( __deserializer: __D ) -> Result<Statement, <__D as Deserializer<'de>>::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl From<Statement> for DefaultPermissions
impl From<Statement> for DefaultPermissions
source§fn from(permissions: Statement) -> DefaultPermissions
fn from(permissions: Statement) -> DefaultPermissions
Converts to this type from the input type.
§impl From<Statement> for Permissions
impl From<Statement> for Permissions
§fn from(stmt: Statement) -> Permissions
fn from(stmt: Statement) -> Permissions
Converts to this type from the input type.
§impl Serialize for Statement
impl Serialize for Statement
§fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where __S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl RefUnwindSafe for Statement
impl Send for Statement
impl Sync for Statement
impl Unpin for Statement
impl UnwindSafe for Statement
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere T: 'a,
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