| @@ 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 |
|
| @@ 3911-3983 (lines=73) @@ | ||
| 3908 | cmd.add_element("copy", role_id) |
|
| 3909 | return self._send_xml_command(cmd) |
|
| 3910 | ||
| 3911 | def create_scanner( |
|
| 3912 | self, |
|
| 3913 | name: str, |
|
| 3914 | host: str, |
|
| 3915 | port: int, |
|
| 3916 | scanner_type: ScannerType, |
|
| 3917 | credential_id: str, |
|
| 3918 | *, |
|
| 3919 | ca_pub: Optional[str] = None, |
|
| 3920 | comment: Optional[str] = None, |
|
| 3921 | ) -> Any: |
|
| 3922 | """Create a new scanner |
|
| 3923 | ||
| 3924 | Arguments: |
|
| 3925 | name: Name of the scanner |
|
| 3926 | host: The host of the scanner |
|
| 3927 | port: The port of the scanner |
|
| 3928 | scanner_type: Type of the scanner. |
|
| 3929 | credential_id: UUID of client certificate credential for the |
|
| 3930 | scanner |
|
| 3931 | ca_pub: Certificate of CA to verify scanner certificate |
|
| 3932 | comment: Comment for the scanner |
|
| 3933 | ||
| 3934 | Returns: |
|
| 3935 | The response. See :py:meth:`send_command` for details. |
|
| 3936 | """ |
|
| 3937 | if not name: |
|
| 3938 | raise RequiredArgument( |
|
| 3939 | function=self.create_scanner.__name__, argument='name' |
|
| 3940 | ) |
|
| 3941 | ||
| 3942 | if not host: |
|
| 3943 | raise RequiredArgument( |
|
| 3944 | function=self.create_scanner.__name__, argument='host' |
|
| 3945 | ) |
|
| 3946 | ||
| 3947 | if not port: |
|
| 3948 | raise RequiredArgument( |
|
| 3949 | function=self.create_scanner.__name__, argument='port' |
|
| 3950 | ) |
|
| 3951 | ||
| 3952 | if not scanner_type: |
|
| 3953 | raise RequiredArgument( |
|
| 3954 | function=self.create_scanner.__name__, argument='scanner_type' |
|
| 3955 | ) |
|
| 3956 | ||
| 3957 | if not credential_id: |
|
| 3958 | raise RequiredArgument( |
|
| 3959 | function=self.create_scanner.__name__, argument='credential_id' |
|
| 3960 | ) |
|
| 3961 | ||
| 3962 | if not isinstance(scanner_type, self.types.ScannerType): |
|
| 3963 | raise InvalidArgumentType( |
|
| 3964 | function=self.create_scanner.__name__, |
|
| 3965 | argument='scanner_type', |
|
| 3966 | arg_type=self.types.ScannerType.__name__, |
|
| 3967 | ) |
|
| 3968 | ||
| 3969 | cmd = XmlCommand("create_scanner") |
|
| 3970 | cmd.add_element("name", name) |
|
| 3971 | cmd.add_element("host", host) |
|
| 3972 | cmd.add_element("port", str(port)) |
|
| 3973 | cmd.add_element("type", scanner_type.value) |
|
| 3974 | ||
| 3975 | if ca_pub: |
|
| 3976 | cmd.add_element("ca_pub", ca_pub) |
|
| 3977 | ||
| 3978 | cmd.add_element("credential", attrs={"id": str(credential_id)}) |
|
| 3979 | ||
| 3980 | if comment: |
|
| 3981 | cmd.add_element("comment", comment) |
|
| 3982 | ||
| 3983 | return self._send_xml_command(cmd) |
|
| 3984 | ||
| 3985 | def clone_scanner(self, scanner_id: str) -> Any: |
|
| 3986 | """Clone an existing scanner |
|