pub struct MeterClient { /* private fields */ }
Expand description
A convenient client to interact with the Meter esndpoints.
Implementations§
Source§impl MeterClient
impl MeterClient
Sourcepub fn new(base_url: String, token: String) -> Self
pub fn new(base_url: String, token: String) -> Self
Create a new client with the given base URL and an auth token.
Sourcepub async fn create_meter(
&self,
body: &CreateMeterRequest,
) -> Result<Meter, Error>
pub async fn create_meter( &self, body: &CreateMeterRequest, ) -> Result<Meter, Error>
Create a new meter.
POST /api/v1/meters
Sourcepub async fn delete_meter(&self, meter_id_or_slug: &str) -> Result<(), Error>
pub async fn delete_meter(&self, meter_id_or_slug: &str) -> Result<(), Error>
Delete a meter by ID or slug.
DELETE /api/v1/meters/{meterIdOrSlug}
Sourcepub async fn get_meter(&self, meter_id_or_slug: &str) -> Result<Meter, Error>
pub async fn get_meter(&self, meter_id_or_slug: &str) -> Result<Meter, Error>
Get a meter by ID or slug.
GET /api/v1/meters/{meterIdOrSlug}
Sourcepub async fn list_meters(&self) -> Result<Vec<Meter>, Error>
pub async fn list_meters(&self) -> Result<Vec<Meter>, Error>
List all meters.
GET /api/v1/meters
Sourcepub async fn list_meter_subjects(
&self,
meter_id_or_slug: &str,
) -> Result<Vec<String>, Error>
pub async fn list_meter_subjects( &self, meter_id_or_slug: &str, ) -> Result<Vec<String>, Error>
List subjects for a meter.
GET /api/v1/meters/{meterIdOrSlug}/subjects
Sourcepub async fn query_meter(
&self,
meter_id_or_slug: &str,
params: &QueryParams,
) -> Result<QueryResponse, Error>
pub async fn query_meter( &self, meter_id_or_slug: &str, params: &QueryParams, ) -> Result<QueryResponse, Error>
Query meter usage.
GET /api/v1/meters/{meterIdOrSlug}/query
Supports optional query parameters:
- from
- to
- windowSize
- windowTimeZone
- subject (repeated)
- filterGroupBy[…] (etc.)
Sourcepub async fn update_meter(
&self,
meter_id_or_slug: &str,
body: &UpdateMeterRequest,
) -> Result<Meter, Error>
pub async fn update_meter( &self, meter_id_or_slug: &str, body: &UpdateMeterRequest, ) -> Result<Meter, Error>
Update a meter by ID or slug.
PUT /api/v1/meters/{meterIdOrSlug}
Sourcepub async fn ingest_events(&self, events: &[CloudEvent]) -> Result<(), Error>
pub async fn ingest_events(&self, events: &[CloudEvent]) -> Result<(), Error>
Ingest a single or batch of CloudEvents.
POST /api/v1/events
Sourcepub async fn list_events(
&self,
params: &ListEventsParams,
) -> Result<Vec<IngestedEvent>, Error>
pub async fn list_events( &self, params: &ListEventsParams, ) -> Result<Vec<IngestedEvent>, Error>
List ingested events within a time range or by other filters.
GET /api/v1/events
For example:
- from / to
- ingestedAtFrom / ingestedAtTo
- subject (partial match)
- id (partial match)
- limit
pub async fn create_entitlement( &self, subject_id_or_key: &str, req: CreateEntitlementRequest, ) -> Result<Entitlement, Error>
pub async fn create_feature( &self, req: CreateFeatureRequest, ) -> Result<Feature, Error>
pub async fn create_grant( &self, subject_id_or_key: &str, entitlement_id_or_feature_key: &str, req: GrantRequest, ) -> Result<Grant, Error>
pub async fn delete_entitlement( &self, subject_id_or_key: &str, entitlement_id: &str, ) -> Result<(), Error>
pub async fn delete_feature(&self, feature_id: &str) -> Result<(), Error>
pub async fn get_entitlement( &self, subject_id_or_key: &str, entitlement_id: &str, ) -> Result<Entitlement, Error>
pub async fn get_entitlement_by_id( &self, entitlement_id: &str, ) -> Result<Entitlement, Error>
pub async fn get_entitlement_history( &self, subject_id_or_key: &str, entitlement_id: &str, from: Option<String>, to: Option<String>, window_size: String, window_time_zone: Option<String>, ) -> Result<Value, Error>
pub async fn get_entitlement_value( &self, subject_id_or_key: &str, entitlement_id_or_feature_key: &str, time: Option<String>, ) -> Result<Value, Error>
pub async fn get_feature(&self, feature_id: &str) -> Result<Feature, Error>
pub async fn list_all_entitlements(&self) -> Result<Vec<Entitlement>, Error>
pub async fn list_entitlement_grants( &self, subject_id_or_key: &str, entitlement_id_or_feature_key: &str, ) -> Result<Vec<Grant>, Error>
pub async fn list_entitlements( &self, subject_id_or_key: &str, ) -> Result<Vec<Entitlement>, Error>
pub async fn list_features(&self) -> Result<Vec<Feature>, Error>
pub async fn list_grants(&self) -> Result<Vec<Grant>, Error>
pub async fn override_entitlement( &self, subject_id_or_key: &str, entitlement_id_or_feature_key: &str, req: CreateEntitlementRequest, ) -> Result<Entitlement, Error>
pub async fn reset_entitlement( &self, subject_id_or_key: &str, entitlement_id: &str, req: ResetEntitlementRequest, ) -> Result<(), Error>
pub async fn void_grant(&self, grant_id: &str) -> Result<(), Error>
Trait Implementations§
Source§impl Clone for MeterClient
impl Clone for MeterClient
Source§fn clone(&self) -> MeterClient
fn clone(&self) -> MeterClient
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl Freeze for MeterClient
impl !RefUnwindSafe for MeterClient
impl Send for MeterClient
impl Sync for MeterClient
impl Unpin for MeterClient
impl !UnwindSafe for MeterClient
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