|
@@ 3216-3306 (lines=91) @@
|
| 3213 |
|
cmd.add_element("copy", note_id) |
| 3214 |
|
return self._send_xml_command(cmd) |
| 3215 |
|
|
| 3216 |
|
def create_override( |
| 3217 |
|
self, |
| 3218 |
|
text: str, |
| 3219 |
|
nvt_oid: str, |
| 3220 |
|
*, |
| 3221 |
|
days_active: Optional[int] = None, |
| 3222 |
|
hosts: Optional[List[str]] = None, |
| 3223 |
|
port: Optional[int] = None, |
| 3224 |
|
result_id: Optional[str] = None, |
| 3225 |
|
severity: Optional[Severity] = None, |
| 3226 |
|
new_severity: Optional[Severity] = None, |
| 3227 |
|
task_id: Optional[str] = None, |
| 3228 |
|
threat: Optional[SeverityLevel] = None, |
| 3229 |
|
new_threat: Optional[SeverityLevel] = None, |
| 3230 |
|
) -> Any: |
| 3231 |
|
"""Create a new override |
| 3232 |
|
|
| 3233 |
|
Arguments: |
| 3234 |
|
text: Text of the new override |
| 3235 |
|
nvt_id: OID of the nvt to which override applies |
| 3236 |
|
days_active: Days override will be active. -1 on always, 0 off |
| 3237 |
|
hosts: A list of host addresses |
| 3238 |
|
port: Port to which the override applies |
| 3239 |
|
result_id: UUID of a result to which override applies |
| 3240 |
|
severity: Severity to which override applies |
| 3241 |
|
new_severity: New severity for result |
| 3242 |
|
task_id: UUID of task to which override applies |
| 3243 |
|
threat: Severity level to which override applies. Will be converted |
| 3244 |
|
to severity. |
| 3245 |
|
new_threat: New severity level for results. Will be converted to |
| 3246 |
|
new_severity. |
| 3247 |
|
|
| 3248 |
|
Returns: |
| 3249 |
|
The response. See :py:meth:`send_command` for details. |
| 3250 |
|
""" |
| 3251 |
|
if not text: |
| 3252 |
|
raise RequiredArgument( |
| 3253 |
|
function=self.create_override.__name__, argument='text' |
| 3254 |
|
) |
| 3255 |
|
|
| 3256 |
|
if not nvt_oid: |
| 3257 |
|
raise RequiredArgument( |
| 3258 |
|
function=self.create_override.__name__, argument='nvt_oid' |
| 3259 |
|
) |
| 3260 |
|
|
| 3261 |
|
cmd = XmlCommand("create_override") |
| 3262 |
|
cmd.add_element("text", text) |
| 3263 |
|
cmd.add_element("nvt", attrs={"oid": nvt_oid}) |
| 3264 |
|
|
| 3265 |
|
if days_active is not None: |
| 3266 |
|
cmd.add_element("active", str(days_active)) |
| 3267 |
|
|
| 3268 |
|
if hosts: |
| 3269 |
|
cmd.add_element("hosts", to_comma_list(hosts)) |
| 3270 |
|
|
| 3271 |
|
if port: |
| 3272 |
|
cmd.add_element("port", str(port)) |
| 3273 |
|
|
| 3274 |
|
if result_id: |
| 3275 |
|
cmd.add_element("result", attrs={"id": result_id}) |
| 3276 |
|
|
| 3277 |
|
if severity: |
| 3278 |
|
cmd.add_element("severity", str(severity)) |
| 3279 |
|
|
| 3280 |
|
if new_severity: |
| 3281 |
|
cmd.add_element("new_severity", str(new_severity)) |
| 3282 |
|
|
| 3283 |
|
if task_id: |
| 3284 |
|
cmd.add_element("task", attrs={"id": task_id}) |
| 3285 |
|
|
| 3286 |
|
if threat is not None: |
| 3287 |
|
if not isinstance(threat, SeverityLevel): |
| 3288 |
|
raise InvalidArgumentType( |
| 3289 |
|
function=self.create_override.__name__, |
| 3290 |
|
argument="threat", |
| 3291 |
|
arg_type=SeverityLevel.__name__, |
| 3292 |
|
) |
| 3293 |
|
|
| 3294 |
|
cmd.add_element("threat", threat.value) |
| 3295 |
|
|
| 3296 |
|
if new_threat is not None: |
| 3297 |
|
if not isinstance(new_threat, SeverityLevel): |
| 3298 |
|
raise InvalidArgumentType( |
| 3299 |
|
function=self.create_override.__name__, |
| 3300 |
|
argument="new_threat", |
| 3301 |
|
arg_type=SeverityLevel.__name__, |
| 3302 |
|
) |
| 3303 |
|
|
| 3304 |
|
cmd.add_element("new_threat", new_threat.value) |
| 3305 |
|
|
| 3306 |
|
return self._send_xml_command(cmd) |
| 3307 |
|
|
| 3308 |
|
def clone_override(self, override_id: str) -> Any: |
| 3309 |
|
"""Clone an existing override |
|
@@ 5548-5637 (lines=90) @@
|
| 5545 |
|
|
| 5546 |
|
return self._send_xml_command(cmd) |
| 5547 |
|
|
| 5548 |
|
def modify_override( |
| 5549 |
|
self, |
| 5550 |
|
override_id: str, |
| 5551 |
|
text: str, |
| 5552 |
|
*, |
| 5553 |
|
days_active: Optional[int] = None, |
| 5554 |
|
hosts: Optional[List[str]] = None, |
| 5555 |
|
port: Optional[int] = None, |
| 5556 |
|
result_id: Optional[str] = None, |
| 5557 |
|
severity: Optional[Severity] = None, |
| 5558 |
|
new_severity: Optional[Severity] = None, |
| 5559 |
|
task_id: Optional[str] = None, |
| 5560 |
|
threat: Optional[SeverityLevel] = None, |
| 5561 |
|
new_threat: Optional[SeverityLevel] = None, |
| 5562 |
|
) -> Any: |
| 5563 |
|
"""Modifies an existing override. |
| 5564 |
|
|
| 5565 |
|
Arguments: |
| 5566 |
|
override_id: UUID of override to modify. |
| 5567 |
|
text: The text of the override. |
| 5568 |
|
days_active: Days override will be active. -1 on always, |
| 5569 |
|
0 off. |
| 5570 |
|
hosts: A list of host addresses |
| 5571 |
|
port: Port to which override applies. |
| 5572 |
|
result_id: Result to which override applies. |
| 5573 |
|
severity: Severity to which override applies. |
| 5574 |
|
new_severity: New severity score for result. |
| 5575 |
|
task_id: Task to which override applies. |
| 5576 |
|
threat: Threat level to which override applies. |
| 5577 |
|
Will be converted to severity. |
| 5578 |
|
new_threat: New threat level for results. Will be converted to |
| 5579 |
|
new_severity. |
| 5580 |
|
|
| 5581 |
|
Returns: |
| 5582 |
|
The response. See :py:meth:`send_command` for details. |
| 5583 |
|
""" |
| 5584 |
|
if not override_id: |
| 5585 |
|
raise RequiredArgument( |
| 5586 |
|
function=self.modify_override.__name__, argument='override_id' |
| 5587 |
|
) |
| 5588 |
|
if not text: |
| 5589 |
|
raise RequiredArgument( |
| 5590 |
|
function=self.modify_override.__name__, argument='text' |
| 5591 |
|
) |
| 5592 |
|
|
| 5593 |
|
cmd = XmlCommand("modify_override") |
| 5594 |
|
cmd.set_attribute("override_id", override_id) |
| 5595 |
|
cmd.add_element("text", text) |
| 5596 |
|
|
| 5597 |
|
if days_active is not None: |
| 5598 |
|
cmd.add_element("active", str(days_active)) |
| 5599 |
|
|
| 5600 |
|
if hosts: |
| 5601 |
|
cmd.add_element("hosts", to_comma_list(hosts)) |
| 5602 |
|
|
| 5603 |
|
if port: |
| 5604 |
|
cmd.add_element("port", str(port)) |
| 5605 |
|
|
| 5606 |
|
if result_id: |
| 5607 |
|
cmd.add_element("result", attrs={"id": result_id}) |
| 5608 |
|
|
| 5609 |
|
if severity: |
| 5610 |
|
cmd.add_element("severity", str(severity)) |
| 5611 |
|
|
| 5612 |
|
if new_severity: |
| 5613 |
|
cmd.add_element("new_severity", str(new_severity)) |
| 5614 |
|
|
| 5615 |
|
if task_id: |
| 5616 |
|
cmd.add_element("task", attrs={"id": task_id}) |
| 5617 |
|
|
| 5618 |
|
if threat is not None: |
| 5619 |
|
if not isinstance(threat, SeverityLevel): |
| 5620 |
|
raise InvalidArgumentType( |
| 5621 |
|
function=self.modify_override.__name__, |
| 5622 |
|
argument='threat', |
| 5623 |
|
arg_type=SeverityLevel.__name__, |
| 5624 |
|
) |
| 5625 |
|
cmd.add_element("threat", threat.value) |
| 5626 |
|
|
| 5627 |
|
if new_threat is not None: |
| 5628 |
|
if not isinstance(new_threat, SeverityLevel): |
| 5629 |
|
raise InvalidArgumentType( |
| 5630 |
|
function=self.modify_override.__name__, |
| 5631 |
|
argument='new_threat', |
| 5632 |
|
arg_type=SeverityLevel.__name__, |
| 5633 |
|
) |
| 5634 |
|
|
| 5635 |
|
cmd.add_element("new_threat", new_threat.value) |
| 5636 |
|
|
| 5637 |
|
return self._send_xml_command(cmd) |
| 5638 |
|
|
| 5639 |
|
def modify_report_format( |
| 5640 |
|
self, |