@@ 448-489 (lines=42) @@ | ||
445 | preferences=preferences, |
|
446 | ) |
|
447 | ||
448 | def create_tls_certificate( |
|
449 | self, |
|
450 | name: str, |
|
451 | certificate: str, |
|
452 | *, |
|
453 | comment: Optional[str] = None, |
|
454 | trust: Optional[bool] = None |
|
455 | ) -> Any: |
|
456 | """Create a new TLS certificate |
|
457 | ||
458 | Arguments: |
|
459 | name: Name of the TLS certificate, defaulting to the MD5 |
|
460 | fingerprint. |
|
461 | certificate: The Base64 encoded certificate data (x.509 DER or PEM). |
|
462 | comment: Comment for the TLS certificate. |
|
463 | trust: Whether the certificate is trusted. |
|
464 | ||
465 | Returns: |
|
466 | The response. See :py:meth:`send_command` for details. |
|
467 | """ |
|
468 | if not name: |
|
469 | raise RequiredArgument( |
|
470 | function=self.create_tls_certificate.__name__, argument='name' |
|
471 | ) |
|
472 | if not certificate: |
|
473 | raise RequiredArgument( |
|
474 | function=self.create_tls_certificate.__name__, |
|
475 | argument='certificate', |
|
476 | ) |
|
477 | ||
478 | cmd = XmlCommand("create_tls_certificate") |
|
479 | ||
480 | if comment: |
|
481 | cmd.add_element("comment", comment) |
|
482 | ||
483 | cmd.add_element("name", name) |
|
484 | cmd.add_element("certificate", certificate) |
|
485 | ||
486 | if trust: |
|
487 | cmd.add_element("trust", _to_bool(trust)) |
|
488 | ||
489 | return self._send_xml_command(cmd) |
|
490 | ||
491 | def get_tls_certificates( |
|
492 | self, |
|
@@ 660-697 (lines=38) @@ | ||
657 | ||
658 | return self._send_xml_command(cmd) |
|
659 | ||
660 | def modify_tls_certificate( |
|
661 | self, |
|
662 | tls_certificate_id: str, |
|
663 | *, |
|
664 | name: Optional[str] = None, |
|
665 | comment: Optional[str] = None, |
|
666 | trust: Optional[bool] = None |
|
667 | ) -> Any: |
|
668 | """Modifies an existing TLS certificate. |
|
669 | ||
670 | Arguments: |
|
671 | tls_certificate_id: UUID of the TLS certificate to be modified. |
|
672 | name: Name of the TLS certificate, defaulting to the MD5 fingerprint |
|
673 | comment: Comment for the TLS certificate. |
|
674 | trust: Whether the certificate is trusted. |
|
675 | ||
676 | Returns: |
|
677 | The response. See :py:meth:`send_command` for details. |
|
678 | """ |
|
679 | if not tls_certificate_id: |
|
680 | raise RequiredArgument( |
|
681 | function=self.modify_tls_certificate.__name__, |
|
682 | argument='tls_certificate_id', |
|
683 | ) |
|
684 | ||
685 | cmd = XmlCommand("modify_tls_certificate") |
|
686 | cmd.set_attribute("tls_certificate_id", str(tls_certificate_id)) |
|
687 | ||
688 | if comment: |
|
689 | cmd.add_element("comment", comment) |
|
690 | ||
691 | if name: |
|
692 | cmd.add_element("name", name) |
|
693 | ||
694 | if trust: |
|
695 | cmd.add_element("trust", _to_bool(trust)) |
|
696 | ||
697 | return self._send_xml_command(cmd) |
|
698 | ||
699 | def clone_tls_certificate(self, tls_certificate_id: str) -> Any: |
|
700 | """Modifies an existing TLS certificate. |