| @@ 3879-3951 (lines=73) @@ | ||
| 3876 | cmd.add_element("copy", role_id) |
|
| 3877 | return self._send_xml_command(cmd) |
|
| 3878 | ||
| 3879 | def create_scanner( |
|
| 3880 | self, |
|
| 3881 | name: str, |
|
| 3882 | host: str, |
|
| 3883 | port: int, |
|
| 3884 | scanner_type: ScannerType, |
|
| 3885 | credential_id: str, |
|
| 3886 | *, |
|
| 3887 | ca_pub: Optional[str] = None, |
|
| 3888 | comment: Optional[str] = None, |
|
| 3889 | ) -> Any: |
|
| 3890 | """Create a new scanner |
|
| 3891 | ||
| 3892 | Arguments: |
|
| 3893 | name: Name of the scanner |
|
| 3894 | host: The host of the scanner |
|
| 3895 | port: The port of the scanner |
|
| 3896 | scanner_type: Type of the scanner. |
|
| 3897 | credential_id: UUID of client certificate credential for the |
|
| 3898 | scanner |
|
| 3899 | ca_pub: Certificate of CA to verify scanner certificate |
|
| 3900 | comment: Comment for the scanner |
|
| 3901 | ||
| 3902 | Returns: |
|
| 3903 | The response. See :py:meth:`send_command` for details. |
|
| 3904 | """ |
|
| 3905 | if not name: |
|
| 3906 | raise RequiredArgument( |
|
| 3907 | function=self.create_scanner.__name__, argument='name' |
|
| 3908 | ) |
|
| 3909 | ||
| 3910 | if not host: |
|
| 3911 | raise RequiredArgument( |
|
| 3912 | function=self.create_scanner.__name__, argument='host' |
|
| 3913 | ) |
|
| 3914 | ||
| 3915 | if not port: |
|
| 3916 | raise RequiredArgument( |
|
| 3917 | function=self.create_scanner.__name__, argument='port' |
|
| 3918 | ) |
|
| 3919 | ||
| 3920 | if not scanner_type: |
|
| 3921 | raise RequiredArgument( |
|
| 3922 | function=self.create_scanner.__name__, argument='scanner_type' |
|
| 3923 | ) |
|
| 3924 | ||
| 3925 | if not credential_id: |
|
| 3926 | raise RequiredArgument( |
|
| 3927 | function=self.create_scanner.__name__, argument='credential_id' |
|
| 3928 | ) |
|
| 3929 | ||
| 3930 | if not isinstance(scanner_type, self.types.ScannerType): |
|
| 3931 | raise InvalidArgumentType( |
|
| 3932 | function=self.create_scanner.__name__, |
|
| 3933 | argument='scanner_type', |
|
| 3934 | arg_type=self.types.ScannerType.__name__, |
|
| 3935 | ) |
|
| 3936 | ||
| 3937 | cmd = XmlCommand("create_scanner") |
|
| 3938 | cmd.add_element("name", name) |
|
| 3939 | cmd.add_element("host", host) |
|
| 3940 | cmd.add_element("port", str(port)) |
|
| 3941 | cmd.add_element("type", scanner_type.value) |
|
| 3942 | ||
| 3943 | if ca_pub: |
|
| 3944 | cmd.add_element("ca_pub", ca_pub) |
|
| 3945 | ||
| 3946 | cmd.add_element("credential", attrs={"id": str(credential_id)}) |
|
| 3947 | ||
| 3948 | if comment: |
|
| 3949 | cmd.add_element("comment", comment) |
|
| 3950 | ||
| 3951 | return self._send_xml_command(cmd) |
|
| 3952 | ||
| 3953 | def clone_scanner(self, scanner_id: str) -> Any: |
|
| 3954 | """Clone an existing scanner |
|
| @@ 1464-1536 (lines=73) @@ | ||
| 1461 | cmd.add_element("copy", role_id) |
|
| 1462 | return self._send_xml_command(cmd) |
|
| 1463 | ||
| 1464 | def create_scanner( |
|
| 1465 | self, |
|
| 1466 | name: str, |
|
| 1467 | host: str, |
|
| 1468 | port: int, |
|
| 1469 | scanner_type: ScannerType, |
|
| 1470 | credential_id: str, |
|
| 1471 | *, |
|
| 1472 | ca_pub: Optional[str] = None, |
|
| 1473 | comment: Optional[str] = None, |
|
| 1474 | ) -> Any: |
|
| 1475 | """Create a new scanner |
|
| 1476 | ||
| 1477 | Arguments: |
|
| 1478 | name: Name of the scanner |
|
| 1479 | host: The host of the scanner |
|
| 1480 | port: The port of the scanner |
|
| 1481 | scanner_type: Type of the scanner. |
|
| 1482 | credential_id: UUID of client certificate credential for the |
|
| 1483 | scanner |
|
| 1484 | ca_pub: Certificate of CA to verify scanner certificate |
|
| 1485 | comment: Comment for the scanner |
|
| 1486 | ||
| 1487 | Returns: |
|
| 1488 | The response. See :py:meth:`send_command` for details. |
|
| 1489 | """ |
|
| 1490 | if not name: |
|
| 1491 | raise RequiredArgument( |
|
| 1492 | function=self.create_scanner.__name__, argument='name' |
|
| 1493 | ) |
|
| 1494 | ||
| 1495 | if not host: |
|
| 1496 | raise RequiredArgument( |
|
| 1497 | function=self.create_scanner.__name__, argument='host' |
|
| 1498 | ) |
|
| 1499 | ||
| 1500 | if not port: |
|
| 1501 | raise RequiredArgument( |
|
| 1502 | function=self.create_scanner.__name__, argument='port' |
|
| 1503 | ) |
|
| 1504 | ||
| 1505 | if not scanner_type: |
|
| 1506 | raise RequiredArgument( |
|
| 1507 | function=self.create_scanner.__name__, argument='scanner_type' |
|
| 1508 | ) |
|
| 1509 | ||
| 1510 | if not credential_id: |
|
| 1511 | raise RequiredArgument( |
|
| 1512 | function=self.create_scanner.__name__, argument='credential_id' |
|
| 1513 | ) |
|
| 1514 | ||
| 1515 | if not isinstance(scanner_type, self.types.ScannerType): |
|
| 1516 | raise InvalidArgumentType( |
|
| 1517 | function=self.create_scanner.__name__, |
|
| 1518 | argument='scanner_type', |
|
| 1519 | arg_type=self.types.ScannerType.__name__, |
|
| 1520 | ) |
|
| 1521 | ||
| 1522 | cmd = XmlCommand("create_scanner") |
|
| 1523 | cmd.add_element("name", name) |
|
| 1524 | cmd.add_element("host", host) |
|
| 1525 | cmd.add_element("port", str(port)) |
|
| 1526 | cmd.add_element("type", scanner_type.value) |
|
| 1527 | ||
| 1528 | if ca_pub: |
|
| 1529 | cmd.add_element("ca_pub", ca_pub) |
|
| 1530 | ||
| 1531 | cmd.add_element("credential", attrs={"id": str(credential_id)}) |
|
| 1532 | ||
| 1533 | if comment: |
|
| 1534 | cmd.add_element("comment", comment) |
|
| 1535 | ||
| 1536 | return self._send_xml_command(cmd) |
|
| 1537 | ||
| 1538 | def clone_scanner(self, scanner_id: str) -> Any: |
|
| 1539 | """Clone an existing scanner |
|