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
§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