clientapi-pbs 2026.5.24

Generated from apidoc.js. NOT an official Proxmox specification. See https://pbs.proxmox.com/docs/api-viewer/ for the upstream documentation.
Documentation
/*
 * Proxmox Backup Server API
 *
 * Generated from apidoc.js. NOT an official Proxmox specification. See https://pbs.proxmox.com/docs/api-viewer/ for the upstream documentation.
 *
 * The version of the OpenAPI document: 9.x
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AdminSyncGetSyncResponseDataInner {

    /// ID to uniquely identify encryption/decription key
    #[serde(rename = "active-encryption-key", skip_serializing_if = "Option::is_none")]
    pub active_encryption_key: Option<String>,

    /// List of cryptographic keys associated with sync job.
    #[serde(rename = "associated-key", skip_serializing_if = "Option::is_none")]
    pub associated_key: Option<Vec<String>>,

    /// Byte size with optional unit (B, KB (base 10), MB, GB, ..., KiB (base 2), MiB, Gib, ...).
    #[serde(rename = "burst-in", skip_serializing_if = "Option::is_none")]
    pub burst_in: Option<String>,

    /// Byte size with optional unit (B, KB (base 10), MB, GB, ..., KiB (base 2), MiB, Gib, ...).
    #[serde(rename = "burst-out", skip_serializing_if = "Option::is_none")]
    pub burst_out: Option<String>,

    /// Comment.
    #[serde(rename = "comment", skip_serializing_if = "Option::is_none")]
    pub comment: Option<String>,

    /// Only synchronize encrypted backup snapshots, exclude others.
    #[serde(rename = "encrypted-only", skip_serializing_if = "Option::is_none")]
    pub encrypted_only: Option<bool>,

    /// List of group filters.
    #[serde(rename = "group-filter", skip_serializing_if = "Option::is_none")]
    pub group_filter: Option<Vec<String>>,

    /// Job ID.
    #[serde(rename = "id")]
    pub id: String,

    /// Endtime of the last run.
    #[serde(rename = "last-run-endtime", skip_serializing_if = "Option::is_none")]
    pub last_run_endtime: Option<i64>,

    /// Result of the last run.
    #[serde(rename = "last-run-state", skip_serializing_if = "Option::is_none")]
    pub last_run_state: Option<String>,

    /// Task UPID of the last run.
    #[serde(rename = "last-run-upid", skip_serializing_if = "Option::is_none")]
    pub last_run_upid: Option<String>,

    /// How many levels of namespaces should be operated on (0 == no recursion, empty == automatic full recursion, namespace depths reduce maximum allowed value)
    #[serde(rename = "max-depth", skip_serializing_if = "Option::is_none")]
    pub max_depth: Option<i32>,

    /// Estimated time of the next run (UNIX epoch).
    #[serde(rename = "next-run", skip_serializing_if = "Option::is_none")]
    pub next_run: Option<i64>,

    /// Namespace.
    #[serde(rename = "ns", skip_serializing_if = "Option::is_none")]
    pub ns: Option<String>,

    /// Authentication ID
    #[serde(rename = "owner", skip_serializing_if = "Option::is_none")]
    pub owner: Option<String>,

    /// Byte size with optional unit (B, KB (base 10), MB, GB, ..., KiB (base 2), MiB, Gib, ...).
    #[serde(rename = "rate-in", skip_serializing_if = "Option::is_none")]
    pub rate_in: Option<String>,

    /// Byte size with optional unit (B, KB (base 10), MB, GB, ..., KiB (base 2), MiB, Gib, ...).
    #[serde(rename = "rate-out", skip_serializing_if = "Option::is_none")]
    pub rate_out: Option<String>,

    /// Remote ID.
    #[serde(rename = "remote", skip_serializing_if = "Option::is_none")]
    pub remote: Option<String>,

    /// Namespace.
    #[serde(rename = "remote-ns", skip_serializing_if = "Option::is_none")]
    pub remote_ns: Option<String>,

    /// Datastore name.
    #[serde(rename = "remote-store")]
    pub remote_store: String,

    /// Delete vanished backups. This remove the local copy if the remote backup was deleted.
    #[serde(rename = "remove-vanished", skip_serializing_if = "Option::is_none")]
    pub remove_vanished: Option<bool>,

    /// If the verification failed for a local snapshot, try to pull it again.
    #[serde(rename = "resync-corrupt", skip_serializing_if = "Option::is_none")]
    pub resync_corrupt: Option<bool>,

    /// Run this job when a relevant datastore is mounted.
    #[serde(rename = "run-on-mount", skip_serializing_if = "Option::is_none")]
    pub run_on_mount: Option<bool>,

    /// Run sync job at specified schedule.
    #[serde(rename = "schedule", skip_serializing_if = "Option::is_none")]
    pub schedule: Option<String>,

    /// Datastore name.
    #[serde(rename = "store")]
    pub store: String,

    /// Direction of the sync job, push or pull
    #[serde(rename = "sync-direction", skip_serializing_if = "Option::is_none")]
    pub sync_direction: Option<models::PbsAdminSyncSyncDirectionEnum>,

    /// Limit transfer to last N snapshots (per group), skipping others
    #[serde(rename = "transfer-last", skip_serializing_if = "Option::is_none")]
    pub transfer_last: Option<i64>,

    /// Unmount involved removable datastore after the sync job finishes. Requires 'run-on-mount' to be enabled.
    #[serde(rename = "unmount-on-done", skip_serializing_if = "Option::is_none")]
    pub unmount_on_done: Option<bool>,

    /// Only synchronize verified backup snapshots, exclude others.
    #[serde(rename = "verified-only", skip_serializing_if = "Option::is_none")]
    pub verified_only: Option<bool>,

    /// The number of worker threads to process groups in parallel.
    #[serde(rename = "worker-threads", skip_serializing_if = "Option::is_none")]
    pub worker_threads: Option<i32>,


}

impl AdminSyncGetSyncResponseDataInner {
    pub fn new(id: String, remote_store: String, store: String) -> AdminSyncGetSyncResponseDataInner {
        AdminSyncGetSyncResponseDataInner {
            
            active_encryption_key: None,
            
            associated_key: None,
            
            burst_in: None,
            
            burst_out: None,
            
            comment: None,
            
            encrypted_only: None,
            
            group_filter: None,
            
            id,
            
            last_run_endtime: None,
            
            last_run_state: None,
            
            last_run_upid: None,
            
            max_depth: None,
            
            next_run: None,
            
            ns: None,
            
            owner: None,
            
            rate_in: None,
            
            rate_out: None,
            
            remote: None,
            
            remote_ns: None,
            
            remote_store,
            
            remove_vanished: None,
            
            resync_corrupt: None,
            
            run_on_mount: None,
            
            schedule: None,
            
            store,
            
            sync_direction: None,
            
            transfer_last: None,
            
            unmount_on_done: None,
            
            verified_only: None,
            
            worker_threads: None,
            
        }
    }
}