@@ 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 |