[pbs-devel] [PATCH proxmox-backup 12/13] list_snapshots: return manifest fingerprint
Fabian Grünbichler
f.gruenbichler at proxmox.com
Fri Nov 20 17:38:42 CET 2020
for display in clients.
Signed-off-by: Fabian Grünbichler <f.gruenbichler at proxmox.com>
---
Notes:
new in v2
backwards-compatible API change (adds new field)
src/api2/admin/datastore.rs | 10 ++++++++++
src/api2/types/mod.rs | 9 ++++++++-
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/src/api2/admin/datastore.rs b/src/api2/admin/datastore.rs
index de0c8de3..00f98c66 100644
--- a/src/api2/admin/datastore.rs
+++ b/src/api2/admin/datastore.rs
@@ -403,6 +403,14 @@ pub fn list_snapshots (
.and_then(|notes| notes.lines().next())
.map(String::from);
+ let fingerprint = match manifest.fingerprint() {
+ Ok(fp) => fp,
+ Err(err) => {
+ eprintln!("error parsing fingerprint: '{}'", err);
+ None
+ },
+ };
+
let verification = manifest.unprotected["verify_state"].clone();
let verification: Option<SnapshotVerifyState> = match serde_json::from_value(verification) {
Ok(verify) => verify,
@@ -420,6 +428,7 @@ pub fn list_snapshots (
backup_time,
comment,
verification,
+ fingerprint,
files,
size,
owner,
@@ -443,6 +452,7 @@ pub fn list_snapshots (
backup_time,
comment: None,
verification: None,
+ fingerprint: None,
files,
size: None,
owner,
diff --git a/src/api2/types/mod.rs b/src/api2/types/mod.rs
index d7d5a8af..b347fc29 100644
--- a/src/api2/types/mod.rs
+++ b/src/api2/types/mod.rs
@@ -5,7 +5,7 @@ use proxmox::api::{api, schema::*};
use proxmox::const_regex;
use proxmox::{IPRE, IPRE_BRACKET, IPV4RE, IPV6RE, IPV4OCTET, IPV6H16, IPV6LS32};
-use crate::backup::{CryptMode, BACKUP_ID_REGEX};
+use crate::backup::{CryptMode, Fingerprint, BACKUP_ID_REGEX};
use crate::server::UPID;
#[macro_use]
@@ -484,6 +484,10 @@ pub struct SnapshotVerifyState {
type: SnapshotVerifyState,
optional: true,
},
+ fingerprint: {
+ type: String,
+ optional: true,
+ },
files: {
items: {
schema: BACKUP_ARCHIVE_NAME_SCHEMA
@@ -508,6 +512,9 @@ pub struct SnapshotListItem {
/// The result of the last run verify task
#[serde(skip_serializing_if="Option::is_none")]
pub verification: Option<SnapshotVerifyState>,
+ /// Fingerprint of encryption key
+ #[serde(skip_serializing_if="Option::is_none")]
+ pub fingerprint: Option<Fingerprint>,
/// List of contained archive files.
pub files: Vec<BackupContent>,
/// Overall snapshot size (sum of all archive sizes).
--
2.20.1
More information about the pbs-devel
mailing list