diff options
author | Alex Auvolat <lx@deuxfleurs.fr> | 2025-01-31 17:19:26 +0100 |
---|---|---|
committer | Alex Auvolat <lx@deuxfleurs.fr> | 2025-02-03 18:54:51 +0100 |
commit | b1629dd355806f40669d5d00db4e8e8f86a3fae2 (patch) | |
tree | 7b44e9d93946bf36a53596e4e8b269cfee95ae31 /src/api/admin/api.rs | |
parent | d405a9f839779b1454e47e4b53a418603061c5e9 (diff) | |
download | garage-b1629dd355806f40669d5d00db4e8e8f86a3fae2.tar.gz garage-b1629dd355806f40669d5d00db4e8e8f86a3fae2.zip |
cli_v2: implement RetryBlockResync and PurgeBlocks
Diffstat (limited to 'src/api/admin/api.rs')
-rw-r--r-- | src/api/admin/api.rs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/api/admin/api.rs b/src/api/admin/api.rs index 42872ad0..cde11bac 100644 --- a/src/api/admin/api.rs +++ b/src/api/admin/api.rs @@ -86,6 +86,8 @@ admin_endpoints![ // Block operations ListBlockErrors, GetBlockInfo, + RetryBlockResync, + PurgeBlocks, ]; local_admin_endpoints![ @@ -97,6 +99,8 @@ local_admin_endpoints![ // Block operations ListBlockErrors, GetBlockInfo, + RetryBlockResync, + PurgeBlocks, ]; #[derive(Debug, Clone, Serialize, Deserialize)] @@ -765,3 +769,35 @@ pub enum BlockVersionBacklink { key: Option<String>, }, } + +// ---- RetryBlockResync ---- + +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum LocalRetryBlockResyncRequest { + #[serde(rename_all = "camelCase")] + All { all: bool }, + #[serde(rename_all = "camelCase")] + Blocks { block_hashes: Vec<String> }, +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct LocalRetryBlockResyncResponse { + pub count: u64, +} + +// ---- PurgeBlocks ---- + +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct LocalPurgeBlocksRequest(pub Vec<String>); + +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct LocalPurgeBlocksResponse { + pub blocks_purged: u64, + pub objects_deleted: u64, + pub uploads_deleted: u64, + pub versions_deleted: u64, +} |