pub trait ResourceStoreReader:
Send
+ Sync
+ 'static {
// Required methods
fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ResourceIdent,
) -> Pin<Box<dyn Future<Output = Result<(Resource, ResourceRef), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait;
fn list<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
label: &'life1 ObjectLabel,
namespace: Option<&'life2 ResourceName>,
max_results: Option<usize>,
page_token: Option<String>,
) -> Pin<Box<dyn Future<Output = Result<(Vec<Resource>, Option<String>), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait;
// Provided methods
fn get_many<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [ResourceIdent],
) -> Pin<Box<dyn Future<Output = Result<Vec<(Resource, ResourceRef)>, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait { ... }
fn get_with_secrets<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ResourceIdent,
) -> Pin<Box<dyn Future<Output = Result<(Resource, ResourceRef), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait { ... }
fn get_versioned<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ResourceIdent,
) -> Pin<Box<dyn Future<Output = Result<(Resource, ResourceRef, u64), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait { ... }
}Required Methods§
Sourcefn get<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ResourceIdent,
) -> Pin<Box<dyn Future<Output = Result<(Resource, ResourceRef), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ResourceIdent,
) -> Pin<Box<dyn Future<Output = Result<(Resource, ResourceRef), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Sourcefn list<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
label: &'life1 ObjectLabel,
namespace: Option<&'life2 ResourceName>,
max_results: Option<usize>,
page_token: Option<String>,
) -> Pin<Box<dyn Future<Output = Result<(Vec<Resource>, Option<String>), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn list<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
label: &'life1 ObjectLabel,
namespace: Option<&'life2 ResourceName>,
max_results: Option<usize>,
page_token: Option<String>,
) -> Pin<Box<dyn Future<Output = Result<(Vec<Resource>, Option<String>), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
List resources.
List resources in the store that are children of the given resource. If the Reference inside the ResourceIdent is Undefined, the root of the store is used and resources of the specified type are listed.
§Arguments
root: The root resource to list children of.max_results: The maximum number of results to return.page_token: The token to use to get the next page of results.
Provided Methods§
Sourcefn get_many<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [ResourceIdent],
) -> Pin<Box<dyn Future<Output = Result<Vec<(Resource, ResourceRef)>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn get_many<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [ResourceIdent],
) -> Pin<Box<dyn Future<Output = Result<Vec<(Resource, ResourceRef)>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Sourcefn get_with_secrets<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ResourceIdent,
) -> Pin<Box<dyn Future<Output = Result<(Resource, ResourceRef), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn get_with_secrets<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ResourceIdent,
) -> Pin<Box<dyn Future<Output = Result<(Resource, ResourceRef), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Get a resource with its sensitive fields decrypted and merged into the typed model.
Ordinary get redacts a resource’s Sensitive fields; this returns the
unsealed view for the narrow internal callers that need the secret material (e.g.
credential vending). The default is the redacted get; a store backed by
olai_store::ManagedObjectStore overrides it to merge the sealed fields back in.
Sourcefn get_versioned<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ResourceIdent,
) -> Pin<Box<dyn Future<Output = Result<(Resource, ResourceRef, u64), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn get_versioned<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ResourceIdent,
) -> Pin<Box<dyn Future<Output = Result<(Resource, ResourceRef, u64), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Get a resource together with its current version (etag).
The u64 is the store’s monotonic per-object version, bumped on every
mutation. Pass it back as a Precondition::Version on a later
update_checked or
rename to perform a compare-and-swap.
The default returns version 0 for stores that don’t track versions;
ObjectStoreAdapter overrides it to surface the real version.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".