@@ 139-227 (lines=89) @@ | ||
136 | ||
137 | return self._send_xml_command(cmd) |
|
138 | ||
139 | def create_override( |
|
140 | self, |
|
141 | text: str, |
|
142 | nvt_oid: str, |
|
143 | *, |
|
144 | days_active: Optional[int] = None, |
|
145 | hosts: Optional[List[str]] = None, |
|
146 | port: Optional[int] = None, |
|
147 | result_id: Optional[str] = None, |
|
148 | severity: Optional[Severity] = None, |
|
149 | new_severity: Optional[Severity] = None, |
|
150 | task_id: Optional[str] = None, |
|
151 | threat: Optional[SeverityLevel] = None, |
|
152 | new_threat: Optional[SeverityLevel] = None, |
|
153 | ) -> Any: |
|
154 | """Create a new override |
|
155 | ||
156 | Arguments: |
|
157 | text: Text of the new override |
|
158 | nvt_id: OID of the nvt to which override applies |
|
159 | days_active: Days override will be active. -1 on always, 0 off |
|
160 | hosts: A list of host addresses |
|
161 | port: Port to which the override applies |
|
162 | result_id: UUID of a result to which override applies |
|
163 | severity: Severity to which override applies |
|
164 | new_severity: New severity for result |
|
165 | task_id: UUID of task to which override applies |
|
166 | threat: Severity level to which override applies. Will be converted |
|
167 | to severity. |
|
168 | new_threat: New severity level for results. Will be converted to |
|
169 | new_severity. |
|
170 | ||
171 | Returns: |
|
172 | The response. See :py:meth:`send_command` for details. |
|
173 | """ |
|
174 | if not text: |
|
175 | raise RequiredArgument( |
|
176 | function=self.create_override.__name__, argument='text' |
|
177 | ) |
|
178 | ||
179 | if not nvt_oid: |
|
180 | raise RequiredArgument( |
|
181 | function=self.create_override.__name__, argument='nvt_oid' |
|
182 | ) |
|
183 | ||
184 | cmd = XmlCommand("create_override") |
|
185 | cmd.add_element("text", text) |
|
186 | cmd.add_element("nvt", attrs={"oid": nvt_oid}) |
|
187 | ||
188 | if days_active is not None: |
|
189 | cmd.add_element("active", str(days_active)) |
|
190 | ||
191 | if hosts: |
|
192 | cmd.add_element("hosts", _to_comma_list(hosts)) |
|
193 | ||
194 | if port: |
|
195 | cmd.add_element("port", str(port)) |
|
196 | ||
197 | if result_id: |
|
198 | cmd.add_element("result", attrs={"id": result_id}) |
|
199 | ||
200 | if severity: |
|
201 | cmd.add_element("severity", str(severity)) |
|
202 | ||
203 | if new_severity: |
|
204 | cmd.add_element("new_severity", str(new_severity)) |
|
205 | ||
206 | if task_id: |
|
207 | cmd.add_element("task", attrs={"id": task_id}) |
|
208 | ||
209 | if threat is not None: |
|
210 | deprecation( |
|
211 | "The threat parameter has been removed in GMP" |
|
212 | " version {}{}".format( |
|
213 | self.get_protocol_version()[0], |
|
214 | self.get_protocol_version()[1], |
|
215 | ) |
|
216 | ) |
|
217 | ||
218 | if new_threat is not None: |
|
219 | deprecation( |
|
220 | "The new_threat parameter has been removed in GMP" |
|
221 | " version {}{}".format( |
|
222 | self.get_protocol_version()[0], |
|
223 | self.get_protocol_version()[1], |
|
224 | ) |
|
225 | ) |
|
226 | ||
227 | return self._send_xml_command(cmd) |
|
228 | ||
229 | def create_target( |
|
230 | self, |
|
@@ 428-516 (lines=89) @@ | ||
425 | ||
426 | return self._send_xml_command(cmd) |
|
427 | ||
428 | def modify_override( |
|
429 | self, |
|
430 | override_id: str, |
|
431 | text: str, |
|
432 | *, |
|
433 | days_active: Optional[int] = None, |
|
434 | hosts: Optional[List[str]] = None, |
|
435 | port: Optional[int] = None, |
|
436 | result_id: Optional[str] = None, |
|
437 | severity: Optional[Severity] = None, |
|
438 | new_severity: Optional[Severity] = None, |
|
439 | task_id: Optional[str] = None, |
|
440 | threat: Optional[SeverityLevel] = None, |
|
441 | new_threat: Optional[SeverityLevel] = None, |
|
442 | ) -> Any: |
|
443 | """Modifies an existing override. |
|
444 | ||
445 | Arguments: |
|
446 | override_id: UUID of override to modify. |
|
447 | text: The text of the override. |
|
448 | days_active: Days override will be active. -1 on always, |
|
449 | 0 off. |
|
450 | hosts: A list of host addresses |
|
451 | port: Port to which override applies. |
|
452 | result_id: Result to which override applies. |
|
453 | severity: Severity to which override applies. |
|
454 | new_severity: New severity score for result. |
|
455 | task_id: Task to which override applies. |
|
456 | threat: Threat level to which override applies. |
|
457 | Will be converted to severity. |
|
458 | new_threat: New threat level for results. Will be converted to |
|
459 | new_severity. |
|
460 | ||
461 | Returns: |
|
462 | The response. See :py:meth:`send_command` for details. |
|
463 | """ |
|
464 | if not override_id: |
|
465 | raise RequiredArgument( |
|
466 | function=self.modify_override.__name__, argument='override_id' |
|
467 | ) |
|
468 | if not text: |
|
469 | raise RequiredArgument( |
|
470 | function=self.modify_override.__name__, argument='text' |
|
471 | ) |
|
472 | ||
473 | cmd = XmlCommand("modify_override") |
|
474 | cmd.set_attribute("override_id", override_id) |
|
475 | cmd.add_element("text", text) |
|
476 | ||
477 | if days_active is not None: |
|
478 | cmd.add_element("active", str(days_active)) |
|
479 | ||
480 | if hosts: |
|
481 | cmd.add_element("hosts", _to_comma_list(hosts)) |
|
482 | ||
483 | if port: |
|
484 | cmd.add_element("port", str(port)) |
|
485 | ||
486 | if result_id: |
|
487 | cmd.add_element("result", attrs={"id": result_id}) |
|
488 | ||
489 | if severity: |
|
490 | cmd.add_element("severity", str(severity)) |
|
491 | ||
492 | if new_severity: |
|
493 | cmd.add_element("new_severity", str(new_severity)) |
|
494 | ||
495 | if task_id: |
|
496 | cmd.add_element("task", attrs={"id": task_id}) |
|
497 | ||
498 | if threat is not None: |
|
499 | deprecation( |
|
500 | "The threat parameter has been removed in GMP" |
|
501 | " version {}{}".format( |
|
502 | self.get_protocol_version()[0], |
|
503 | self.get_protocol_version()[1], |
|
504 | ) |
|
505 | ) |
|
506 | ||
507 | if new_threat is not None: |
|
508 | deprecation( |
|
509 | "The new_threat parameter has been removed in GMP" |
|
510 | " version {}{}".format( |
|
511 | self.get_protocol_version()[0], |
|
512 | self.get_protocol_version()[1], |
|
513 | ) |
|
514 | ) |
|
515 | ||
516 | return self._send_xml_command(cmd) |
|
517 | ||
518 | def modify_target( |
|
519 | self, |