proxmox_api/generated/nodes/node/certificates/
custom.rs1pub struct CustomClient<T> {
2 client: T,
3 path: String,
4}
5impl<T> CustomClient<T>
6where
7 T: crate::client::Client,
8{
9 pub fn new(client: T, parent_path: &str) -> Self {
10 Self {
11 client,
12 path: format!("{}{}", parent_path, "/custom"),
13 }
14 }
15}
16impl<T> CustomClient<T>
17where
18 T: crate::client::Client,
19{
20 #[doc = "DELETE custom certificate chain and key."]
21 pub fn delete(&self, params: DeleteParams) -> Result<(), T::Error> {
22 let path = self.path.to_string();
23 self.client.delete(&path, ¶ms)
24 }
25}
26impl<T> CustomClient<T>
27where
28 T: crate::client::Client,
29{
30 #[doc = "Upload or update custom certificate chain and key."]
31 pub fn post(&self, params: PostParams) -> Result<PostOutput, T::Error> {
32 let path = self.path.to_string();
33 self.client.post(&path, ¶ms)
34 }
35}
36#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize, Default)]
37pub struct DeleteParams {
38 #[serde(
39 serialize_with = "crate::types::serialize_bool_optional",
40 deserialize_with = "crate::types::deserialize_bool_optional"
41 )]
42 #[serde(skip_serializing_if = "Option::is_none", default)]
43 #[doc = "Restart pveproxy."]
44 pub restart: Option<bool>,
45 #[serde(
46 flatten,
47 default,
48 skip_serializing_if = "::std::collections::HashMap::is_empty"
49 )]
50 pub additional_properties: ::std::collections::HashMap<String, ::serde_json::Value>,
51}
52#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize, Default)]
53pub struct PostOutput {
54 #[serde(skip_serializing_if = "Option::is_none", default)]
55 pub filename: Option<String>,
56 #[serde(skip_serializing_if = "Option::is_none", default)]
57 #[doc = "Certificate SHA 256 fingerprint."]
58 pub fingerprint: Option<String>,
59 #[serde(skip_serializing_if = "Option::is_none", default)]
60 #[doc = "Certificate issuer name."]
61 pub issuer: Option<String>,
62 #[serde(
63 serialize_with = "crate::types::serialize_int_optional",
64 deserialize_with = "crate::types::deserialize_int_optional"
65 )]
66 #[serde(skip_serializing_if = "Option::is_none", default)]
67 #[doc = "Certificate's notAfter timestamp (UNIX epoch)."]
68 pub notafter: Option<u64>,
69 #[serde(
70 serialize_with = "crate::types::serialize_int_optional",
71 deserialize_with = "crate::types::deserialize_int_optional"
72 )]
73 #[serde(skip_serializing_if = "Option::is_none", default)]
74 #[doc = "Certificate's notBefore timestamp (UNIX epoch)."]
75 pub notbefore: Option<u64>,
76 #[serde(skip_serializing_if = "Option::is_none", default)]
77 #[doc = "Certificate in PEM format"]
78 pub pem: Option<String>,
79 #[serde(rename = "public-key-bits")]
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 = "Certificate's public key size"]
86 pub public_key_bits: Option<u64>,
87 #[serde(rename = "public-key-type")]
88 #[serde(skip_serializing_if = "Option::is_none", default)]
89 #[doc = "Certificate's public key algorithm"]
90 pub public_key_type: Option<String>,
91 #[serde(skip_serializing_if = "::std::vec::Vec::is_empty", default)]
92 #[doc = "List of Certificate's SubjectAlternativeName entries."]
93 pub san: Vec<String>,
94 #[serde(skip_serializing_if = "Option::is_none", default)]
95 #[doc = "Certificate subject name."]
96 pub subject: Option<String>,
97 #[serde(
98 flatten,
99 default,
100 skip_serializing_if = "::std::collections::HashMap::is_empty"
101 )]
102 pub additional_properties: ::std::collections::HashMap<String, ::serde_json::Value>,
103}
104impl PostParams {
105 pub fn new(certificates: String) -> Self {
106 Self {
107 certificates,
108 force: Default::default(),
109 key: Default::default(),
110 restart: Default::default(),
111 additional_properties: Default::default(),
112 }
113 }
114}
115#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize)]
116pub struct PostParams {
117 #[doc = "PEM encoded certificate (chain)."]
118 pub certificates: String,
119 #[serde(
120 serialize_with = "crate::types::serialize_bool_optional",
121 deserialize_with = "crate::types::deserialize_bool_optional"
122 )]
123 #[serde(skip_serializing_if = "Option::is_none", default)]
124 #[doc = "Overwrite existing custom or ACME certificate files."]
125 pub force: Option<bool>,
126 #[serde(skip_serializing_if = "Option::is_none", default)]
127 #[doc = "PEM encoded private key."]
128 pub key: Option<String>,
129 #[serde(
130 serialize_with = "crate::types::serialize_bool_optional",
131 deserialize_with = "crate::types::deserialize_bool_optional"
132 )]
133 #[serde(skip_serializing_if = "Option::is_none", default)]
134 #[doc = "Restart pveproxy."]
135 pub restart: Option<bool>,
136 #[serde(
137 flatten,
138 default,
139 skip_serializing_if = "::std::collections::HashMap::is_empty"
140 )]
141 pub additional_properties: ::std::collections::HashMap<String, ::serde_json::Value>,
142}