|
@@ 1082-1135 (lines=54) @@
|
| 1079 |
|
cmd.add_element('copy', role_id) |
| 1080 |
|
return self._send_xml_command(cmd) |
| 1081 |
|
|
| 1082 |
|
def create_scanner(self, name, host, port, scanner_type, ca_pub, |
| 1083 |
|
credential_id, *, comment=None): |
| 1084 |
|
"""Create a new scanner |
| 1085 |
|
|
| 1086 |
|
Arguments: |
| 1087 |
|
name (str): Name of the scanner |
| 1088 |
|
host (str): The host of the scanner |
| 1089 |
|
port (str): The port of the scanner |
| 1090 |
|
scanner_type (str): Type of the scanner. |
| 1091 |
|
'1' for OSP, '2' for OpenVAS (classic) Scanner. |
| 1092 |
|
ca_pub (str): Certificate of CA to verify scanner certificate |
| 1093 |
|
credential_id (str): UUID of client certificate credential for the |
| 1094 |
|
scanner |
| 1095 |
|
comment (str, optional): Comment for the scanner |
| 1096 |
|
|
| 1097 |
|
Returns: |
| 1098 |
|
The response. See :py:meth:`send_command` for details. |
| 1099 |
|
""" |
| 1100 |
|
if not name: |
| 1101 |
|
raise RequiredArgument('create_scanner requires a name argument') |
| 1102 |
|
|
| 1103 |
|
if not host: |
| 1104 |
|
raise RequiredArgument('create_scanner requires a host argument') |
| 1105 |
|
|
| 1106 |
|
if not port: |
| 1107 |
|
raise RequiredArgument('create_scanner requires a port argument') |
| 1108 |
|
|
| 1109 |
|
if not scanner_type: |
| 1110 |
|
raise RequiredArgument('create_scanner requires a scanner_type ' |
| 1111 |
|
'argument') |
| 1112 |
|
if not ca_pub: |
| 1113 |
|
raise RequiredArgument('create_scanner requires a ca_pub argument') |
| 1114 |
|
|
| 1115 |
|
if not credential_id: |
| 1116 |
|
raise RequiredArgument('create_scanner requires a credential_id ' |
| 1117 |
|
'argument') |
| 1118 |
|
|
| 1119 |
|
if scanner_type not in SCANNER_TYPES: |
| 1120 |
|
raise InvalidArgument('create_scanner requires a scanner_type ' |
| 1121 |
|
'argument which must be either "1" for OSP ' |
| 1122 |
|
'or "2" OpenVAS (Classic).') |
| 1123 |
|
|
| 1124 |
|
cmd = XmlCommand('create_scanner') |
| 1125 |
|
cmd.add_element('name', name) |
| 1126 |
|
cmd.add_element('host', host) |
| 1127 |
|
cmd.add_element('port', port) |
| 1128 |
|
cmd.add_element('type', scanner_type) |
| 1129 |
|
cmd.add_element('ca_pub', ca_pub) |
| 1130 |
|
cmd.add_element('credential', attrs={'id': str(credential_id)}) |
| 1131 |
|
|
| 1132 |
|
if comment: |
| 1133 |
|
cmd.add_element('comment', comment) |
| 1134 |
|
|
| 1135 |
|
return self._send_xml_command(cmd) |
| 1136 |
|
|
| 1137 |
|
def clone_scanner(self, scanner_id): |
| 1138 |
|
"""Clone an existing scanner |
|
@@ 3924-3980 (lines=57) @@
|
| 3921 |
|
|
| 3922 |
|
return self._send_xml_command(cmd) |
| 3923 |
|
|
| 3924 |
|
def modify_scanner(self, scanner_id, host, port, scanner_type, *, |
| 3925 |
|
comment=None, name=None, ca_pub=None, |
| 3926 |
|
credential_id=None): |
| 3927 |
|
"""Modifies an existing scanner. |
| 3928 |
|
|
| 3929 |
|
Arguments: |
| 3930 |
|
scanner_id (str): UUID of scanner to modify. |
| 3931 |
|
host (str): Host of the scanner. |
| 3932 |
|
port (str): Port of the scanner. |
| 3933 |
|
scanner_type (str): Type of the scanner. |
| 3934 |
|
'1' for OSP, '2' for OpenVAS (classic) Scanner. |
| 3935 |
|
comment (str, optional): Comment on scanner. |
| 3936 |
|
name (str, optional): Name of scanner. |
| 3937 |
|
ca_pub (str, optional): Certificate of CA to verify scanner's |
| 3938 |
|
certificate. |
| 3939 |
|
credential_id (str, optional): UUID of the client certificate |
| 3940 |
|
credential for the Scanner. |
| 3941 |
|
|
| 3942 |
|
Returns: |
| 3943 |
|
The response. See :py:meth:`send_command` for details. |
| 3944 |
|
""" |
| 3945 |
|
if not scanner_id: |
| 3946 |
|
raise RequiredArgument( |
| 3947 |
|
'modify_scanner requires a scanner_id argument') |
| 3948 |
|
if not host: |
| 3949 |
|
raise RequiredArgument('modify_scanner requires a host argument') |
| 3950 |
|
if not port: |
| 3951 |
|
raise RequiredArgument('modify_scanner requires a port argument') |
| 3952 |
|
if not scanner_type: |
| 3953 |
|
raise RequiredArgument('modify_scanner requires a scanner_type ' |
| 3954 |
|
'argument') |
| 3955 |
|
|
| 3956 |
|
cmd = XmlCommand('modify_scanner') |
| 3957 |
|
cmd.set_attribute('scanner_id', scanner_id) |
| 3958 |
|
cmd.add_element('host', host) |
| 3959 |
|
cmd.add_element('port', port) |
| 3960 |
|
|
| 3961 |
|
if scanner_type not in SCANNER_TYPES: |
| 3962 |
|
raise InvalidArgument('modify_scanner requires a scanner_type ' |
| 3963 |
|
'argument which must be either "1" for OSP ' |
| 3964 |
|
'or "2" OpenVAS (Classic).') |
| 3965 |
|
|
| 3966 |
|
cmd.add_element('type', scanner_type) |
| 3967 |
|
|
| 3968 |
|
if comment: |
| 3969 |
|
cmd.add_element('comment', comment) |
| 3970 |
|
|
| 3971 |
|
if name: |
| 3972 |
|
cmd.add_element('name', name) |
| 3973 |
|
|
| 3974 |
|
if ca_pub: |
| 3975 |
|
cmd.add_element('ca_pub', ca_pub) |
| 3976 |
|
|
| 3977 |
|
if credential_id: |
| 3978 |
|
cmd.add_element('credential', attrs={'id': str(credential_id)}) |
| 3979 |
|
|
| 3980 |
|
return self._send_xml_command(cmd) |
| 3981 |
|
|
| 3982 |
|
def modify_schedule(self, schedule_id, *, comment=None, name=None, |
| 3983 |
|
first_time_minute=None, first_time_hour=None, |