proxmox_api/generated/cluster/acme/
plugins.rs

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