proxmox_api/generated/nodes/node/certificates/
custom.rs

1pub 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, &params)
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, &params)
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}