@@ 50-91 (lines=42) @@ | ||
47 | ||
48 | return self._send_xml_command(cmd) |
|
49 | ||
50 | def create_tls_certificate( |
|
51 | self, |
|
52 | name: str, |
|
53 | certificate: str, |
|
54 | *, |
|
55 | comment: Optional[str] = None, |
|
56 | trust: Optional[bool] = None, |
|
57 | ) -> Any: |
|
58 | """Create a new TLS certificate |
|
59 | ||
60 | Arguments: |
|
61 | name: Name of the TLS certificate, defaulting to the MD5 |
|
62 | fingerprint. |
|
63 | certificate: The Base64 encoded certificate data (x.509 DER or PEM). |
|
64 | comment: Comment for the TLS certificate. |
|
65 | trust: Whether the certificate is trusted. |
|
66 | ||
67 | Returns: |
|
68 | The response. See :py:meth:`send_command` for details. |
|
69 | """ |
|
70 | if not name: |
|
71 | raise RequiredArgument( |
|
72 | function=self.create_tls_certificate.__name__, argument='name' |
|
73 | ) |
|
74 | if not certificate: |
|
75 | raise RequiredArgument( |
|
76 | function=self.create_tls_certificate.__name__, |
|
77 | argument='certificate', |
|
78 | ) |
|
79 | ||
80 | cmd = XmlCommand("create_tls_certificate") |
|
81 | ||
82 | if comment: |
|
83 | cmd.add_element("comment", comment) |
|
84 | ||
85 | cmd.add_element("name", name) |
|
86 | cmd.add_element("certificate", certificate) |
|
87 | ||
88 | if trust: |
|
89 | cmd.add_element("trust", to_bool(trust)) |
|
90 | ||
91 | return self._send_xml_command(cmd) |
|
92 | ||
93 | def delete_tls_certificate(self, tls_certificate_id: str) -> Any: |
|
94 | """Deletes an existing tls certificate |
|
@@ 173-210 (lines=38) @@ | ||
170 | ||
171 | return self._send_xml_command(cmd) |
|
172 | ||
173 | def modify_tls_certificate( |
|
174 | self, |
|
175 | tls_certificate_id: str, |
|
176 | *, |
|
177 | name: Optional[str] = None, |
|
178 | comment: Optional[str] = None, |
|
179 | trust: Optional[bool] = None, |
|
180 | ) -> Any: |
|
181 | """Modifies an existing TLS certificate. |
|
182 | ||
183 | Arguments: |
|
184 | tls_certificate_id: UUID of the TLS certificate to be modified. |
|
185 | name: Name of the TLS certificate, defaulting to the MD5 fingerprint |
|
186 | comment: Comment for the TLS certificate. |
|
187 | trust: Whether the certificate is trusted. |
|
188 | ||
189 | Returns: |
|
190 | The response. See :py:meth:`send_command` for details. |
|
191 | """ |
|
192 | if not tls_certificate_id: |
|
193 | raise RequiredArgument( |
|
194 | function=self.modify_tls_certificate.__name__, |
|
195 | argument='tls_certificate_id', |
|
196 | ) |
|
197 | ||
198 | cmd = XmlCommand("modify_tls_certificate") |
|
199 | cmd.set_attribute("tls_certificate_id", str(tls_certificate_id)) |
|
200 | ||
201 | if comment: |
|
202 | cmd.add_element("comment", comment) |
|
203 | ||
204 | if name: |
|
205 | cmd.add_element("name", name) |
|
206 | ||
207 | if trust: |
|
208 | cmd.add_element("trust", to_bool(trust)) |
|
209 | ||
210 | return self._send_xml_command(cmd) |
|
211 |