clientapi_pbs/models/
config_datastore_create_datastore_request.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ConfigDatastoreCreateDatastoreRequest {
16
17 #[serde(rename = "backend", skip_serializing_if = "Option::is_none")]
19 pub backend: Option<String>,
20
21 #[serde(rename = "backing-device", skip_serializing_if = "Option::is_none")]
23 pub backing_device: Option<String>,
24
25 #[serde(rename = "comment", skip_serializing_if = "Option::is_none")]
27 pub comment: Option<String>,
28
29 #[serde(rename = "counter-reset-schedule", skip_serializing_if = "Option::is_none")]
31 pub counter_reset_schedule: Option<String>,
32
33 #[serde(rename = "gc-on-unmount", skip_serializing_if = "Option::is_none")]
35 pub gc_on_unmount: Option<bool>,
36
37 #[serde(rename = "gc-schedule", skip_serializing_if = "Option::is_none")]
39 pub gc_schedule: Option<String>,
40
41 #[serde(rename = "keep-daily", skip_serializing_if = "Option::is_none")]
43 pub keep_daily: Option<i64>,
44
45 #[serde(rename = "keep-hourly", skip_serializing_if = "Option::is_none")]
47 pub keep_hourly: Option<i64>,
48
49 #[serde(rename = "keep-last", skip_serializing_if = "Option::is_none")]
51 pub keep_last: Option<i64>,
52
53 #[serde(rename = "keep-monthly", skip_serializing_if = "Option::is_none")]
55 pub keep_monthly: Option<i64>,
56
57 #[serde(rename = "keep-weekly", skip_serializing_if = "Option::is_none")]
59 pub keep_weekly: Option<i64>,
60
61 #[serde(rename = "keep-yearly", skip_serializing_if = "Option::is_none")]
63 pub keep_yearly: Option<i64>,
64
65 #[serde(rename = "maintenance-mode", skip_serializing_if = "Option::is_none")]
67 pub maintenance_mode: Option<Box<models::PbsMaintenanceField>>,
68
69 #[serde(rename = "name")]
71 pub name: String,
72
73 #[serde(rename = "notification-mode", skip_serializing_if = "Option::is_none")]
75 pub notification_mode: Option<models::PbsNotificationModeEnum>,
76
77 #[serde(rename = "notification-thresholds", skip_serializing_if = "Option::is_none")]
79 pub notification_thresholds: Option<Box<models::PbsNotificationThresholdsField>>,
80
81 #[serde(rename = "notify", skip_serializing_if = "Option::is_none")]
83 pub notify: Option<Box<models::PbsNotifyField>>,
84
85 #[serde(rename = "notify-user", skip_serializing_if = "Option::is_none")]
87 pub notify_user: Option<String>,
88
89 #[serde(rename = "overwrite-in-use", skip_serializing_if = "Option::is_none")]
91 pub overwrite_in_use: Option<bool>,
92
93 #[serde(rename = "path")]
95 pub path: String,
96
97 #[serde(rename = "prune-schedule", skip_serializing_if = "Option::is_none")]
99 pub prune_schedule: Option<String>,
100
101 #[serde(rename = "reuse-datastore", skip_serializing_if = "Option::is_none")]
103 pub reuse_datastore: Option<bool>,
104
105 #[serde(rename = "tuning", skip_serializing_if = "Option::is_none")]
107 pub tuning: Option<Box<models::PbsTuningField>>,
108
109 #[serde(rename = "verify-new", skip_serializing_if = "Option::is_none")]
111 pub verify_new: Option<bool>,
112
113
114}
115
116impl ConfigDatastoreCreateDatastoreRequest {
117 pub fn new(name: String, path: String) -> ConfigDatastoreCreateDatastoreRequest {
118 ConfigDatastoreCreateDatastoreRequest {
119
120 backend: None,
121
122 backing_device: None,
123
124 comment: None,
125
126 counter_reset_schedule: None,
127
128 gc_on_unmount: None,
129
130 gc_schedule: None,
131
132 keep_daily: None,
133
134 keep_hourly: None,
135
136 keep_last: None,
137
138 keep_monthly: None,
139
140 keep_weekly: None,
141
142 keep_yearly: None,
143
144 maintenance_mode: None,
145
146 name,
147
148 notification_mode: None,
149
150 notification_thresholds: None,
151
152 notify: None,
153
154 notify_user: None,
155
156 overwrite_in_use: None,
157
158 path,
159
160 prune_schedule: None,
161
162 reuse_datastore: None,
163
164 tuning: None,
165
166 verify_new: None,
167
168 }
169 }
170}
171
172