pub enum ChronixAction {
Show 17 variants
Write,
Read,
Delete,
Admin,
CreateRollup,
Forecast,
DetectAnomalies,
Subscribe,
ManageNodes,
ManageRegions,
ViewCluster,
ManageCluster,
ManageModels,
ManageKeys,
ManageConfig,
ManageBackups,
ManageNamespaces,
}Expand description
Actions that can be authorized in Chronix.
The original Admin variant was a catch-all for all
administrative operations. Granular admin actions (below) allow
policies to grant least-privilege access — e.g. granting
ManageModels without also granting ManageKeys. The Admin
variant is retained as a super-action that implies all granular
admin actions.
Variants§
Write
Write data points.
Read
Read / query data.
Delete
Delete data (series or measurement).
Admin
Super-admin — implies all granular admin actions below.
CreateRollup
Create or manage rollups.
Forecast
Execute forecast queries.
DetectAnomalies
Execute anomaly detection.
Subscribe
Subscribe to CDC events.
ManageNodes
Manage cluster nodes (register, decommission, heartbeat).
ManageRegions
Manage regions (create, state transitions).
ViewCluster
View cluster topology and health (read-only admin).
ManageCluster
Trigger cluster rebalancing.
ManageModels
Manage analytics models (list, delete, retrain).
ManageKeys
Manage API keys (create, list, revoke).
ManageConfig
Manage runtime configuration (e.g. log levels).
ManageBackups
Manage backups and point-in-time restores.
ManageNamespaces
Create, list, delete namespaces and view usage.
Implementations§
Source§impl ChronixAction
impl ChronixAction
Sourcepub fn to_entity_uid(&self) -> EntityUid
pub fn to_entity_uid(&self) -> EntityUid
Convert to the Cedar action entity UID.
Sourcepub fn is_admin_action(&self) -> bool
pub fn is_admin_action(&self) -> bool
Returns true if this is a granular admin action (or Admin itself).
Useful for authorization engines that want to grant Admin as a
super-action implying all granular admin sub-actions.
Trait Implementations§
Source§impl Clone for ChronixAction
impl Clone for ChronixAction
Source§fn clone(&self) -> ChronixAction
fn clone(&self) -> ChronixAction
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ChronixAction
Source§impl Debug for ChronixAction
impl Debug for ChronixAction
Source§impl<'de> Deserialize<'de> for ChronixAction
impl<'de> Deserialize<'de> for ChronixAction
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>,
Source§impl Display for ChronixAction
impl Display for ChronixAction
impl Eq for ChronixAction
Source§impl Hash for ChronixAction
impl Hash for ChronixAction
Source§impl PartialEq for ChronixAction
impl PartialEq for ChronixAction
Source§impl Serialize for ChronixAction
impl Serialize for ChronixAction
impl StructuralPartialEq for ChronixAction
Auto Trait Implementations§
impl Freeze for ChronixAction
impl RefUnwindSafe for ChronixAction
impl Send for ChronixAction
impl Sync for ChronixAction
impl Unpin for ChronixAction
impl UnsafeUnpin for ChronixAction
impl UnwindSafe for ChronixAction
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
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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> ⓘ
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> ⓘ
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