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 PullCreatePullRequest {

    /// 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>,

    /// List of decryption keys.
    #[serde(rename = "decryption-keys", skip_serializing_if = "Option::is_none")]
    pub decryption_keys: Option<Vec<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>>,

    /// 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>,

    /// Namespace.
    #[serde(rename = "ns", skip_serializing_if = "Option::is_none")]
    pub ns: 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>,

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

    /// 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>,

    /// 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 PullCreatePullRequest {
    pub fn new(remote_store: String, store: String) -> PullCreatePullRequest {
        PullCreatePullRequest {
            
            burst_in: None,
            
            burst_out: None,
            
            decryption_keys: None,
            
            encrypted_only: None,
            
            group_filter: None,
            
            max_depth: None,
            
            ns: None,
            
            rate_in: None,
            
            rate_out: None,
            
            remote: None,
            
            remote_ns: None,
            
            remote_store,
            
            remove_vanished: None,
            
            resync_corrupt: None,
            
            store,
            
            transfer_last: None,
            
            verified_only: None,
            
            worker_threads: None,
            
        }
    }
}