@@ 3439-3529 (lines=91) @@ | ||
3436 | cmd.add_element("copy", note_id) |
|
3437 | return self._send_xml_command(cmd) |
|
3438 | ||
3439 | def create_override( |
|
3440 | self, |
|
3441 | text: str, |
|
3442 | nvt_oid: str, |
|
3443 | *, |
|
3444 | days_active: Optional[int] = None, |
|
3445 | hosts: Optional[List[str]] = None, |
|
3446 | port: Optional[int] = None, |
|
3447 | result_id: Optional[str] = None, |
|
3448 | severity: Optional[Severity] = None, |
|
3449 | new_severity: Optional[Severity] = None, |
|
3450 | task_id: Optional[str] = None, |
|
3451 | threat: Optional[SeverityLevel] = None, |
|
3452 | new_threat: Optional[SeverityLevel] = None, |
|
3453 | ) -> Any: |
|
3454 | """Create a new override |
|
3455 | ||
3456 | Arguments: |
|
3457 | text: Text of the new override |
|
3458 | nvt_id: OID of the nvt to which override applies |
|
3459 | days_active: Days override will be active. -1 on always, 0 off |
|
3460 | hosts: A list of host addresses |
|
3461 | port: Port to which the override applies |
|
3462 | result_id: UUID of a result to which override applies |
|
3463 | severity: Severity to which override applies |
|
3464 | new_severity: New severity for result |
|
3465 | task_id: UUID of task to which override applies |
|
3466 | threat: Severity level to which override applies. Will be converted |
|
3467 | to severity. |
|
3468 | new_threat: New severity level for results. Will be converted to |
|
3469 | new_severity. |
|
3470 | ||
3471 | Returns: |
|
3472 | The response. See :py:meth:`send_command` for details. |
|
3473 | """ |
|
3474 | if not text: |
|
3475 | raise RequiredArgument( |
|
3476 | function=self.create_override.__name__, argument='text' |
|
3477 | ) |
|
3478 | ||
3479 | if not nvt_oid: |
|
3480 | raise RequiredArgument( |
|
3481 | function=self.create_override.__name__, argument='nvt_oid' |
|
3482 | ) |
|
3483 | ||
3484 | cmd = XmlCommand("create_override") |
|
3485 | cmd.add_element("text", text) |
|
3486 | cmd.add_element("nvt", attrs={"oid": nvt_oid}) |
|
3487 | ||
3488 | if days_active is not None: |
|
3489 | cmd.add_element("active", str(days_active)) |
|
3490 | ||
3491 | if hosts: |
|
3492 | cmd.add_element("hosts", to_comma_list(hosts)) |
|
3493 | ||
3494 | if port: |
|
3495 | cmd.add_element("port", str(port)) |
|
3496 | ||
3497 | if result_id: |
|
3498 | cmd.add_element("result", attrs={"id": result_id}) |
|
3499 | ||
3500 | if severity: |
|
3501 | cmd.add_element("severity", str(severity)) |
|
3502 | ||
3503 | if new_severity: |
|
3504 | cmd.add_element("new_severity", str(new_severity)) |
|
3505 | ||
3506 | if task_id: |
|
3507 | cmd.add_element("task", attrs={"id": task_id}) |
|
3508 | ||
3509 | if threat is not None: |
|
3510 | if not isinstance(threat, SeverityLevel): |
|
3511 | raise InvalidArgumentType( |
|
3512 | function=self.create_override.__name__, |
|
3513 | argument="threat", |
|
3514 | arg_type=SeverityLevel.__name__, |
|
3515 | ) |
|
3516 | ||
3517 | cmd.add_element("threat", threat.value) |
|
3518 | ||
3519 | if new_threat is not None: |
|
3520 | if not isinstance(new_threat, SeverityLevel): |
|
3521 | raise InvalidArgumentType( |
|
3522 | function=self.create_override.__name__, |
|
3523 | argument="new_threat", |
|
3524 | arg_type=SeverityLevel.__name__, |
|
3525 | ) |
|
3526 | ||
3527 | cmd.add_element("new_threat", new_threat.value) |
|
3528 | ||
3529 | return self._send_xml_command(cmd) |
|
3530 | ||
3531 | def clone_override(self, override_id: str) -> Any: |
|
3532 | """Clone an existing override |
|
@@ 6320-6409 (lines=90) @@ | ||
6317 | ||
6318 | return self._send_xml_command(cmd) |
|
6319 | ||
6320 | def modify_override( |
|
6321 | self, |
|
6322 | override_id: str, |
|
6323 | text: str, |
|
6324 | *, |
|
6325 | days_active: Optional[int] = None, |
|
6326 | hosts: Optional[List[str]] = None, |
|
6327 | port: Optional[int] = None, |
|
6328 | result_id: Optional[str] = None, |
|
6329 | severity: Optional[Severity] = None, |
|
6330 | new_severity: Optional[Severity] = None, |
|
6331 | task_id: Optional[str] = None, |
|
6332 | threat: Optional[SeverityLevel] = None, |
|
6333 | new_threat: Optional[SeverityLevel] = None, |
|
6334 | ) -> Any: |
|
6335 | """Modifies an existing override. |
|
6336 | ||
6337 | Arguments: |
|
6338 | override_id: UUID of override to modify. |
|
6339 | text: The text of the override. |
|
6340 | days_active: Days override will be active. -1 on always, |
|
6341 | 0 off. |
|
6342 | hosts: A list of host addresses |
|
6343 | port: Port to which override applies. |
|
6344 | result_id: Result to which override applies. |
|
6345 | severity: Severity to which override applies. |
|
6346 | new_severity: New severity score for result. |
|
6347 | task_id: Task to which override applies. |
|
6348 | threat: Threat level to which override applies. |
|
6349 | Will be converted to severity. |
|
6350 | new_threat: New threat level for results. Will be converted to |
|
6351 | new_severity. |
|
6352 | ||
6353 | Returns: |
|
6354 | The response. See :py:meth:`send_command` for details. |
|
6355 | """ |
|
6356 | if not override_id: |
|
6357 | raise RequiredArgument( |
|
6358 | function=self.modify_override.__name__, argument='override_id' |
|
6359 | ) |
|
6360 | if not text: |
|
6361 | raise RequiredArgument( |
|
6362 | function=self.modify_override.__name__, argument='text' |
|
6363 | ) |
|
6364 | ||
6365 | cmd = XmlCommand("modify_override") |
|
6366 | cmd.set_attribute("override_id", override_id) |
|
6367 | cmd.add_element("text", text) |
|
6368 | ||
6369 | if days_active is not None: |
|
6370 | cmd.add_element("active", str(days_active)) |
|
6371 | ||
6372 | if hosts: |
|
6373 | cmd.add_element("hosts", to_comma_list(hosts)) |
|
6374 | ||
6375 | if port: |
|
6376 | cmd.add_element("port", str(port)) |
|
6377 | ||
6378 | if result_id: |
|
6379 | cmd.add_element("result", attrs={"id": result_id}) |
|
6380 | ||
6381 | if severity: |
|
6382 | cmd.add_element("severity", str(severity)) |
|
6383 | ||
6384 | if new_severity: |
|
6385 | cmd.add_element("new_severity", str(new_severity)) |
|
6386 | ||
6387 | if task_id: |
|
6388 | cmd.add_element("task", attrs={"id": task_id}) |
|
6389 | ||
6390 | if threat is not None: |
|
6391 | if not isinstance(threat, SeverityLevel): |
|
6392 | raise InvalidArgumentType( |
|
6393 | function=self.modify_override.__name__, |
|
6394 | argument='threat', |
|
6395 | arg_type=SeverityLevel.__name__, |
|
6396 | ) |
|
6397 | cmd.add_element("threat", threat.value) |
|
6398 | ||
6399 | if new_threat is not None: |
|
6400 | if not isinstance(new_threat, SeverityLevel): |
|
6401 | raise InvalidArgumentType( |
|
6402 | function=self.modify_override.__name__, |
|
6403 | argument='new_threat', |
|
6404 | arg_type=SeverityLevel.__name__, |
|
6405 | ) |
|
6406 | ||
6407 | cmd.add_element("new_threat", new_threat.value) |
|
6408 | ||
6409 | return self._send_xml_command(cmd) |
|
6410 | ||
6411 | def modify_port_list( |
|
6412 | self, |