Skip to main content

clientapi_pbs/models/
config_sync_update_sync_request.rs

1/*
2 * Proxmox Backup Server API
3 *
4 * Generated from apidoc.js. NOT an official Proxmox specification. See https://pbs.proxmox.com/docs/api-viewer/ for the upstream documentation.
5 *
6 * The version of the OpenAPI document: 9.x
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ConfigSyncUpdateSyncRequest {
16
17    /// ID to uniquely identify encryption/decription key
18    #[serde(rename = "active-encryption-key", skip_serializing_if = "Option::is_none")]
19    pub active_encryption_key: Option<String>,
20
21    /// List of cryptographic keys associated with sync job.
22    #[serde(rename = "associated-key", skip_serializing_if = "Option::is_none")]
23    pub associated_key: Option<Vec<String>>,
24
25    /// Byte size with optional unit (B, KB (base 10), MB, GB, ..., KiB (base 2), MiB, Gib, ...).
26    #[serde(rename = "burst-in", skip_serializing_if = "Option::is_none")]
27    pub burst_in: Option<String>,
28
29    /// Byte size with optional unit (B, KB (base 10), MB, GB, ..., KiB (base 2), MiB, Gib, ...).
30    #[serde(rename = "burst-out", skip_serializing_if = "Option::is_none")]
31    pub burst_out: Option<String>,
32
33    /// Comment.
34    #[serde(rename = "comment", skip_serializing_if = "Option::is_none")]
35    pub comment: Option<String>,
36
37    /// List of properties to delete.
38    #[serde(rename = "delete", skip_serializing_if = "Option::is_none")]
39    pub delete: Option<Vec<models::PbsConfigSyncInlineEnum>>,
40
41    /// Prevent changes if current configuration file has different SHA256 digest. This can be used to prevent concurrent modifications.
42    #[serde(rename = "digest", skip_serializing_if = "Option::is_none")]
43    pub digest: Option<String>,
44
45    /// Only synchronize encrypted backup snapshots, exclude others.
46    #[serde(rename = "encrypted-only", skip_serializing_if = "Option::is_none")]
47    pub encrypted_only: Option<bool>,
48
49    /// List of group filters.
50    #[serde(rename = "group-filter", skip_serializing_if = "Option::is_none")]
51    pub group_filter: Option<Vec<String>>,
52
53    /// How many levels of namespaces should be operated on (0 == no recursion, empty == automatic full recursion, namespace depths reduce maximum allowed value)
54    #[serde(rename = "max-depth", skip_serializing_if = "Option::is_none")]
55    pub max_depth: Option<i32>,
56
57    /// Namespace.
58    #[serde(rename = "ns", skip_serializing_if = "Option::is_none")]
59    pub ns: Option<String>,
60
61    /// Authentication ID
62    #[serde(rename = "owner", skip_serializing_if = "Option::is_none")]
63    pub owner: Option<String>,
64
65    /// Byte size with optional unit (B, KB (base 10), MB, GB, ..., KiB (base 2), MiB, Gib, ...).
66    #[serde(rename = "rate-in", skip_serializing_if = "Option::is_none")]
67    pub rate_in: Option<String>,
68
69    /// Byte size with optional unit (B, KB (base 10), MB, GB, ..., KiB (base 2), MiB, Gib, ...).
70    #[serde(rename = "rate-out", skip_serializing_if = "Option::is_none")]
71    pub rate_out: Option<String>,
72
73    /// Remote ID.
74    #[serde(rename = "remote", skip_serializing_if = "Option::is_none")]
75    pub remote: Option<String>,
76
77    /// Namespace.
78    #[serde(rename = "remote-ns", skip_serializing_if = "Option::is_none")]
79    pub remote_ns: Option<String>,
80
81    /// Datastore name.
82    #[serde(rename = "remote-store", skip_serializing_if = "Option::is_none")]
83    pub remote_store: Option<String>,
84
85    /// Delete vanished backups. This remove the local copy if the remote backup was deleted.
86    #[serde(rename = "remove-vanished", skip_serializing_if = "Option::is_none")]
87    pub remove_vanished: Option<bool>,
88
89    /// If the verification failed for a local snapshot, try to pull it again.
90    #[serde(rename = "resync-corrupt", skip_serializing_if = "Option::is_none")]
91    pub resync_corrupt: Option<bool>,
92
93    /// Run this job when a relevant datastore is mounted.
94    #[serde(rename = "run-on-mount", skip_serializing_if = "Option::is_none")]
95    pub run_on_mount: Option<bool>,
96
97    /// Run sync job at specified schedule.
98    #[serde(rename = "schedule", skip_serializing_if = "Option::is_none")]
99    pub schedule: Option<String>,
100
101    /// Datastore name.
102    #[serde(rename = "store", skip_serializing_if = "Option::is_none")]
103    pub store: Option<String>,
104
105    /// Direction of the sync job, push or pull
106    #[serde(rename = "sync-direction", skip_serializing_if = "Option::is_none")]
107    pub sync_direction: Option<models::PbsAdminSyncSyncDirectionEnum>,
108
109    /// Limit transfer to last N snapshots (per group), skipping others
110    #[serde(rename = "transfer-last", skip_serializing_if = "Option::is_none")]
111    pub transfer_last: Option<i64>,
112
113    /// Unmount involved removable datastore after the sync job finishes. Requires 'run-on-mount' to be enabled.
114    #[serde(rename = "unmount-on-done", skip_serializing_if = "Option::is_none")]
115    pub unmount_on_done: Option<bool>,
116
117    /// Only synchronize verified backup snapshots, exclude others.
118    #[serde(rename = "verified-only", skip_serializing_if = "Option::is_none")]
119    pub verified_only: Option<bool>,
120
121    /// The number of worker threads to process groups in parallel.
122    #[serde(rename = "worker-threads", skip_serializing_if = "Option::is_none")]
123    pub worker_threads: Option<i32>,
124
125
126}
127
128impl ConfigSyncUpdateSyncRequest {
129    pub fn new() -> ConfigSyncUpdateSyncRequest {
130        ConfigSyncUpdateSyncRequest {
131            
132            active_encryption_key: None,
133            
134            associated_key: None,
135            
136            burst_in: None,
137            
138            burst_out: None,
139            
140            comment: None,
141            
142            delete: None,
143            
144            digest: None,
145            
146            encrypted_only: None,
147            
148            group_filter: None,
149            
150            max_depth: None,
151            
152            ns: None,
153            
154            owner: None,
155            
156            rate_in: None,
157            
158            rate_out: None,
159            
160            remote: None,
161            
162            remote_ns: None,
163            
164            remote_store: None,
165            
166            remove_vanished: None,
167            
168            resync_corrupt: None,
169            
170            run_on_mount: None,
171            
172            schedule: None,
173            
174            store: None,
175            
176            sync_direction: None,
177            
178            transfer_last: None,
179            
180            unmount_on_done: None,
181            
182            verified_only: None,
183            
184            worker_threads: None,
185            
186        }
187    }
188}
189
190