|
@@ 3484-3574 (lines=91) @@
|
| 3481 |
|
cmd.add_element("copy", note_id) |
| 3482 |
|
return self._send_xml_command(cmd) |
| 3483 |
|
|
| 3484 |
|
def create_override( |
| 3485 |
|
self, |
| 3486 |
|
text: str, |
| 3487 |
|
nvt_oid: str, |
| 3488 |
|
*, |
| 3489 |
|
days_active: Optional[int] = None, |
| 3490 |
|
hosts: Optional[List[str]] = None, |
| 3491 |
|
port: Optional[int] = None, |
| 3492 |
|
result_id: Optional[str] = None, |
| 3493 |
|
severity: Optional[Severity] = None, |
| 3494 |
|
new_severity: Optional[Severity] = None, |
| 3495 |
|
task_id: Optional[str] = None, |
| 3496 |
|
threat: Optional[SeverityLevel] = None, |
| 3497 |
|
new_threat: Optional[SeverityLevel] = None, |
| 3498 |
|
) -> Any: |
| 3499 |
|
"""Create a new override |
| 3500 |
|
|
| 3501 |
|
Arguments: |
| 3502 |
|
text: Text of the new override |
| 3503 |
|
nvt_id: OID of the nvt to which override applies |
| 3504 |
|
days_active: Days override will be active. -1 on always, 0 off |
| 3505 |
|
hosts: A list of host addresses |
| 3506 |
|
port: Port to which the override applies |
| 3507 |
|
result_id: UUID of a result to which override applies |
| 3508 |
|
severity: Severity to which override applies |
| 3509 |
|
new_severity: New severity for result |
| 3510 |
|
task_id: UUID of task to which override applies |
| 3511 |
|
threat: Severity level to which override applies. Will be converted |
| 3512 |
|
to severity. |
| 3513 |
|
new_threat: New severity level for results. Will be converted to |
| 3514 |
|
new_severity. |
| 3515 |
|
|
| 3516 |
|
Returns: |
| 3517 |
|
The response. See :py:meth:`send_command` for details. |
| 3518 |
|
""" |
| 3519 |
|
if not text: |
| 3520 |
|
raise RequiredArgument( |
| 3521 |
|
function=self.create_override.__name__, argument='text' |
| 3522 |
|
) |
| 3523 |
|
|
| 3524 |
|
if not nvt_oid: |
| 3525 |
|
raise RequiredArgument( |
| 3526 |
|
function=self.create_override.__name__, argument='nvt_oid' |
| 3527 |
|
) |
| 3528 |
|
|
| 3529 |
|
cmd = XmlCommand("create_override") |
| 3530 |
|
cmd.add_element("text", text) |
| 3531 |
|
cmd.add_element("nvt", attrs={"oid": nvt_oid}) |
| 3532 |
|
|
| 3533 |
|
if days_active is not None: |
| 3534 |
|
cmd.add_element("active", str(days_active)) |
| 3535 |
|
|
| 3536 |
|
if hosts: |
| 3537 |
|
cmd.add_element("hosts", _to_comma_list(hosts)) |
| 3538 |
|
|
| 3539 |
|
if port: |
| 3540 |
|
cmd.add_element("port", str(port)) |
| 3541 |
|
|
| 3542 |
|
if result_id: |
| 3543 |
|
cmd.add_element("result", attrs={"id": result_id}) |
| 3544 |
|
|
| 3545 |
|
if severity: |
| 3546 |
|
cmd.add_element("severity", str(severity)) |
| 3547 |
|
|
| 3548 |
|
if new_severity: |
| 3549 |
|
cmd.add_element("new_severity", str(new_severity)) |
| 3550 |
|
|
| 3551 |
|
if task_id: |
| 3552 |
|
cmd.add_element("task", attrs={"id": task_id}) |
| 3553 |
|
|
| 3554 |
|
if threat is not None: |
| 3555 |
|
if not isinstance(threat, SeverityLevel): |
| 3556 |
|
raise InvalidArgumentType( |
| 3557 |
|
function=self.create_override.__name__, |
| 3558 |
|
argument="threat", |
| 3559 |
|
arg_type=SeverityLevel.__name__, |
| 3560 |
|
) |
| 3561 |
|
|
| 3562 |
|
cmd.add_element("threat", threat.value) |
| 3563 |
|
|
| 3564 |
|
if new_threat is not None: |
| 3565 |
|
if not isinstance(new_threat, SeverityLevel): |
| 3566 |
|
raise InvalidArgumentType( |
| 3567 |
|
function=self.create_override.__name__, |
| 3568 |
|
argument="new_threat", |
| 3569 |
|
arg_type=SeverityLevel.__name__, |
| 3570 |
|
) |
| 3571 |
|
|
| 3572 |
|
cmd.add_element("new_threat", new_threat.value) |
| 3573 |
|
|
| 3574 |
|
return self._send_xml_command(cmd) |
| 3575 |
|
|
| 3576 |
|
def clone_override(self, override_id: str) -> Any: |
| 3577 |
|
"""Clone an existing override |
|
@@ 6365-6454 (lines=90) @@
|
| 6362 |
|
|
| 6363 |
|
return self._send_xml_command(cmd) |
| 6364 |
|
|
| 6365 |
|
def modify_override( |
| 6366 |
|
self, |
| 6367 |
|
override_id: str, |
| 6368 |
|
text: str, |
| 6369 |
|
*, |
| 6370 |
|
days_active: Optional[int] = None, |
| 6371 |
|
hosts: Optional[List[str]] = None, |
| 6372 |
|
port: Optional[int] = None, |
| 6373 |
|
result_id: Optional[str] = None, |
| 6374 |
|
severity: Optional[Severity] = None, |
| 6375 |
|
new_severity: Optional[Severity] = None, |
| 6376 |
|
task_id: Optional[str] = None, |
| 6377 |
|
threat: Optional[SeverityLevel] = None, |
| 6378 |
|
new_threat: Optional[SeverityLevel] = None, |
| 6379 |
|
) -> Any: |
| 6380 |
|
"""Modifies an existing override. |
| 6381 |
|
|
| 6382 |
|
Arguments: |
| 6383 |
|
override_id: UUID of override to modify. |
| 6384 |
|
text: The text of the override. |
| 6385 |
|
days_active: Days override will be active. -1 on always, |
| 6386 |
|
0 off. |
| 6387 |
|
hosts: A list of host addresses |
| 6388 |
|
port: Port to which override applies. |
| 6389 |
|
result_id: Result to which override applies. |
| 6390 |
|
severity: Severity to which override applies. |
| 6391 |
|
new_severity: New severity score for result. |
| 6392 |
|
task_id: Task to which override applies. |
| 6393 |
|
threat: Threat level to which override applies. |
| 6394 |
|
Will be converted to severity. |
| 6395 |
|
new_threat: New threat level for results. Will be converted to |
| 6396 |
|
new_severity. |
| 6397 |
|
|
| 6398 |
|
Returns: |
| 6399 |
|
The response. See :py:meth:`send_command` for details. |
| 6400 |
|
""" |
| 6401 |
|
if not override_id: |
| 6402 |
|
raise RequiredArgument( |
| 6403 |
|
function=self.modify_override.__name__, argument='override_id' |
| 6404 |
|
) |
| 6405 |
|
if not text: |
| 6406 |
|
raise RequiredArgument( |
| 6407 |
|
function=self.modify_override.__name__, argument='text' |
| 6408 |
|
) |
| 6409 |
|
|
| 6410 |
|
cmd = XmlCommand("modify_override") |
| 6411 |
|
cmd.set_attribute("override_id", override_id) |
| 6412 |
|
cmd.add_element("text", text) |
| 6413 |
|
|
| 6414 |
|
if days_active is not None: |
| 6415 |
|
cmd.add_element("active", str(days_active)) |
| 6416 |
|
|
| 6417 |
|
if hosts: |
| 6418 |
|
cmd.add_element("hosts", _to_comma_list(hosts)) |
| 6419 |
|
|
| 6420 |
|
if port: |
| 6421 |
|
cmd.add_element("port", str(port)) |
| 6422 |
|
|
| 6423 |
|
if result_id: |
| 6424 |
|
cmd.add_element("result", attrs={"id": result_id}) |
| 6425 |
|
|
| 6426 |
|
if severity: |
| 6427 |
|
cmd.add_element("severity", str(severity)) |
| 6428 |
|
|
| 6429 |
|
if new_severity: |
| 6430 |
|
cmd.add_element("new_severity", str(new_severity)) |
| 6431 |
|
|
| 6432 |
|
if task_id: |
| 6433 |
|
cmd.add_element("task", attrs={"id": task_id}) |
| 6434 |
|
|
| 6435 |
|
if threat is not None: |
| 6436 |
|
if not isinstance(threat, SeverityLevel): |
| 6437 |
|
raise InvalidArgumentType( |
| 6438 |
|
function=self.modify_override.__name__, |
| 6439 |
|
argument='threat', |
| 6440 |
|
arg_type=SeverityLevel.__name__, |
| 6441 |
|
) |
| 6442 |
|
cmd.add_element("threat", threat.value) |
| 6443 |
|
|
| 6444 |
|
if new_threat is not None: |
| 6445 |
|
if not isinstance(new_threat, SeverityLevel): |
| 6446 |
|
raise InvalidArgumentType( |
| 6447 |
|
function=self.modify_override.__name__, |
| 6448 |
|
argument='new_threat', |
| 6449 |
|
arg_type=SeverityLevel.__name__, |
| 6450 |
|
) |
| 6451 |
|
|
| 6452 |
|
cmd.add_element("new_threat", new_threat.value) |
| 6453 |
|
|
| 6454 |
|
return self._send_xml_command(cmd) |
| 6455 |
|
|
| 6456 |
|
def modify_port_list( |
| 6457 |
|
self, |