Skip to main content

clientapi_pve/models/
storage_update_storage_request.rs

1/*
2 * Proxmox Virtual Environment API
3 *
4 * Generated from apidoc.js. NOT an official Proxmox specification. See https://pve.proxmox.com/pve-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 StorageUpdateStorageRequest {
16
17    /// ZFS block size
18    #[serde(rename = "blocksize", skip_serializing_if = "Option::is_none")]
19    pub blocksize: Option<String>,
20
21    /// Set I/O bandwidth limit for various operations (in KiB/s).
22    #[serde(rename = "bwlimit", skip_serializing_if = "Option::is_none")]
23    pub bwlimit: Option<Box<models::PveBwlimitField>>,
24
25    /// host group for comstar views
26    #[serde(rename = "comstar_hg", skip_serializing_if = "Option::is_none")]
27    pub comstar_hg: Option<String>,
28
29    /// target group for comstar views
30    #[serde(rename = "comstar_tg", skip_serializing_if = "Option::is_none")]
31    pub comstar_tg: Option<String>,
32
33    /// Allowed content types.  NOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs. 
34    #[serde(rename = "content", skip_serializing_if = "Option::is_none")]
35    pub content: Option<String>,
36
37    /// Overrides for default content type directories.
38    #[serde(rename = "content-dirs", skip_serializing_if = "Option::is_none")]
39    pub content_dirs: Option<String>,
40
41    /// Create the base directory if it doesn't exist.
42    #[serde(rename = "create-base-path", skip_serializing_if = "Option::is_none")]
43    pub create_base_path: Option<models::PveBoolean>,
44
45    /// Populate the directory with the default structure.
46    #[serde(rename = "create-subdirs", skip_serializing_if = "Option::is_none")]
47    pub create_subdirs: Option<models::PveBoolean>,
48
49    /// Data Pool (for erasure coding only)
50    #[serde(rename = "data-pool", skip_serializing_if = "Option::is_none")]
51    pub data_pool: Option<String>,
52
53    /// A list of settings you want to delete.
54    #[serde(rename = "delete", skip_serializing_if = "Option::is_none")]
55    pub delete: Option<String>,
56
57    /// Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.
58    #[serde(rename = "digest", skip_serializing_if = "Option::is_none")]
59    pub digest: Option<String>,
60
61    /// Flag to disable the storage.
62    #[serde(rename = "disable", skip_serializing_if = "Option::is_none")]
63    pub disable: Option<models::PveBoolean>,
64
65    /// CIFS domain.
66    #[serde(rename = "domain", skip_serializing_if = "Option::is_none")]
67    pub domain: Option<String>,
68
69    /// Encryption key. Use 'autogen' to generate one automatically without passphrase.
70    #[serde(rename = "encryption-key", skip_serializing_if = "Option::is_none")]
71    pub encryption_key: Option<String>,
72
73    /// Certificate SHA 256 fingerprint.
74    #[serde(rename = "fingerprint", skip_serializing_if = "Option::is_none")]
75    pub fingerprint: Option<String>,
76
77    /// Default image format.
78    #[serde(rename = "format", skip_serializing_if = "Option::is_none")]
79    pub format: Option<models::PveFormatFormatEnum>,
80
81    /// The Ceph filesystem name.
82    #[serde(rename = "fs-name", skip_serializing_if = "Option::is_none")]
83    pub fs_name: Option<String>,
84
85    /// Mount CephFS through FUSE.
86    #[serde(rename = "fuse", skip_serializing_if = "Option::is_none")]
87    pub fuse: Option<models::PveBoolean>,
88
89    /// Assume the given path is an externally managed mountpoint and consider the storage offline if it is not mounted. Using a boolean (yes/no) value serves as a shortcut to using the target path in this field.
90    #[serde(rename = "is_mountpoint", skip_serializing_if = "Option::is_none")]
91    pub is_mountpoint: Option<String>,
92
93    /// Client keyring contents (for external clusters).
94    #[serde(rename = "keyring", skip_serializing_if = "Option::is_none")]
95    pub keyring: Option<String>,
96
97    /// Always access rbd through krbd kernel module.
98    #[serde(rename = "krbd", skip_serializing_if = "Option::is_none")]
99    pub krbd: Option<models::PveBoolean>,
100
101    /// target portal group for Linux LIO targets
102    #[serde(rename = "lio_tpg", skip_serializing_if = "Option::is_none")]
103    pub lio_tpg: Option<String>,
104
105    /// Base64-encoded, PEM-formatted public RSA key. Used to encrypt a copy of the encryption-key which will be added to each encrypted backup.
106    #[serde(rename = "master-pubkey", skip_serializing_if = "Option::is_none")]
107    pub master_pubkey: Option<String>,
108
109    /// Maximal number of protected backups per guest. Use '-1' for unlimited.
110    #[serde(rename = "max-protected-backups", skip_serializing_if = "Option::is_none")]
111    pub max_protected_backups: Option<i64>,
112
113    /// Create the directory if it doesn't exist and populate it with default sub-dirs. NOTE: Deprecated, use the 'create-base-path' and 'create-subdirs' options instead.
114    #[serde(rename = "mkdir", skip_serializing_if = "Option::is_none")]
115    pub mkdir: Option<models::PveBoolean>,
116
117    /// IP addresses of monitors (for external clusters).
118    #[serde(rename = "monhost", skip_serializing_if = "Option::is_none")]
119    pub monhost: Option<String>,
120
121    /// mount point
122    #[serde(rename = "mountpoint", skip_serializing_if = "Option::is_none")]
123    pub mountpoint: Option<String>,
124
125    /// Namespace.
126    #[serde(rename = "namespace", skip_serializing_if = "Option::is_none")]
127    pub namespace: Option<String>,
128
129    /// Set the NOCOW flag on files. Disables data checksumming and causes data errors to be unrecoverable from while allowing direct I/O. Only use this if data does not need to be any more safe than on a single ext4 formatted disk with no underlying raid system.
130    #[serde(rename = "nocow", skip_serializing_if = "Option::is_none")]
131    pub nocow: Option<models::PveBoolean>,
132
133    /// List of nodes for which the storage configuration applies.
134    #[serde(rename = "nodes", skip_serializing_if = "Option::is_none")]
135    pub nodes: Option<String>,
136
137    /// disable write caching on the target
138    #[serde(rename = "nowritecache", skip_serializing_if = "Option::is_none")]
139    pub nowritecache: Option<models::PveBoolean>,
140
141    /// NFS/CIFS mount options (see 'man nfs' or 'man mount.cifs')
142    #[serde(rename = "options", skip_serializing_if = "Option::is_none")]
143    pub options: Option<String>,
144
145    /// Password for accessing the share/datastore.
146    #[serde(rename = "password", skip_serializing_if = "Option::is_none")]
147    pub password: Option<String>,
148
149    /// Pool.
150    #[serde(rename = "pool", skip_serializing_if = "Option::is_none")]
151    pub pool: Option<String>,
152
153    /// Use this port to connect to the storage instead of the default one (for example, with PBS or ESXi). For NFS and CIFS, use the 'options' option to configure the port via the mount options.
154    #[serde(rename = "port", skip_serializing_if = "Option::is_none")]
155    pub port: Option<i32>,
156
157    /// Preallocation mode for raw and qcow2 images. Using 'metadata' on raw images results in preallocation=off.
158    #[serde(rename = "preallocation", skip_serializing_if = "Option::is_none")]
159    pub preallocation: Option<models::PvePreallocationEnum>,
160
161    /// The retention options with shorter intervals are processed first with --keep-last being the very first one. Each option covers a specific period of time. We say that backups within this period are covered by this option. The next option does not take care of already covered backups and only considers older backups.
162    #[serde(rename = "prune-backups", skip_serializing_if = "Option::is_none")]
163    pub prune_backups: Option<String>,
164
165    /// Zero-out data when removing LVs.
166    #[serde(rename = "saferemove", skip_serializing_if = "Option::is_none")]
167    pub saferemove: Option<models::PveBoolean>,
168
169    /// Wipe step size in MiB. It will be capped to the maximum supported by the storage.
170    #[serde(rename = "saferemove-stepsize", skip_serializing_if = "Option::is_none")]
171    pub saferemove_stepsize: Option<models::PveSaferemoveStepsizeEnum>,
172
173    /// Wipe throughput (cstream -t parameter value).
174    #[serde(rename = "saferemove_throughput", skip_serializing_if = "Option::is_none")]
175    pub saferemove_throughput: Option<String>,
176
177    /// Server IP or DNS name.
178    #[serde(rename = "server", skip_serializing_if = "Option::is_none")]
179    pub server: Option<String>,
180
181    /// Indicate that this is a single storage with the same contents on all nodes (or all listed in the 'nodes' option). It will not make the contents of a local storage automatically accessible to other nodes, it just marks an already shared storage as such!
182    #[serde(rename = "shared", skip_serializing_if = "Option::is_none")]
183    pub shared: Option<models::PveBoolean>,
184
185    /// Disable TLS certificate verification, only enable on fully trusted networks!
186    #[serde(rename = "skip-cert-verification", skip_serializing_if = "Option::is_none")]
187    pub skip_cert_verification: Option<models::PveBoolean>,
188
189    /// SMB protocol version. 'default' if not set, negotiates the highest SMB2+ version supported by both the client and server.
190    #[serde(rename = "smbversion", skip_serializing_if = "Option::is_none")]
191    pub smbversion: Option<models::PveSmbversionEnum>,
192
193    /// Enable support for creating storage-vendor agnostic snapshot through volume backing-chains.
194    #[serde(rename = "snapshot-as-volume-chain", skip_serializing_if = "Option::is_none")]
195    pub snapshot_as_volume_chain: Option<models::PveBoolean>,
196
197    /// use sparse volumes
198    #[serde(rename = "sparse", skip_serializing_if = "Option::is_none")]
199    pub sparse: Option<models::PveBoolean>,
200
201    /// Subdir to mount.
202    #[serde(rename = "subdir", skip_serializing_if = "Option::is_none")]
203    pub subdir: Option<String>,
204
205    /// Only list logical volumes tagged with 'pve-vm-ID'.
206    #[serde(rename = "tagged_only", skip_serializing_if = "Option::is_none")]
207    pub tagged_only: Option<models::PveBoolean>,
208
209    /// RBD Id.
210    #[serde(rename = "username", skip_serializing_if = "Option::is_none")]
211    pub username: Option<String>,
212
213    /// Base path where to look for the created ZFS block devices. Set automatically during creation if not specified. Usually '/dev/zvol'.
214    #[serde(rename = "zfs-base-path", skip_serializing_if = "Option::is_none")]
215    pub zfs_base_path: Option<String>,
216
217
218}
219
220impl StorageUpdateStorageRequest {
221    pub fn new() -> StorageUpdateStorageRequest {
222        StorageUpdateStorageRequest {
223            
224            blocksize: None,
225            
226            bwlimit: None,
227            
228            comstar_hg: None,
229            
230            comstar_tg: None,
231            
232            content: None,
233            
234            content_dirs: None,
235            
236            create_base_path: None,
237            
238            create_subdirs: None,
239            
240            data_pool: None,
241            
242            delete: None,
243            
244            digest: None,
245            
246            disable: None,
247            
248            domain: None,
249            
250            encryption_key: None,
251            
252            fingerprint: None,
253            
254            format: None,
255            
256            fs_name: None,
257            
258            fuse: None,
259            
260            is_mountpoint: None,
261            
262            keyring: None,
263            
264            krbd: None,
265            
266            lio_tpg: None,
267            
268            master_pubkey: None,
269            
270            max_protected_backups: None,
271            
272            mkdir: None,
273            
274            monhost: None,
275            
276            mountpoint: None,
277            
278            namespace: None,
279            
280            nocow: None,
281            
282            nodes: None,
283            
284            nowritecache: None,
285            
286            options: None,
287            
288            password: None,
289            
290            pool: None,
291            
292            port: None,
293            
294            preallocation: None,
295            
296            prune_backups: None,
297            
298            saferemove: None,
299            
300            saferemove_stepsize: None,
301            
302            saferemove_throughput: None,
303            
304            server: None,
305            
306            shared: None,
307            
308            skip_cert_verification: None,
309            
310            smbversion: None,
311            
312            snapshot_as_volume_chain: None,
313            
314            sparse: None,
315            
316            subdir: None,
317            
318            tagged_only: None,
319            
320            username: None,
321            
322            zfs_base_path: None,
323            
324        }
325    }
326}
327
328