1pub struct IdClient<T> {
2 client: T,
3 path: String,
4}
5impl<T> IdClient<T>
6where
7 T: crate::client::Client,
8{
9 pub fn new(client: T, parent_path: &str, id: &str) -> Self {
10 Self {
11 client,
12 path: format!("{}/{}", parent_path, id),
13 }
14 }
15}
16impl<T> IdClient<T>
17where
18 T: crate::client::Client,
19{
20 #[doc = "Delete ACME plugin configuration."]
21 pub fn delete(&self) -> Result<(), T::Error> {
22 let path = self.path.to_string();
23 self.client.delete(&path, &())
24 }
25}
26impl<T> IdClient<T>
27where
28 T: crate::client::Client,
29{
30 #[doc = "Get ACME plugin configuration."]
31 pub fn get(&self) -> Result<GetOutput, T::Error> {
32 let path = self.path.to_string();
33 self.client.get(&path, &())
34 }
35}
36impl<T> IdClient<T>
37where
38 T: crate::client::Client,
39{
40 #[doc = "Update ACME plugin configuration."]
41 pub fn put(&self, params: PutParams) -> Result<(), T::Error> {
42 let path = self.path.to_string();
43 self.client.put(&path, ¶ms)
44 }
45}
46#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize, Default)]
47pub struct GetOutput {
48 #[serde(
49 flatten,
50 default,
51 skip_serializing_if = "::std::collections::HashMap::is_empty"
52 )]
53 pub additional_properties: ::std::collections::HashMap<String, ::serde_json::Value>,
54}
55#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize, Default)]
56pub struct PutParams {
57 #[serde(skip_serializing_if = "Option::is_none", default)]
58 #[doc = "API plugin name"]
59 pub api: Option<Api>,
60 #[serde(skip_serializing_if = "Option::is_none", default)]
61 #[doc = "DNS plugin data. (base64 encoded)"]
62 pub data: Option<String>,
63 #[serde(skip_serializing_if = "Option::is_none", default)]
64 #[doc = "A list of settings you want to delete."]
65 pub delete: Option<String>,
66 #[serde(skip_serializing_if = "Option::is_none", default)]
67 #[doc = "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications."]
68 pub digest: Option<String>,
69 #[serde(
70 serialize_with = "crate::types::serialize_bool_optional",
71 deserialize_with = "crate::types::deserialize_bool_optional"
72 )]
73 #[serde(skip_serializing_if = "Option::is_none", default)]
74 #[doc = "Flag to disable the config."]
75 pub disable: Option<bool>,
76 #[serde(skip_serializing_if = "Option::is_none", default)]
77 #[doc = "List of cluster node names."]
78 pub nodes: Option<String>,
79 #[serde(rename = "validation-delay")]
80 #[serde(
81 serialize_with = "crate::types::serialize_int_optional",
82 deserialize_with = "crate::types::deserialize_int_optional"
83 )]
84 #[serde(skip_serializing_if = "Option::is_none", default)]
85 #[doc = "Extra delay in seconds to wait before requesting validation. Allows to cope with a long TTL of DNS records."]
86 pub validation_delay: Option<u64>,
87 #[serde(
88 flatten,
89 default,
90 skip_serializing_if = "::std::collections::HashMap::is_empty"
91 )]
92 pub additional_properties: ::std::collections::HashMap<String, ::serde_json::Value>,
93}
94#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize)]
95pub enum Api {
96 #[serde(rename = "1984hosting")]
97 _1984hosting,
98 #[serde(rename = "acmedns")]
99 Acmedns,
100 #[serde(rename = "acmeproxy")]
101 Acmeproxy,
102 #[serde(rename = "active24")]
103 Active24,
104 #[serde(rename = "ad")]
105 Ad,
106 #[serde(rename = "ali")]
107 Ali,
108 #[serde(rename = "anx")]
109 Anx,
110 #[serde(rename = "artfiles")]
111 Artfiles,
112 #[serde(rename = "arvan")]
113 Arvan,
114 #[serde(rename = "aurora")]
115 Aurora,
116 #[serde(rename = "autodns")]
117 Autodns,
118 #[serde(rename = "aws")]
119 Aws,
120 #[serde(rename = "azion")]
121 Azion,
122 #[serde(rename = "azure")]
123 Azure,
124 #[serde(rename = "bookmyname")]
125 Bookmyname,
126 #[serde(rename = "bunny")]
127 Bunny,
128 #[serde(rename = "cf")]
129 Cf,
130 #[serde(rename = "clouddns")]
131 Clouddns,
132 #[serde(rename = "cloudns")]
133 Cloudns,
134 #[serde(rename = "cn")]
135 Cn,
136 #[serde(rename = "conoha")]
137 Conoha,
138 #[serde(rename = "constellix")]
139 Constellix,
140 #[serde(rename = "cpanel")]
141 Cpanel,
142 #[serde(rename = "curanet")]
143 Curanet,
144 #[serde(rename = "cyon")]
145 Cyon,
146 #[serde(rename = "da")]
147 Da,
148 #[serde(rename = "ddnss")]
149 Ddnss,
150 #[serde(rename = "desec")]
151 Desec,
152 #[serde(rename = "df")]
153 Df,
154 #[serde(rename = "dgon")]
155 Dgon,
156 #[serde(rename = "dnsexit")]
157 Dnsexit,
158 #[serde(rename = "dnshome")]
159 Dnshome,
160 #[serde(rename = "dnsimple")]
161 Dnsimple,
162 #[serde(rename = "dnsservices")]
163 Dnsservices,
164 #[serde(rename = "do")]
165 Do,
166 #[serde(rename = "doapi")]
167 Doapi,
168 #[serde(rename = "domeneshop")]
169 Domeneshop,
170 #[serde(rename = "dp")]
171 Dp,
172 #[serde(rename = "dpi")]
173 Dpi,
174 #[serde(rename = "dreamhost")]
175 Dreamhost,
176 #[serde(rename = "duckdns")]
177 Duckdns,
178 #[serde(rename = "durabledns")]
179 Durabledns,
180 #[serde(rename = "dyn")]
181 Dyn,
182 #[serde(rename = "dynu")]
183 Dynu,
184 #[serde(rename = "dynv6")]
185 Dynv6,
186 #[serde(rename = "easydns")]
187 Easydns,
188 #[serde(rename = "edgedns")]
189 Edgedns,
190 #[serde(rename = "euserv")]
191 Euserv,
192 #[serde(rename = "exoscale")]
193 Exoscale,
194 #[serde(rename = "fornex")]
195 Fornex,
196 #[serde(rename = "freedns")]
197 Freedns,
198 #[serde(rename = "gandi_livedns")]
199 GandiLivedns,
200 #[serde(rename = "gcloud")]
201 Gcloud,
202 #[serde(rename = "gcore")]
203 Gcore,
204 #[serde(rename = "gd")]
205 Gd,
206 #[serde(rename = "geoscaling")]
207 Geoscaling,
208 #[serde(rename = "googledomains")]
209 Googledomains,
210 #[serde(rename = "he")]
211 He,
212 #[serde(rename = "hetzner")]
213 Hetzner,
214 #[serde(rename = "hexonet")]
215 Hexonet,
216 #[serde(rename = "hostingde")]
217 Hostingde,
218 #[serde(rename = "huaweicloud")]
219 Huaweicloud,
220 #[serde(rename = "infoblox")]
221 Infoblox,
222 #[serde(rename = "infomaniak")]
223 Infomaniak,
224 #[serde(rename = "internetbs")]
225 Internetbs,
226 #[serde(rename = "inwx")]
227 Inwx,
228 #[serde(rename = "ionos")]
229 Ionos,
230 #[serde(rename = "ipv64")]
231 Ipv64,
232 #[serde(rename = "ispconfig")]
233 Ispconfig,
234 #[serde(rename = "jd")]
235 Jd,
236 #[serde(rename = "joker")]
237 Joker,
238 #[serde(rename = "kappernet")]
239 Kappernet,
240 #[serde(rename = "kas")]
241 Kas,
242 #[serde(rename = "kinghost")]
243 Kinghost,
244 #[serde(rename = "knot")]
245 Knot,
246 #[serde(rename = "la")]
247 La,
248 #[serde(rename = "leaseweb")]
249 Leaseweb,
250 #[serde(rename = "lexicon")]
251 Lexicon,
252 #[serde(rename = "linode")]
253 Linode,
254 #[serde(rename = "linode_v4")]
255 LinodeV4,
256 #[serde(rename = "loopia")]
257 Loopia,
258 #[serde(rename = "lua")]
259 Lua,
260 #[serde(rename = "maradns")]
261 Maradns,
262 #[serde(rename = "me")]
263 Me,
264 #[serde(rename = "miab")]
265 Miab,
266 #[serde(rename = "misaka")]
267 Misaka,
268 #[serde(rename = "myapi")]
269 Myapi,
270 #[serde(rename = "mydevil")]
271 Mydevil,
272 #[serde(rename = "mydnsjp")]
273 Mydnsjp,
274 #[serde(rename = "mythic_beasts")]
275 MythicBeasts,
276 #[serde(rename = "namecheap")]
277 Namecheap,
278 #[serde(rename = "namecom")]
279 Namecom,
280 #[serde(rename = "namesilo")]
281 Namesilo,
282 #[serde(rename = "nanelo")]
283 Nanelo,
284 #[serde(rename = "nederhost")]
285 Nederhost,
286 #[serde(rename = "neodigit")]
287 Neodigit,
288 #[serde(rename = "netcup")]
289 Netcup,
290 #[serde(rename = "netlify")]
291 Netlify,
292 #[serde(rename = "nic")]
293 Nic,
294 #[serde(rename = "njalla")]
295 Njalla,
296 #[serde(rename = "nm")]
297 Nm,
298 #[serde(rename = "nsd")]
299 Nsd,
300 #[serde(rename = "nsone")]
301 Nsone,
302 #[serde(rename = "nsupdate")]
303 Nsupdate,
304 #[serde(rename = "nw")]
305 Nw,
306 #[serde(rename = "oci")]
307 Oci,
308 #[serde(rename = "one")]
309 One,
310 #[serde(rename = "online")]
311 Online,
312 #[serde(rename = "openprovider")]
313 Openprovider,
314 #[serde(rename = "openstack")]
315 Openstack,
316 #[serde(rename = "opnsense")]
317 Opnsense,
318 #[serde(rename = "ovh")]
319 Ovh,
320 #[serde(rename = "pdns")]
321 Pdns,
322 #[serde(rename = "pleskxml")]
323 Pleskxml,
324 #[serde(rename = "pointhq")]
325 Pointhq,
326 #[serde(rename = "porkbun")]
327 Porkbun,
328 #[serde(rename = "rackcorp")]
329 Rackcorp,
330 #[serde(rename = "rackspace")]
331 Rackspace,
332 #[serde(rename = "rage4")]
333 Rage4,
334 #[serde(rename = "rcode0")]
335 Rcode0,
336 #[serde(rename = "regru")]
337 Regru,
338 #[serde(rename = "scaleway")]
339 Scaleway,
340 #[serde(rename = "schlundtech")]
341 Schlundtech,
342 #[serde(rename = "selectel")]
343 Selectel,
344 #[serde(rename = "selfhost")]
345 Selfhost,
346 #[serde(rename = "servercow")]
347 Servercow,
348 #[serde(rename = "simply")]
349 Simply,
350 #[serde(rename = "tele3")]
351 Tele3,
352 #[serde(rename = "tencent")]
353 Tencent,
354 #[serde(rename = "transip")]
355 Transip,
356 #[serde(rename = "udr")]
357 Udr,
358 #[serde(rename = "ultra")]
359 Ultra,
360 #[serde(rename = "unoeuro")]
361 Unoeuro,
362 #[serde(rename = "variomedia")]
363 Variomedia,
364 #[serde(rename = "veesp")]
365 Veesp,
366 #[serde(rename = "vercel")]
367 Vercel,
368 #[serde(rename = "vscale")]
369 Vscale,
370 #[serde(rename = "vultr")]
371 Vultr,
372 #[serde(rename = "websupport")]
373 Websupport,
374 #[serde(rename = "world4you")]
375 World4you,
376 #[serde(rename = "yandex")]
377 Yandex,
378 #[serde(rename = "yc")]
379 Yc,
380 #[serde(rename = "zilore")]
381 Zilore,
382 #[serde(rename = "zone")]
383 Zone,
384 #[serde(rename = "zonomi")]
385 Zonomi,
386}