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