pub struct RepositoryStatus {
pub config_file: String,
pub unique_id_hex: String,
pub client_options: ClientOptions,
pub storage: StorageInfo,
pub content_format: ContentFormat,
}Expand description
Result of kopia repository status --json.
The repository’s stable identity is uniqueIDHex (kopia’s JSON key, hence
the explicit rename). We keep the high-value fields typed and leave the rest
(volume capacity, object format, epoch params) for future expansion without
breaking on unknown fields.
Parse a trimmed status object — note the uniqueIDHex key maps to
unique_id_hex, and unknown fields (here extraFutureField) are tolerated:
use kopiur_kopia::RepositoryStatus;
let json = r#"{
"configFile": "/config/repository.config",
"uniqueIDHex": "deadbeef",
"clientOptions": {"hostname": "prod", "username": "mydb"},
"storage": {"type": "s3", "config": {"bucket": "backups"}},
"contentFormat": {"hash": "BLAKE2B-256-128", "encryption": "AES256-GCM-HMAC-SHA256", "version": 3},
"extraFutureField": 42
}"#;
let status: RepositoryStatus = serde_json::from_str(json).unwrap();
assert_eq!(status.unique_id_hex, "deadbeef");
assert_eq!(status.storage.storage_type, "s3");
assert_eq!(status.content_format.version, 3);
assert_eq!(status.client_options.username, "mydb");Fields§
§config_file: StringPath to the local repository config file.
unique_id_hex: StringThe repository’s stable unique id. kopia’s key is uniqueIDHex.
client_options: ClientOptionsClient identity options.
storage: StorageInfoStorage backend info.
content_format: ContentFormatContent format (hash/encryption/version).
Trait Implementations§
Source§impl Clone for RepositoryStatus
impl Clone for RepositoryStatus
Source§fn clone(&self) -> RepositoryStatus
fn clone(&self) -> RepositoryStatus
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RepositoryStatus
impl Debug for RepositoryStatus
Source§impl<'de> Deserialize<'de> for RepositoryStatus
impl<'de> Deserialize<'de> for RepositoryStatus
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for RepositoryStatus
impl PartialEq for RepositoryStatus
Source§fn eq(&self, other: &RepositoryStatus) -> bool
fn eq(&self, other: &RepositoryStatus) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for RepositoryStatus
impl Serialize for RepositoryStatus
impl StructuralPartialEq for RepositoryStatus
Auto Trait Implementations§
impl Freeze for RepositoryStatus
impl RefUnwindSafe for RepositoryStatus
impl Send for RepositoryStatus
impl Sync for RepositoryStatus
impl Unpin for RepositoryStatus
impl UnsafeUnpin for RepositoryStatus
impl UnwindSafe for RepositoryStatus
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