| @@ 1176-1264 (lines=89) @@ | ||
| 1173 | preferences=preferences, |
|
| 1174 | ) |
|
| 1175 | ||
| 1176 | def modify_permission( |
|
| 1177 | self, |
|
| 1178 | permission_id: str, |
|
| 1179 | *, |
|
| 1180 | comment: Optional[str] = None, |
|
| 1181 | name: Optional[str] = None, |
|
| 1182 | resource_id: Optional[str] = None, |
|
| 1183 | resource_type: Optional[EntityType] = None, |
|
| 1184 | subject_id: Optional[str] = None, |
|
| 1185 | subject_type: Optional[PermissionSubjectType] = None, |
|
| 1186 | ) -> Any: |
|
| 1187 | """Modifies an existing permission. |
|
| 1188 | ||
| 1189 | Arguments: |
|
| 1190 | permission_id: UUID of permission to be modified. |
|
| 1191 | comment: The comment on the permission. |
|
| 1192 | name: Permission name, currently the name of a command. |
|
| 1193 | subject_id: UUID of subject to whom the permission is granted |
|
| 1194 | subject_type: Type of the subject user, group or role |
|
| 1195 | resource_id: UUID of entity to which the permission applies |
|
| 1196 | resource_type: Type of the resource. For Super permissions user, |
|
| 1197 | group or role |
|
| 1198 | ||
| 1199 | Returns: |
|
| 1200 | The response. See :py:meth:`send_command` for details. |
|
| 1201 | """ |
|
| 1202 | if not permission_id: |
|
| 1203 | raise RequiredArgument( |
|
| 1204 | function=self.modify_permission.__name__, |
|
| 1205 | argument='permission_id', |
|
| 1206 | ) |
|
| 1207 | ||
| 1208 | cmd = XmlCommand("modify_permission") |
|
| 1209 | cmd.set_attribute("permission_id", permission_id) |
|
| 1210 | ||
| 1211 | if comment: |
|
| 1212 | cmd.add_element("comment", comment) |
|
| 1213 | ||
| 1214 | if name: |
|
| 1215 | cmd.add_element("name", name) |
|
| 1216 | ||
| 1217 | if resource_id or resource_type: |
|
| 1218 | if not resource_id: |
|
| 1219 | raise RequiredArgument( |
|
| 1220 | function=self.modify_permission.__name__, |
|
| 1221 | argument='resource_id', |
|
| 1222 | ) |
|
| 1223 | ||
| 1224 | if not resource_type: |
|
| 1225 | raise RequiredArgument( |
|
| 1226 | function=self.modify_permission.__name__, |
|
| 1227 | argument='resource_type', |
|
| 1228 | ) |
|
| 1229 | ||
| 1230 | if not isinstance(resource_type, self.types.EntityType): |
|
| 1231 | raise InvalidArgumentType( |
|
| 1232 | function=self.modify_permission.__name__, |
|
| 1233 | argument='resource_type', |
|
| 1234 | arg_type=self.types.EntityType.__name__, |
|
| 1235 | ) |
|
| 1236 | ||
| 1237 | _xmlresource = cmd.add_element( |
|
| 1238 | "resource", attrs={"id": resource_id} |
|
| 1239 | ) |
|
| 1240 | _actual_resource_type = resource_type |
|
| 1241 | if resource_type.value == EntityType.AUDIT.value: |
|
| 1242 | _actual_resource_type = EntityType.TASK |
|
| 1243 | elif resource_type.value == EntityType.POLICY.value: |
|
| 1244 | _actual_resource_type = EntityType.SCAN_CONFIG |
|
| 1245 | _xmlresource.add_element("type", _actual_resource_type.value) |
|
| 1246 | ||
| 1247 | if subject_id or subject_type: |
|
| 1248 | if not subject_id: |
|
| 1249 | raise RequiredArgument( |
|
| 1250 | function=self.modify_permission.__name__, |
|
| 1251 | argument='subject_id', |
|
| 1252 | ) |
|
| 1253 | ||
| 1254 | if not isinstance(subject_type, PermissionSubjectType): |
|
| 1255 | raise InvalidArgumentType( |
|
| 1256 | function=self.modify_permission.__name__, |
|
| 1257 | argument='subject_type', |
|
| 1258 | arg_type=PermissionSubjectType.__name__, |
|
| 1259 | ) |
|
| 1260 | ||
| 1261 | _xmlsubject = cmd.add_element("subject", attrs={"id": subject_id}) |
|
| 1262 | _xmlsubject.add_element("type", subject_type.value) |
|
| 1263 | ||
| 1264 | return self._send_xml_command(cmd) |
|
| 1265 | ||
| 1266 | def modify_policy_set_nvt_preference( |
|
| 1267 | self, |
|
| @@ 1049-1137 (lines=89) @@ | ||
| 1046 | preferences=preferences, |
|
| 1047 | ) |
|
| 1048 | ||
| 1049 | def modify_permission( |
|
| 1050 | self, |
|
| 1051 | permission_id: str, |
|
| 1052 | *, |
|
| 1053 | comment: Optional[str] = None, |
|
| 1054 | name: Optional[str] = None, |
|
| 1055 | resource_id: Optional[str] = None, |
|
| 1056 | resource_type: Optional[EntityType] = None, |
|
| 1057 | subject_id: Optional[str] = None, |
|
| 1058 | subject_type: Optional[PermissionSubjectType] = None, |
|
| 1059 | ) -> Any: |
|
| 1060 | """Modifies an existing permission. |
|
| 1061 | ||
| 1062 | Arguments: |
|
| 1063 | permission_id: UUID of permission to be modified. |
|
| 1064 | comment: The comment on the permission. |
|
| 1065 | name: Permission name, currently the name of a command. |
|
| 1066 | subject_id: UUID of subject to whom the permission is granted |
|
| 1067 | subject_type: Type of the subject user, group or role |
|
| 1068 | resource_id: UUID of entity to which the permission applies |
|
| 1069 | resource_type: Type of the resource. For Super permissions user, |
|
| 1070 | group or role |
|
| 1071 | ||
| 1072 | Returns: |
|
| 1073 | The response. See :py:meth:`send_command` for details. |
|
| 1074 | """ |
|
| 1075 | if not permission_id: |
|
| 1076 | raise RequiredArgument( |
|
| 1077 | function=self.modify_permission.__name__, |
|
| 1078 | argument='permission_id', |
|
| 1079 | ) |
|
| 1080 | ||
| 1081 | cmd = XmlCommand("modify_permission") |
|
| 1082 | cmd.set_attribute("permission_id", permission_id) |
|
| 1083 | ||
| 1084 | if comment: |
|
| 1085 | cmd.add_element("comment", comment) |
|
| 1086 | ||
| 1087 | if name: |
|
| 1088 | cmd.add_element("name", name) |
|
| 1089 | ||
| 1090 | if resource_id or resource_type: |
|
| 1091 | if not resource_id: |
|
| 1092 | raise RequiredArgument( |
|
| 1093 | function=self.modify_permission.__name__, |
|
| 1094 | argument='resource_id', |
|
| 1095 | ) |
|
| 1096 | ||
| 1097 | if not resource_type: |
|
| 1098 | raise RequiredArgument( |
|
| 1099 | function=self.modify_permission.__name__, |
|
| 1100 | argument='resource_type', |
|
| 1101 | ) |
|
| 1102 | ||
| 1103 | if not isinstance(resource_type, self.types.EntityType): |
|
| 1104 | raise InvalidArgumentType( |
|
| 1105 | function=self.modify_permission.__name__, |
|
| 1106 | argument='resource_type', |
|
| 1107 | arg_type=self.types.EntityType.__name__, |
|
| 1108 | ) |
|
| 1109 | ||
| 1110 | _xmlresource = cmd.add_element( |
|
| 1111 | "resource", attrs={"id": resource_id} |
|
| 1112 | ) |
|
| 1113 | _actual_resource_type = resource_type |
|
| 1114 | if resource_type.value == EntityType.AUDIT.value: |
|
| 1115 | _actual_resource_type = EntityType.TASK |
|
| 1116 | elif resource_type.value == EntityType.POLICY.value: |
|
| 1117 | _actual_resource_type = EntityType.SCAN_CONFIG |
|
| 1118 | _xmlresource.add_element("type", _actual_resource_type.value) |
|
| 1119 | ||
| 1120 | if subject_id or subject_type: |
|
| 1121 | if not subject_id: |
|
| 1122 | raise RequiredArgument( |
|
| 1123 | function=self.modify_permission.__name__, |
|
| 1124 | argument='subject_id', |
|
| 1125 | ) |
|
| 1126 | ||
| 1127 | if not isinstance(subject_type, PermissionSubjectType): |
|
| 1128 | raise InvalidArgumentType( |
|
| 1129 | function=self.modify_permission.__name__, |
|
| 1130 | argument='subject_type', |
|
| 1131 | arg_type=PermissionSubjectType.__name__, |
|
| 1132 | ) |
|
| 1133 | ||
| 1134 | _xmlsubject = cmd.add_element("subject", attrs={"id": subject_id}) |
|
| 1135 | _xmlsubject.add_element("type", subject_type.value) |
|
| 1136 | ||
| 1137 | return self._send_xml_command(cmd) |
|
| 1138 | ||
| 1139 | def modify_policy_set_nvt_preference( |
|
| 1140 | self, |
|