|
@@ 983-1073 (lines=91) @@
|
| 980 |
|
cmd.add_element("copy", note_id) |
| 981 |
|
return self._send_xml_command(cmd) |
| 982 |
|
|
| 983 |
|
def create_override( |
| 984 |
|
self, |
| 985 |
|
text: str, |
| 986 |
|
nvt_oid: str, |
| 987 |
|
*, |
| 988 |
|
days_active: Optional[int] = None, |
| 989 |
|
hosts: Optional[List[str]] = None, |
| 990 |
|
port: Optional[int] = None, |
| 991 |
|
result_id: Optional[str] = None, |
| 992 |
|
severity: Optional[Severity] = None, |
| 993 |
|
new_severity: Optional[Severity] = None, |
| 994 |
|
task_id: Optional[str] = None, |
| 995 |
|
threat: Optional[SeverityLevel] = None, |
| 996 |
|
new_threat: Optional[SeverityLevel] = None |
| 997 |
|
) -> Any: |
| 998 |
|
"""Create a new override |
| 999 |
|
|
| 1000 |
|
Arguments: |
| 1001 |
|
text: Text of the new override |
| 1002 |
|
nvt_id: OID of the nvt to which override applies |
| 1003 |
|
days_active: Days override will be active. -1 on always, 0 off |
| 1004 |
|
hosts: A list of host addresses |
| 1005 |
|
port: Port to which the override applies |
| 1006 |
|
result_id: UUID of a result to which override applies |
| 1007 |
|
severity: Severity to which override applies |
| 1008 |
|
new_severity: New severity for result |
| 1009 |
|
task_id: UUID of task to which override applies |
| 1010 |
|
threat: Severity level to which override applies. Will be converted |
| 1011 |
|
to severity. |
| 1012 |
|
new_threat: New severity level for results. Will be converted to |
| 1013 |
|
new_severity. |
| 1014 |
|
|
| 1015 |
|
Returns: |
| 1016 |
|
The response. See :py:meth:`send_command` for details. |
| 1017 |
|
""" |
| 1018 |
|
if not text: |
| 1019 |
|
raise RequiredArgument( |
| 1020 |
|
function=self.create_override.__name__, argument='text' |
| 1021 |
|
) |
| 1022 |
|
|
| 1023 |
|
if not nvt_oid: |
| 1024 |
|
raise RequiredArgument( |
| 1025 |
|
function=self.create_override.__name__, argument='nvt_oid' |
| 1026 |
|
) |
| 1027 |
|
|
| 1028 |
|
cmd = XmlCommand("create_override") |
| 1029 |
|
cmd.add_element("text", text) |
| 1030 |
|
cmd.add_element("nvt", attrs={"oid": nvt_oid}) |
| 1031 |
|
|
| 1032 |
|
if days_active is not None: |
| 1033 |
|
cmd.add_element("active", str(days_active)) |
| 1034 |
|
|
| 1035 |
|
if hosts: |
| 1036 |
|
cmd.add_element("hosts", _to_comma_list(hosts)) |
| 1037 |
|
|
| 1038 |
|
if port: |
| 1039 |
|
cmd.add_element("port", str(port)) |
| 1040 |
|
|
| 1041 |
|
if result_id: |
| 1042 |
|
cmd.add_element("result", attrs={"id": result_id}) |
| 1043 |
|
|
| 1044 |
|
if severity: |
| 1045 |
|
cmd.add_element("severity", str(severity)) |
| 1046 |
|
|
| 1047 |
|
if new_severity: |
| 1048 |
|
cmd.add_element("new_severity", str(new_severity)) |
| 1049 |
|
|
| 1050 |
|
if task_id: |
| 1051 |
|
cmd.add_element("task", attrs={"id": task_id}) |
| 1052 |
|
|
| 1053 |
|
if threat is not None: |
| 1054 |
|
if not isinstance(threat, SeverityLevel): |
| 1055 |
|
raise InvalidArgumentType( |
| 1056 |
|
function=self.create_override.__name__, |
| 1057 |
|
argument="threat", |
| 1058 |
|
arg_type=SeverityLevel.__name__, |
| 1059 |
|
) |
| 1060 |
|
|
| 1061 |
|
cmd.add_element("threat", threat.value) |
| 1062 |
|
|
| 1063 |
|
if new_threat is not None: |
| 1064 |
|
if not isinstance(new_threat, SeverityLevel): |
| 1065 |
|
raise InvalidArgumentType( |
| 1066 |
|
function=self.create_override.__name__, |
| 1067 |
|
argument="new_threat", |
| 1068 |
|
arg_type=SeverityLevel.__name__, |
| 1069 |
|
) |
| 1070 |
|
|
| 1071 |
|
cmd.add_element("new_threat", new_threat.value) |
| 1072 |
|
|
| 1073 |
|
return self._send_xml_command(cmd) |
| 1074 |
|
|
| 1075 |
|
def clone_override(self, override_id: str) -> Any: |
| 1076 |
|
"""Clone an existing override |
|
@@ 5133-5222 (lines=90) @@
|
| 5130 |
|
|
| 5131 |
|
return self._send_xml_command(cmd) |
| 5132 |
|
|
| 5133 |
|
def modify_override( |
| 5134 |
|
self, |
| 5135 |
|
override_id: str, |
| 5136 |
|
text: str, |
| 5137 |
|
*, |
| 5138 |
|
days_active: Optional[int] = None, |
| 5139 |
|
hosts: Optional[List[str]] = None, |
| 5140 |
|
port: Optional[int] = None, |
| 5141 |
|
result_id: Optional[str] = None, |
| 5142 |
|
severity: Optional[Severity] = None, |
| 5143 |
|
new_severity: Optional[Severity] = None, |
| 5144 |
|
task_id: Optional[str] = None, |
| 5145 |
|
threat: Optional[SeverityLevel] = None, |
| 5146 |
|
new_threat: Optional[SeverityLevel] = None |
| 5147 |
|
) -> Any: |
| 5148 |
|
"""Modifies an existing override. |
| 5149 |
|
|
| 5150 |
|
Arguments: |
| 5151 |
|
override_id: UUID of override to modify. |
| 5152 |
|
text: The text of the override. |
| 5153 |
|
days_active: Days override will be active. -1 on always, |
| 5154 |
|
0 off. |
| 5155 |
|
hosts: A list of host addresses |
| 5156 |
|
port: Port to which override applies. |
| 5157 |
|
result_id: Result to which override applies. |
| 5158 |
|
severity: Severity to which override applies. |
| 5159 |
|
new_severity: New severity score for result. |
| 5160 |
|
task_id: Task to which override applies. |
| 5161 |
|
threat: Threat level to which override applies. |
| 5162 |
|
Will be converted to severity. |
| 5163 |
|
new_threat: New threat level for results. Will be converted to |
| 5164 |
|
new_severity. |
| 5165 |
|
|
| 5166 |
|
Returns: |
| 5167 |
|
The response. See :py:meth:`send_command` for details. |
| 5168 |
|
""" |
| 5169 |
|
if not override_id: |
| 5170 |
|
raise RequiredArgument( |
| 5171 |
|
function=self.modify_override.__name__, argument='override_id' |
| 5172 |
|
) |
| 5173 |
|
if not text: |
| 5174 |
|
raise RequiredArgument( |
| 5175 |
|
function=self.modify_override.__name__, argument='text' |
| 5176 |
|
) |
| 5177 |
|
|
| 5178 |
|
cmd = XmlCommand("modify_override") |
| 5179 |
|
cmd.set_attribute("override_id", override_id) |
| 5180 |
|
cmd.add_element("text", text) |
| 5181 |
|
|
| 5182 |
|
if days_active is not None: |
| 5183 |
|
cmd.add_element("active", str(days_active)) |
| 5184 |
|
|
| 5185 |
|
if hosts: |
| 5186 |
|
cmd.add_element("hosts", _to_comma_list(hosts)) |
| 5187 |
|
|
| 5188 |
|
if port: |
| 5189 |
|
cmd.add_element("port", str(port)) |
| 5190 |
|
|
| 5191 |
|
if result_id: |
| 5192 |
|
cmd.add_element("result", attrs={"id": result_id}) |
| 5193 |
|
|
| 5194 |
|
if severity: |
| 5195 |
|
cmd.add_element("severity", str(severity)) |
| 5196 |
|
|
| 5197 |
|
if new_severity: |
| 5198 |
|
cmd.add_element("new_severity", str(new_severity)) |
| 5199 |
|
|
| 5200 |
|
if task_id: |
| 5201 |
|
cmd.add_element("task", attrs={"id": task_id}) |
| 5202 |
|
|
| 5203 |
|
if threat is not None: |
| 5204 |
|
if not isinstance(threat, SeverityLevel): |
| 5205 |
|
raise InvalidArgumentType( |
| 5206 |
|
function=self.modify_override.__name__, |
| 5207 |
|
argument='threat', |
| 5208 |
|
arg_type=SeverityLevel.__name__, |
| 5209 |
|
) |
| 5210 |
|
cmd.add_element("threat", threat.value) |
| 5211 |
|
|
| 5212 |
|
if new_threat is not None: |
| 5213 |
|
if not isinstance(new_threat, SeverityLevel): |
| 5214 |
|
raise InvalidArgumentType( |
| 5215 |
|
function=self.modify_override.__name__, |
| 5216 |
|
argument='new_threat', |
| 5217 |
|
arg_type=SeverityLevel.__name__, |
| 5218 |
|
) |
| 5219 |
|
|
| 5220 |
|
cmd.add_element("new_threat", new_threat.value) |
| 5221 |
|
|
| 5222 |
|
return self._send_xml_command(cmd) |
| 5223 |
|
|
| 5224 |
|
def modify_permission( |
| 5225 |
|
self, |