pub struct Client { /* private fields */ }
Expand description
Client for Rekor
Rekor is a cryptographically secure, immutable transparency log for signed software releases.
Version: 1.0.0
Implementations§
Source§impl Client
impl Client
Sourcepub fn new(baseurl: &str) -> Self
pub fn new(baseurl: &str) -> Self
Create a new client.
baseurl
is the base URL provided to the internal
reqwest::Client
, and should include a scheme and hostname,
as well as port and a path stem if applicable.
Sourcepub fn new_with_client(baseurl: &str, client: Client) -> Self
pub fn new_with_client(baseurl: &str, client: Client) -> Self
Construct a new client with an existing reqwest::Client
,
allowing more control over its configuration.
baseurl
is the base URL provided to the internal
reqwest::Client
, and should include a scheme and hostname,
as well as port and a path stem if applicable.
Sourcepub fn api_version(&self) -> &'static str
pub fn api_version(&self) -> &'static str
Get the version of this API.
This string is pulled directly from the source OpenAPI document and may be in any format the API selects.
Source§impl Client
impl Client
Sourcepub async fn search_index<'a>(
&'a self,
body: &'a SearchIndex,
) -> Result<ResponseValue<Vec<SearchIndexResponseItem>>, Error<Error>>
pub async fn search_index<'a>( &'a self, body: &'a SearchIndex, ) -> Result<ResponseValue<Vec<SearchIndexResponseItem>>, Error<Error>>
Searches index by entry metadata
EXPERIMENTAL - this endpoint is offered as best effort only and may be changed or removed in future releases. The results returned from this endpoint may be incomplete.
Sends a POST
request to /api/v1/index/retrieve
Sourcepub async fn get_log_info<'a>(
&'a self,
stable: Option<bool>,
) -> Result<ResponseValue<LogInfo>, Error<Error>>
pub async fn get_log_info<'a>( &'a self, stable: Option<bool>, ) -> Result<ResponseValue<LogInfo>, Error<Error>>
Get information about the current state of the transparency log
Returns the current root hash and size of the merkle tree used to store the log entries.
Sends a GET
request to /api/v1/log
Arguments:
stable
: Whether to return a stable checkpoint for the active shard
Sourcepub async fn get_log_entry_by_index<'a>(
&'a self,
log_index: Option<u64>,
) -> Result<ResponseValue<LogEntry>, Error<Error>>
pub async fn get_log_entry_by_index<'a>( &'a self, log_index: Option<u64>, ) -> Result<ResponseValue<LogEntry>, Error<Error>>
Retrieves an entry and inclusion proof from the transparency log (if it exists) by index
Sends a GET
request to /api/v1/log/entries
Arguments:
log_index
: specifies the index of the entry in the transparency log to be retrieved
Sourcepub async fn create_log_entry<'a>(
&'a self,
body: &'a ProposedEntry,
) -> Result<ResponseValue<LogEntry>, Error<Error>>
pub async fn create_log_entry<'a>( &'a self, body: &'a ProposedEntry, ) -> Result<ResponseValue<LogEntry>, Error<Error>>
Creates an entry in the transparency log
Creates an entry in the transparency log for a detached signature, public key, and content. Items can be included in the request or fetched by the server when URLs are specified.
Sends a POST
request to /api/v1/log/entries
Sourcepub async fn search_log_query<'a>(
&'a self,
body: &'a SearchLogQuery,
) -> Result<ResponseValue<Vec<LogEntry>>, Error<Error>>
pub async fn search_log_query<'a>( &'a self, body: &'a SearchLogQuery, ) -> Result<ResponseValue<Vec<LogEntry>>, Error<Error>>
Searches transparency log for one or more log entries
Sends a POST
request to /api/v1/log/entries/retrieve
Sourcepub async fn get_log_entry_by_uuid<'a>(
&'a self,
entry_uuid: &'a GetLogEntryByUuidEntryUuid,
) -> Result<ResponseValue<LogEntry>, Error<Error>>
pub async fn get_log_entry_by_uuid<'a>( &'a self, entry_uuid: &'a GetLogEntryByUuidEntryUuid, ) -> Result<ResponseValue<LogEntry>, Error<Error>>
Get log entry and information required to generate an inclusion proof for the entry in the transparency log
Returns the entry, root hash, tree size, and a list of hashes that can be used to calculate proof of an entry being included in the transparency log
Sends a GET
request to /api/v1/log/entries/{entryUUID}
Arguments:
entry_uuid
: the UUID of the entry for which the inclusion proof information should be returned
Sourcepub async fn get_log_proof<'a>(
&'a self,
first_size: Option<NonZeroU64>,
last_size: Option<NonZeroU64>,
tree_id: Option<&'a GetLogProofTreeId>,
) -> Result<ResponseValue<ConsistencyProof>, Error<Error>>
pub async fn get_log_proof<'a>( &'a self, first_size: Option<NonZeroU64>, last_size: Option<NonZeroU64>, tree_id: Option<&'a GetLogProofTreeId>, ) -> Result<ResponseValue<ConsistencyProof>, Error<Error>>
Get information required to generate a consistency proof for the transparency log
Returns a list of hashes for specified tree sizes that can be used to confirm the consistency of the transparency log
Sends a GET
request to /api/v1/log/proof
Arguments:
-
first_size
: The size of the tree that you wish to prove consistency from (1 means the beginning of the log) Defaults to 1 if not specified -
last_size
: The size of the tree that you wish to prove consistency to -
tree_id
: The tree ID of the tree that you wish to prove consistency for
Sourcepub async fn get_public_key<'a>(
&'a self,
tree_id: Option<&'a GetPublicKeyTreeId>,
) -> Result<ResponseValue<ByteStream>, Error<ByteStream>>
pub async fn get_public_key<'a>( &'a self, tree_id: Option<&'a GetPublicKeyTreeId>, ) -> Result<ResponseValue<ByteStream>, Error<ByteStream>>
Retrieve the public key that can be used to validate the signed tree head
Returns the public key that can be used to validate the signed tree head
Sends a GET
request to /api/v1/log/publicKey
Arguments:
tree_id
: The tree ID of the tree you wish to get a public key for