|
@@ 3344-3434 (lines=91) @@
|
| 3341 |
|
cmd.add_element("copy", note_id) |
| 3342 |
|
return self._send_xml_command(cmd) |
| 3343 |
|
|
| 3344 |
|
def create_override( |
| 3345 |
|
self, |
| 3346 |
|
text: str, |
| 3347 |
|
nvt_oid: str, |
| 3348 |
|
*, |
| 3349 |
|
days_active: Optional[int] = None, |
| 3350 |
|
hosts: Optional[List[str]] = None, |
| 3351 |
|
port: Optional[int] = None, |
| 3352 |
|
result_id: Optional[str] = None, |
| 3353 |
|
severity: Optional[Severity] = None, |
| 3354 |
|
new_severity: Optional[Severity] = None, |
| 3355 |
|
task_id: Optional[str] = None, |
| 3356 |
|
threat: Optional[SeverityLevel] = None, |
| 3357 |
|
new_threat: Optional[SeverityLevel] = None, |
| 3358 |
|
) -> Any: |
| 3359 |
|
"""Create a new override |
| 3360 |
|
|
| 3361 |
|
Arguments: |
| 3362 |
|
text: Text of the new override |
| 3363 |
|
nvt_id: OID of the nvt to which override applies |
| 3364 |
|
days_active: Days override will be active. -1 on always, 0 off |
| 3365 |
|
hosts: A list of host addresses |
| 3366 |
|
port: Port to which the override applies |
| 3367 |
|
result_id: UUID of a result to which override applies |
| 3368 |
|
severity: Severity to which override applies |
| 3369 |
|
new_severity: New severity for result |
| 3370 |
|
task_id: UUID of task to which override applies |
| 3371 |
|
threat: Severity level to which override applies. Will be converted |
| 3372 |
|
to severity. |
| 3373 |
|
new_threat: New severity level for results. Will be converted to |
| 3374 |
|
new_severity. |
| 3375 |
|
|
| 3376 |
|
Returns: |
| 3377 |
|
The response. See :py:meth:`send_command` for details. |
| 3378 |
|
""" |
| 3379 |
|
if not text: |
| 3380 |
|
raise RequiredArgument( |
| 3381 |
|
function=self.create_override.__name__, argument='text' |
| 3382 |
|
) |
| 3383 |
|
|
| 3384 |
|
if not nvt_oid: |
| 3385 |
|
raise RequiredArgument( |
| 3386 |
|
function=self.create_override.__name__, argument='nvt_oid' |
| 3387 |
|
) |
| 3388 |
|
|
| 3389 |
|
cmd = XmlCommand("create_override") |
| 3390 |
|
cmd.add_element("text", text) |
| 3391 |
|
cmd.add_element("nvt", attrs={"oid": nvt_oid}) |
| 3392 |
|
|
| 3393 |
|
if days_active is not None: |
| 3394 |
|
cmd.add_element("active", str(days_active)) |
| 3395 |
|
|
| 3396 |
|
if hosts: |
| 3397 |
|
cmd.add_element("hosts", to_comma_list(hosts)) |
| 3398 |
|
|
| 3399 |
|
if port: |
| 3400 |
|
cmd.add_element("port", str(port)) |
| 3401 |
|
|
| 3402 |
|
if result_id: |
| 3403 |
|
cmd.add_element("result", attrs={"id": result_id}) |
| 3404 |
|
|
| 3405 |
|
if severity: |
| 3406 |
|
cmd.add_element("severity", str(severity)) |
| 3407 |
|
|
| 3408 |
|
if new_severity: |
| 3409 |
|
cmd.add_element("new_severity", str(new_severity)) |
| 3410 |
|
|
| 3411 |
|
if task_id: |
| 3412 |
|
cmd.add_element("task", attrs={"id": task_id}) |
| 3413 |
|
|
| 3414 |
|
if threat is not None: |
| 3415 |
|
if not isinstance(threat, SeverityLevel): |
| 3416 |
|
raise InvalidArgumentType( |
| 3417 |
|
function=self.create_override.__name__, |
| 3418 |
|
argument="threat", |
| 3419 |
|
arg_type=SeverityLevel.__name__, |
| 3420 |
|
) |
| 3421 |
|
|
| 3422 |
|
cmd.add_element("threat", threat.value) |
| 3423 |
|
|
| 3424 |
|
if new_threat is not None: |
| 3425 |
|
if not isinstance(new_threat, SeverityLevel): |
| 3426 |
|
raise InvalidArgumentType( |
| 3427 |
|
function=self.create_override.__name__, |
| 3428 |
|
argument="new_threat", |
| 3429 |
|
arg_type=SeverityLevel.__name__, |
| 3430 |
|
) |
| 3431 |
|
|
| 3432 |
|
cmd.add_element("new_threat", new_threat.value) |
| 3433 |
|
|
| 3434 |
|
return self._send_xml_command(cmd) |
| 3435 |
|
|
| 3436 |
|
def clone_override(self, override_id: str) -> Any: |
| 3437 |
|
"""Clone an existing override |
|
@@ 6044-6133 (lines=90) @@
|
| 6041 |
|
|
| 6042 |
|
return self._send_xml_command(cmd) |
| 6043 |
|
|
| 6044 |
|
def modify_override( |
| 6045 |
|
self, |
| 6046 |
|
override_id: str, |
| 6047 |
|
text: str, |
| 6048 |
|
*, |
| 6049 |
|
days_active: Optional[int] = None, |
| 6050 |
|
hosts: Optional[List[str]] = None, |
| 6051 |
|
port: Optional[int] = None, |
| 6052 |
|
result_id: Optional[str] = None, |
| 6053 |
|
severity: Optional[Severity] = None, |
| 6054 |
|
new_severity: Optional[Severity] = None, |
| 6055 |
|
task_id: Optional[str] = None, |
| 6056 |
|
threat: Optional[SeverityLevel] = None, |
| 6057 |
|
new_threat: Optional[SeverityLevel] = None, |
| 6058 |
|
) -> Any: |
| 6059 |
|
"""Modifies an existing override. |
| 6060 |
|
|
| 6061 |
|
Arguments: |
| 6062 |
|
override_id: UUID of override to modify. |
| 6063 |
|
text: The text of the override. |
| 6064 |
|
days_active: Days override will be active. -1 on always, |
| 6065 |
|
0 off. |
| 6066 |
|
hosts: A list of host addresses |
| 6067 |
|
port: Port to which override applies. |
| 6068 |
|
result_id: Result to which override applies. |
| 6069 |
|
severity: Severity to which override applies. |
| 6070 |
|
new_severity: New severity score for result. |
| 6071 |
|
task_id: Task to which override applies. |
| 6072 |
|
threat: Threat level to which override applies. |
| 6073 |
|
Will be converted to severity. |
| 6074 |
|
new_threat: New threat level for results. Will be converted to |
| 6075 |
|
new_severity. |
| 6076 |
|
|
| 6077 |
|
Returns: |
| 6078 |
|
The response. See :py:meth:`send_command` for details. |
| 6079 |
|
""" |
| 6080 |
|
if not override_id: |
| 6081 |
|
raise RequiredArgument( |
| 6082 |
|
function=self.modify_override.__name__, argument='override_id' |
| 6083 |
|
) |
| 6084 |
|
if not text: |
| 6085 |
|
raise RequiredArgument( |
| 6086 |
|
function=self.modify_override.__name__, argument='text' |
| 6087 |
|
) |
| 6088 |
|
|
| 6089 |
|
cmd = XmlCommand("modify_override") |
| 6090 |
|
cmd.set_attribute("override_id", override_id) |
| 6091 |
|
cmd.add_element("text", text) |
| 6092 |
|
|
| 6093 |
|
if days_active is not None: |
| 6094 |
|
cmd.add_element("active", str(days_active)) |
| 6095 |
|
|
| 6096 |
|
if hosts: |
| 6097 |
|
cmd.add_element("hosts", to_comma_list(hosts)) |
| 6098 |
|
|
| 6099 |
|
if port: |
| 6100 |
|
cmd.add_element("port", str(port)) |
| 6101 |
|
|
| 6102 |
|
if result_id: |
| 6103 |
|
cmd.add_element("result", attrs={"id": result_id}) |
| 6104 |
|
|
| 6105 |
|
if severity: |
| 6106 |
|
cmd.add_element("severity", str(severity)) |
| 6107 |
|
|
| 6108 |
|
if new_severity: |
| 6109 |
|
cmd.add_element("new_severity", str(new_severity)) |
| 6110 |
|
|
| 6111 |
|
if task_id: |
| 6112 |
|
cmd.add_element("task", attrs={"id": task_id}) |
| 6113 |
|
|
| 6114 |
|
if threat is not None: |
| 6115 |
|
if not isinstance(threat, SeverityLevel): |
| 6116 |
|
raise InvalidArgumentType( |
| 6117 |
|
function=self.modify_override.__name__, |
| 6118 |
|
argument='threat', |
| 6119 |
|
arg_type=SeverityLevel.__name__, |
| 6120 |
|
) |
| 6121 |
|
cmd.add_element("threat", threat.value) |
| 6122 |
|
|
| 6123 |
|
if new_threat is not None: |
| 6124 |
|
if not isinstance(new_threat, SeverityLevel): |
| 6125 |
|
raise InvalidArgumentType( |
| 6126 |
|
function=self.modify_override.__name__, |
| 6127 |
|
argument='new_threat', |
| 6128 |
|
arg_type=SeverityLevel.__name__, |
| 6129 |
|
) |
| 6130 |
|
|
| 6131 |
|
cmd.add_element("new_threat", new_threat.value) |
| 6132 |
|
|
| 6133 |
|
return self._send_xml_command(cmd) |
| 6134 |
|
|
| 6135 |
|
def modify_port_list( |
| 6136 |
|
self, |