@@ 3897-3953 (lines=57) @@ | ||
3894 | ||
3895 | return self._send_xml_command(cmd) |
|
3896 | ||
3897 | def modify_scanner(self, scanner_id, host, port, scanner_type, *, |
|
3898 | comment=None, name=None, ca_pub=None, |
|
3899 | credential_id=None): |
|
3900 | """Modifies an existing scanner. |
|
3901 | ||
3902 | Arguments: |
|
3903 | scanner_id (str): UUID of scanner to modify. |
|
3904 | host (str): Host of the scanner. |
|
3905 | port (str): Port of the scanner. |
|
3906 | scanner_type (str): Type of the scanner. |
|
3907 | '1' for OSP, '2' for OpenVAS (classic) Scanner. |
|
3908 | comment (str, optional): Comment on scanner. |
|
3909 | name (str, optional): Name of scanner. |
|
3910 | ca_pub (str, optional): Certificate of CA to verify scanner's |
|
3911 | certificate. |
|
3912 | credential_id (str, optional): UUID of the client certificate |
|
3913 | credential for the Scanner. |
|
3914 | ||
3915 | Returns: |
|
3916 | The response. See :py:meth:`send_command` for details. |
|
3917 | """ |
|
3918 | if not scanner_id: |
|
3919 | raise RequiredArgument( |
|
3920 | 'modify_scanner requires a scanner_id argument') |
|
3921 | if not host: |
|
3922 | raise RequiredArgument('modify_scanner requires a host argument') |
|
3923 | if not port: |
|
3924 | raise RequiredArgument('modify_scanner requires a port argument') |
|
3925 | if not scanner_type: |
|
3926 | raise RequiredArgument('modify_scanner requires a scanner_type ' |
|
3927 | 'argument') |
|
3928 | ||
3929 | cmd = XmlCommand('modify_scanner') |
|
3930 | cmd.set_attribute('scanner_id', scanner_id) |
|
3931 | cmd.add_element('host', host) |
|
3932 | cmd.add_element('port', port) |
|
3933 | ||
3934 | if scanner_type not in SCANNER_TYPES: |
|
3935 | raise InvalidArgument('modify_scanner requires a scanner_type ' |
|
3936 | 'argument which must be either "1" for OSP ' |
|
3937 | 'or "2" OpenVAS (Classic).') |
|
3938 | ||
3939 | cmd.add_element('type', scanner_type) |
|
3940 | ||
3941 | if comment: |
|
3942 | cmd.add_element('comment', comment) |
|
3943 | ||
3944 | if name: |
|
3945 | cmd.add_element('name', name) |
|
3946 | ||
3947 | if ca_pub: |
|
3948 | cmd.add_element('ca_pub', ca_pub) |
|
3949 | ||
3950 | if credential_id: |
|
3951 | cmd.add_element('credential', attrs={'id': str(credential_id)}) |
|
3952 | ||
3953 | return self._send_xml_command(cmd) |
|
3954 | ||
3955 | def modify_schedule(self, schedule_id, *, comment=None, name=None, |
|
3956 | first_time_minute=None, first_time_hour=None, |
|
@@ 1058-1111 (lines=54) @@ | ||
1055 | cmd.add_element('copy', role_id) |
|
1056 | return self._send_xml_command(cmd) |
|
1057 | ||
1058 | def create_scanner(self, name, host, port, scanner_type, ca_pub, |
|
1059 | credential_id, *, comment=None): |
|
1060 | """Create a new scanner |
|
1061 | ||
1062 | Arguments: |
|
1063 | name (str): Name of the scanner |
|
1064 | host (str): The host of the scanner |
|
1065 | port (str): The port of the scanner |
|
1066 | scanner_type (str): Type of the scanner. |
|
1067 | '1' for OSP, '2' for OpenVAS (classic) Scanner. |
|
1068 | ca_pub (str): Certificate of CA to verify scanner certificate |
|
1069 | credential_id (str): UUID of client certificate credential for the |
|
1070 | scanner |
|
1071 | comment (str, optional): Comment for the scanner |
|
1072 | ||
1073 | Returns: |
|
1074 | The response. See :py:meth:`send_command` for details. |
|
1075 | """ |
|
1076 | if not name: |
|
1077 | raise RequiredArgument('create_scanner requires a name argument') |
|
1078 | ||
1079 | if not host: |
|
1080 | raise RequiredArgument('create_scanner requires a host argument') |
|
1081 | ||
1082 | if not port: |
|
1083 | raise RequiredArgument('create_scanner requires a port argument') |
|
1084 | ||
1085 | if not scanner_type: |
|
1086 | raise RequiredArgument('create_scanner requires a scanner_type ' |
|
1087 | 'argument') |
|
1088 | if not ca_pub: |
|
1089 | raise RequiredArgument('create_scanner requires a ca_pub argument') |
|
1090 | ||
1091 | if not credential_id: |
|
1092 | raise RequiredArgument('create_scanner requires a credential_id ' |
|
1093 | 'argument') |
|
1094 | ||
1095 | if scanner_type not in SCANNER_TYPES: |
|
1096 | raise InvalidArgument('create_scanner requires a scanner_type ' |
|
1097 | 'argument which must be either "1" for OSP ' |
|
1098 | 'or "2" OpenVAS (Classic).') |
|
1099 | ||
1100 | cmd = XmlCommand('create_scanner') |
|
1101 | cmd.add_element('name', name) |
|
1102 | cmd.add_element('host', host) |
|
1103 | cmd.add_element('port', port) |
|
1104 | cmd.add_element('type', scanner_type) |
|
1105 | cmd.add_element('ca_pub', ca_pub) |
|
1106 | cmd.add_element('credential', attrs={'id': str(credential_id)}) |
|
1107 | ||
1108 | if comment: |
|
1109 | cmd.add_element('comment', comment) |
|
1110 | ||
1111 | return self._send_xml_command(cmd) |
|
1112 | ||
1113 | def clone_scanner(self, scanner_id): |
|
1114 | """Clone an existing scanner |