pub struct AgentContract {
pub id: String,
pub read_only: bool,
pub allowed_verbs: Option<Vec<String>>,
pub allowed_tables: Option<Vec<String>>,
pub denied_tables: Vec<String>,
pub require_predicate_on: Vec<PredicateRule>,
pub require_limit: bool,
pub max_rows: Option<u64>,
}Expand description
A scoped grant for one agent identity.
Fields§
§id: StringIdentifier matched against the connecting agent.
read_only: boolReject write/DDL statements.
allowed_verbs: Option<Vec<String>>If set, only these SQL verbs are allowed (upper-case, e.g. “SELECT”).
allowed_tables: Option<Vec<String>>If set, only these tables may be referenced.
denied_tables: Vec<String>Tables that may never be referenced (takes precedence over allow).
require_predicate_on: Vec<PredicateRule>Predicates that must be present when the named table is touched.
require_limit: boolRequire a LIMIT on SELECTs.
max_rows: Option<u64>Suggested/enforced row cap (used in repair hints and to back
require_limit).
Trait Implementations§
Source§impl Clone for AgentContract
impl Clone for AgentContract
Source§fn clone(&self) -> AgentContract
fn clone(&self) -> AgentContract
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for AgentContract
impl Debug for AgentContract
Source§impl<'de> Deserialize<'de> for AgentContract
impl<'de> Deserialize<'de> for AgentContract
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for AgentContract
impl RefUnwindSafe for AgentContract
impl Send for AgentContract
impl Sync for AgentContract
impl Unpin for AgentContract
impl UnsafeUnpin for AgentContract
impl UnwindSafe for AgentContract
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more