revengai 1.1.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (741) hide show
  1. revengai/__init__.py +1035 -0
  2. revengai/api/__init__.py +58 -0
  3. revengai/api/analyses_comments_api.py +1260 -0
  4. revengai/api/analyses_core_api.py +4305 -0
  5. revengai/api/analyses_dynamic_execution_api.py +1991 -0
  6. revengai/api/analyses_results_metadata_api.py +2324 -0
  7. revengai/api/analyses_security_checks_api.py +909 -0
  8. revengai/api/authentication_users_api.py +1386 -0
  9. revengai/api/binaries_api.py +1702 -0
  10. revengai/api/collections_api.py +2222 -0
  11. revengai/api/confidence_api.py +1214 -0
  12. revengai/api/external_sources_api.py +1709 -0
  13. revengai/api/firmware_api.py +624 -0
  14. revengai/api/functions_ai_decompilation_api.py +2728 -0
  15. revengai/api/functions_block_comments_api.py +897 -0
  16. revengai/api/functions_core_api.py +2216 -0
  17. revengai/api/functions_data_types_api.py +1838 -0
  18. revengai/api/functions_decompilation_api.py +2097 -0
  19. revengai/api/functions_renaming_history_api.py +1214 -0
  20. revengai/api/functions_threat_score_api.py +610 -0
  21. revengai/api/models_api.py +303 -0
  22. revengai/api/search_api.py +1483 -0
  23. revengai/api/v1_api.py +6373 -0
  24. revengai/api_client.py +804 -0
  25. revengai/api_response.py +21 -0
  26. revengai/configuration.py +602 -0
  27. revengai/exceptions.py +216 -0
  28. revengai/models/__init__.py +631 -0
  29. revengai/models/addr.py +144 -0
  30. revengai/models/ai_decompilation_rating.py +37 -0
  31. revengai/models/analyse_created.py +99 -0
  32. revengai/models/analysis_access_info.py +89 -0
  33. revengai/models/analysis_config.py +107 -0
  34. revengai/models/analysis_create_request.py +132 -0
  35. revengai/models/analysis_create_response.py +89 -0
  36. revengai/models/analysis_detail_response.py +122 -0
  37. revengai/models/analysis_form.py +138 -0
  38. revengai/models/analysis_functions.py +95 -0
  39. revengai/models/analysis_record.py +123 -0
  40. revengai/models/analysis_scope.py +37 -0
  41. revengai/models/analysis_status.py +94 -0
  42. revengai/models/analysis_strings_response.py +97 -0
  43. revengai/models/analysis_threat_score_data.py +99 -0
  44. revengai/models/analysis_update_request.py +109 -0
  45. revengai/models/analysis_update_tags_request.py +87 -0
  46. revengai/models/analysis_update_tags_response.py +95 -0
  47. revengai/models/ann_function.py +121 -0
  48. revengai/models/ann_input.py +108 -0
  49. revengai/models/app_api_rest_v1_analyse_schema_model_name.py +44 -0
  50. revengai/models/app_api_rest_v1_analyse_schema_status.py +40 -0
  51. revengai/models/app_api_rest_v1_analyse_schema_symbols.py +97 -0
  52. revengai/models/app_api_rest_v1_analysis_info_responses_logs.py +99 -0
  53. revengai/models/app_api_rest_v1_analysis_info_schema_function_rename.py +88 -0
  54. revengai/models/app_api_rest_v1_ann_schema_ann_function.py +135 -0
  55. revengai/models/app_api_rest_v2_analyses_enums_dynamic_execution_status.py +39 -0
  56. revengai/models/app_api_rest_v2_analyses_enums_model_name.py +43 -0
  57. revengai/models/app_api_rest_v2_analyses_enums_order_by.py +38 -0
  58. revengai/models/app_api_rest_v2_analyses_enums_status.py +41 -0
  59. revengai/models/app_api_rest_v2_analyses_responses_analysis_tags.py +104 -0
  60. revengai/models/app_api_rest_v2_analyses_responses_logs.py +87 -0
  61. revengai/models/app_api_rest_v2_analyses_responses_tag_item.py +96 -0
  62. revengai/models/app_api_rest_v2_analyses_schemas_symbols.py +97 -0
  63. revengai/models/app_api_rest_v2_collections_enums_order_by.py +41 -0
  64. revengai/models/app_api_rest_v2_functions_rename_schema_function_rename.py +94 -0
  65. revengai/models/app_api_rest_v2_functions_responses_function.py +89 -0
  66. revengai/models/app_api_rest_v2_functions_types_function.py +109 -0
  67. revengai/models/app_api_rest_v2_info_responses_analysis_tags.py +104 -0
  68. revengai/models/app_api_rest_v2_similarity_schema_ann_function.py +121 -0
  69. revengai/models/app_core_responses_base_base_response_analysis_tags1.py +126 -0
  70. revengai/models/app_core_responses_base_base_response_analysis_tags2.py +126 -0
  71. revengai/models/app_services_binary_ann_schema_tag_item.py +99 -0
  72. revengai/models/app_services_dynamic_execution_schemas_dynamic_execution_status.py +87 -0
  73. revengai/models/argument.py +100 -0
  74. revengai/models/base_response.py +125 -0
  75. revengai/models/base_response_analysis_create_response.py +126 -0
  76. revengai/models/base_response_analysis_detail_response.py +126 -0
  77. revengai/models/base_response_analysis_functions.py +126 -0
  78. revengai/models/base_response_analysis_strings_response.py +126 -0
  79. revengai/models/base_response_analysis_threat_score_data.py +126 -0
  80. revengai/models/base_response_analysis_update_tags_response.py +126 -0
  81. revengai/models/base_response_basic.py +126 -0
  82. revengai/models/base_response_binary_additional_response.py +126 -0
  83. revengai/models/base_response_binary_ann_list_response.py +126 -0
  84. revengai/models/base_response_binary_details_response.py +126 -0
  85. revengai/models/base_response_binary_externals_response.py +126 -0
  86. revengai/models/base_response_binary_search_response.py +126 -0
  87. revengai/models/base_response_block_comments_generation_for_function_response.py +126 -0
  88. revengai/models/base_response_block_comments_overview_generation_response.py +117 -0
  89. revengai/models/base_response_bool.py +122 -0
  90. revengai/models/base_response_box_plot_confidence.py +126 -0
  91. revengai/models/base_response_callees_caller_functions_response.py +126 -0
  92. revengai/models/base_response_capabilities.py +126 -0
  93. revengai/models/base_response_check_security_checks_task_response.py +126 -0
  94. revengai/models/base_response_child_binaries_response.py +126 -0
  95. revengai/models/base_response_collection_binaries_update_response.py +126 -0
  96. revengai/models/base_response_collection_response.py +126 -0
  97. revengai/models/base_response_collection_search_response.py +126 -0
  98. revengai/models/base_response_collection_tags_update_response.py +126 -0
  99. revengai/models/base_response_comment_response.py +126 -0
  100. revengai/models/base_response_communities.py +126 -0
  101. revengai/models/base_response_created.py +126 -0
  102. revengai/models/base_response_decompilation_response.py +126 -0
  103. revengai/models/base_response_dict.py +122 -0
  104. revengai/models/base_response_dynamic_execution_status.py +126 -0
  105. revengai/models/base_response_external_response.py +126 -0
  106. revengai/models/base_response_function_analysis_threat_score_data.py +126 -0
  107. revengai/models/base_response_function_blocks_response.py +126 -0
  108. revengai/models/base_response_function_capability_response.py +126 -0
  109. revengai/models/base_response_function_data_types.py +126 -0
  110. revengai/models/base_response_function_data_types_list.py +126 -0
  111. revengai/models/base_response_function_search_response.py +126 -0
  112. revengai/models/base_response_function_strings_response.py +126 -0
  113. revengai/models/base_response_function_task_response.py +126 -0
  114. revengai/models/base_response_function_threat_score.py +126 -0
  115. revengai/models/base_response_functions_detail_response.py +126 -0
  116. revengai/models/base_response_generate_function_data_types.py +126 -0
  117. revengai/models/base_response_generation_status_list.py +126 -0
  118. revengai/models/base_response_get_ai_decompilation_rating_response.py +126 -0
  119. revengai/models/base_response_get_ai_decompilation_task.py +126 -0
  120. revengai/models/base_response_get_public_user_response.py +126 -0
  121. revengai/models/base_response_get_user_response.py +126 -0
  122. revengai/models/base_response_list_collection_results.py +126 -0
  123. revengai/models/base_response_list_comment_response.py +130 -0
  124. revengai/models/base_response_list_die_match.py +130 -0
  125. revengai/models/base_response_list_function_box_plot_confidence.py +130 -0
  126. revengai/models/base_response_list_function_name_history.py +130 -0
  127. revengai/models/base_response_list_sbom.py +130 -0
  128. revengai/models/base_response_list_similar_functions_response.py +130 -0
  129. revengai/models/base_response_list_tag_origin_box_plot_confidence.py +130 -0
  130. revengai/models/base_response_list_user_activity_response.py +130 -0
  131. revengai/models/base_response_login_response.py +126 -0
  132. revengai/models/base_response_logs.py +126 -0
  133. revengai/models/base_response_models_response.py +126 -0
  134. revengai/models/base_response_nearest_neighbor_analysis.py +136 -0
  135. revengai/models/base_response_network_overview_response.py +126 -0
  136. revengai/models/base_response_params.py +126 -0
  137. revengai/models/base_response_process_dumps.py +126 -0
  138. revengai/models/base_response_process_registry.py +126 -0
  139. revengai/models/base_response_process_tree.py +126 -0
  140. revengai/models/base_response_queued_security_checks_task_response.py +126 -0
  141. revengai/models/base_response_recent.py +126 -0
  142. revengai/models/base_response_security_checks_response.py +126 -0
  143. revengai/models/base_response_status.py +126 -0
  144. revengai/models/base_response_str.py +122 -0
  145. revengai/models/base_response_symbols_info.py +126 -0
  146. revengai/models/base_response_tag_search_response.py +126 -0
  147. revengai/models/base_response_task_response.py +126 -0
  148. revengai/models/base_response_ttps.py +126 -0
  149. revengai/models/base_response_vulnerabilities.py +126 -0
  150. revengai/models/basic.py +108 -0
  151. revengai/models/batch_ann.py +106 -0
  152. revengai/models/batch_function_rename.py +95 -0
  153. revengai/models/batch_function_rename_record.py +90 -0
  154. revengai/models/binary_additional_details_data_response.py +113 -0
  155. revengai/models/binary_additional_response.py +106 -0
  156. revengai/models/binary_ann_form.py +94 -0
  157. revengai/models/binary_ann_list_response.py +95 -0
  158. revengai/models/binary_config.py +109 -0
  159. revengai/models/binary_details_response.py +126 -0
  160. revengai/models/binary_externals_response.py +96 -0
  161. revengai/models/binary_search_response.py +95 -0
  162. revengai/models/binary_search_result.py +109 -0
  163. revengai/models/binary_task_status.py +40 -0
  164. revengai/models/block.py +87 -0
  165. revengai/models/block_comments_generation_for_function_response.py +87 -0
  166. revengai/models/boundary.py +91 -0
  167. revengai/models/box_plot_confidence.py +99 -0
  168. revengai/models/callee_function_info.py +107 -0
  169. revengai/models/callees_caller_functions_response.py +107 -0
  170. revengai/models/caller_function_info.py +107 -0
  171. revengai/models/capabilities.py +95 -0
  172. revengai/models/capability.py +91 -0
  173. revengai/models/check_security_checks_task_response.py +88 -0
  174. revengai/models/child_binaries_response.py +105 -0
  175. revengai/models/code_signature_model.py +99 -0
  176. revengai/models/collection_binaries_update_request.py +87 -0
  177. revengai/models/collection_binaries_update_response.py +95 -0
  178. revengai/models/collection_binary_response.py +98 -0
  179. revengai/models/collection_count.py +99 -0
  180. revengai/models/collection_create_request.py +108 -0
  181. revengai/models/collection_list_item.py +113 -0
  182. revengai/models/collection_response.py +132 -0
  183. revengai/models/collection_response_binaries_inner.py +136 -0
  184. revengai/models/collection_scope.py +39 -0
  185. revengai/models/collection_search_response.py +95 -0
  186. revengai/models/collection_search_result.py +125 -0
  187. revengai/models/collection_tags_update_request.py +87 -0
  188. revengai/models/collection_tags_update_response.py +87 -0
  189. revengai/models/collection_update_request.py +107 -0
  190. revengai/models/collections_count_form.py +88 -0
  191. revengai/models/comment_base.py +87 -0
  192. revengai/models/comment_response.py +111 -0
  193. revengai/models/comment_update_request.py +87 -0
  194. revengai/models/communities.py +101 -0
  195. revengai/models/community_match_percentages.py +93 -0
  196. revengai/models/confidence_type.py +40 -0
  197. revengai/models/config_settings.py +101 -0
  198. revengai/models/context.py +142 -0
  199. revengai/models/create_ai_decompilation_request.py +87 -0
  200. revengai/models/created.py +91 -0
  201. revengai/models/decompilation_comment_context.py +99 -0
  202. revengai/models/decompilation_response.py +91 -0
  203. revengai/models/deleted_analysis.py +99 -0
  204. revengai/models/die_match.py +93 -0
  205. revengai/models/dynamic_execution_status_input.py +39 -0
  206. revengai/models/elf_dynamic_entry.py +89 -0
  207. revengai/models/elf_import_model.py +89 -0
  208. revengai/models/elf_model.py +180 -0
  209. revengai/models/elf_relocation.py +99 -0
  210. revengai/models/elf_section.py +105 -0
  211. revengai/models/elf_security.py +95 -0
  212. revengai/models/elf_segment.py +103 -0
  213. revengai/models/elf_symbol.py +99 -0
  214. revengai/models/entrypoint_model.py +89 -0
  215. revengai/models/enumeration.py +98 -0
  216. revengai/models/error_model.py +89 -0
  217. revengai/models/export_model.py +89 -0
  218. revengai/models/exported_binary_ann_result.py +111 -0
  219. revengai/models/external_response.py +92 -0
  220. revengai/models/file_format.py +38 -0
  221. revengai/models/file_hashes.py +141 -0
  222. revengai/models/file_metadata.py +97 -0
  223. revengai/models/file_options.py +41 -0
  224. revengai/models/filters.py +40 -0
  225. revengai/models/function_analysis_threat_score_data.py +99 -0
  226. revengai/models/function_batch_ann.py +106 -0
  227. revengai/models/function_block_destination_response.py +96 -0
  228. revengai/models/function_block_response.py +110 -0
  229. revengai/models/function_blocks_response.py +122 -0
  230. revengai/models/function_boundary.py +91 -0
  231. revengai/models/function_box_plot_confidence.py +93 -0
  232. revengai/models/function_capability_response.py +87 -0
  233. revengai/models/function_comment_create_request.py +93 -0
  234. revengai/models/function_data_types.py +107 -0
  235. revengai/models/function_data_types_list.py +99 -0
  236. revengai/models/function_data_types_list_item.py +109 -0
  237. revengai/models/function_data_types_params.py +87 -0
  238. revengai/models/function_data_types_status.py +91 -0
  239. revengai/models/function_dump.py +106 -0
  240. revengai/models/function_header.py +113 -0
  241. revengai/models/function_info_input.py +106 -0
  242. revengai/models/function_info_input_func_deps_inner.py +164 -0
  243. revengai/models/function_info_output.py +106 -0
  244. revengai/models/function_list.py +87 -0
  245. revengai/models/function_list_basic.py +99 -0
  246. revengai/models/function_local_variable_response.py +95 -0
  247. revengai/models/function_mapping_full.py +248 -0
  248. revengai/models/function_name_confidence_body.py +98 -0
  249. revengai/models/function_name_history.py +97 -0
  250. revengai/models/function_name_input.py +89 -0
  251. revengai/models/function_param_mapping.py +89 -0
  252. revengai/models/function_param_response.py +95 -0
  253. revengai/models/function_params.py +95 -0
  254. revengai/models/function_rename.py +94 -0
  255. revengai/models/function_rename_map.py +96 -0
  256. revengai/models/function_search_response.py +95 -0
  257. revengai/models/function_search_result.py +100 -0
  258. revengai/models/function_string.py +89 -0
  259. revengai/models/function_strings_response.py +97 -0
  260. revengai/models/function_task_response.py +95 -0
  261. revengai/models/function_task_status.py +40 -0
  262. revengai/models/function_threat_score.py +100 -0
  263. revengai/models/function_type_input.py +128 -0
  264. revengai/models/function_type_output.py +128 -0
  265. revengai/models/functions_detail_response.py +122 -0
  266. revengai/models/functions_list_rename.py +95 -0
  267. revengai/models/generate_function_data_types.py +95 -0
  268. revengai/models/generation_status_list.py +99 -0
  269. revengai/models/get_ai_decompilation_rating_response.py +88 -0
  270. revengai/models/get_ai_decompilation_task.py +153 -0
  271. revengai/models/get_public_user_response.py +89 -0
  272. revengai/models/get_user_response.py +100 -0
  273. revengai/models/global_variable.py +102 -0
  274. revengai/models/icon_model.py +92 -0
  275. revengai/models/import_model.py +89 -0
  276. revengai/models/inverse_function_map_item.py +100 -0
  277. revengai/models/inverse_string_map_item.py +94 -0
  278. revengai/models/inverse_value.py +87 -0
  279. revengai/models/isa.py +38 -0
  280. revengai/models/isa_options.py +39 -0
  281. revengai/models/list_collection_results.py +95 -0
  282. revengai/models/login_request.py +90 -0
  283. revengai/models/login_response.py +87 -0
  284. revengai/models/logs.py +87 -0
  285. revengai/models/meta_model.py +96 -0
  286. revengai/models/model_list.py +99 -0
  287. revengai/models/model_name.py +43 -0
  288. revengai/models/models_response.py +87 -0
  289. revengai/models/nearest_neighbor.py +106 -0
  290. revengai/models/network_overview_dns.py +99 -0
  291. revengai/models/network_overview_dns_answer.py +89 -0
  292. revengai/models/network_overview_metadata.py +100 -0
  293. revengai/models/network_overview_response.py +105 -0
  294. revengai/models/order.py +37 -0
  295. revengai/models/origin.py +43 -0
  296. revengai/models/pagination_model.py +91 -0
  297. revengai/models/params.py +104 -0
  298. revengai/models/pdb_debug_model.py +95 -0
  299. revengai/models/pe_model.py +216 -0
  300. revengai/models/platform.py +37 -0
  301. revengai/models/platform_options.py +40 -0
  302. revengai/models/process.py +104 -0
  303. revengai/models/process_dump.py +97 -0
  304. revengai/models/process_dump_metadata.py +91 -0
  305. revengai/models/process_dumps.py +93 -0
  306. revengai/models/process_dumps_data.py +97 -0
  307. revengai/models/process_registry.py +106 -0
  308. revengai/models/process_tree.py +97 -0
  309. revengai/models/queued_security_checks_task_response.py +87 -0
  310. revengai/models/quick_search.py +99 -0
  311. revengai/models/re_analysis_form.py +102 -0
  312. revengai/models/recent.py +95 -0
  313. revengai/models/recent_analysis.py +99 -0
  314. revengai/models/recent_analysis_form.py +92 -0
  315. revengai/models/registry.py +103 -0
  316. revengai/models/relative_binary_response.py +91 -0
  317. revengai/models/rename.py +99 -0
  318. revengai/models/sandbox_options.py +89 -0
  319. revengai/models/sbom.py +97 -0
  320. revengai/models/sbom_package.py +89 -0
  321. revengai/models/scope.py +39 -0
  322. revengai/models/scrape_third_party_config.py +87 -0
  323. revengai/models/search_binary_ids.py +138 -0
  324. revengai/models/search_form.py +97 -0
  325. revengai/models/search_function_ids.py +138 -0
  326. revengai/models/search_query.py +99 -0
  327. revengai/models/section_model.py +97 -0
  328. revengai/models/security_checks_response.py +99 -0
  329. revengai/models/security_checks_result.py +104 -0
  330. revengai/models/security_model.py +107 -0
  331. revengai/models/severity_type.py +41 -0
  332. revengai/models/similar_functions_response.py +101 -0
  333. revengai/models/single_code_certificate_model.py +97 -0
  334. revengai/models/single_code_signature_model.py +97 -0
  335. revengai/models/single_pdb_entry_model.py +91 -0
  336. revengai/models/single_section_model.py +99 -0
  337. revengai/models/stack_variable.py +102 -0
  338. revengai/models/status_input.py +41 -0
  339. revengai/models/status_output.py +89 -0
  340. revengai/models/string_functions.py +97 -0
  341. revengai/models/structure.py +118 -0
  342. revengai/models/structure_member.py +100 -0
  343. revengai/models/symbols.py +97 -0
  344. revengai/models/symbols_info.py +103 -0
  345. revengai/models/tag_confidence_body.py +96 -0
  346. revengai/models/tag_input.py +87 -0
  347. revengai/models/tag_origin_box_plot_confidence.py +97 -0
  348. revengai/models/tag_output.py +89 -0
  349. revengai/models/tag_response.py +89 -0
  350. revengai/models/tag_search_response.py +95 -0
  351. revengai/models/tag_search_result.py +89 -0
  352. revengai/models/tags.py +90 -0
  353. revengai/models/task_response.py +95 -0
  354. revengai/models/task_status.py +40 -0
  355. revengai/models/threat_score_function_body.py +88 -0
  356. revengai/models/timestamp_model.py +91 -0
  357. revengai/models/ttps.py +93 -0
  358. revengai/models/ttps_attack.py +89 -0
  359. revengai/models/ttps_data.py +97 -0
  360. revengai/models/ttps_element.py +109 -0
  361. revengai/models/ttps_occurance.py +89 -0
  362. revengai/models/type_definition.py +98 -0
  363. revengai/models/update_function_data_types.py +93 -0
  364. revengai/models/upload_success.py +106 -0
  365. revengai/models/upsert_ai_decomplation_rating_request.py +88 -0
  366. revengai/models/user_activity_response.py +98 -0
  367. revengai/models/user_boundaries.py +91 -0
  368. revengai/models/vulnerabilities.py +95 -0
  369. revengai/models/vulnerability.py +114 -0
  370. revengai/models/vulnerability_type.py +41 -0
  371. revengai/models/workspace.py +38 -0
  372. revengai/py.typed +0 -0
  373. revengai/rest.py +258 -0
  374. revengai/test/__init__.py +0 -0
  375. revengai/test/test_addr.py +50 -0
  376. revengai/test/test_ai_decompilation_rating.py +33 -0
  377. revengai/test/test_analyse_created.py +53 -0
  378. revengai/test/test_analyses_comments_api.py +59 -0
  379. revengai/test/test_analyses_core_api.py +136 -0
  380. revengai/test/test_analyses_dynamic_execution_api.py +80 -0
  381. revengai/test/test_analyses_results_metadata_api.py +143 -0
  382. revengai/test/test_analyses_security_checks_api.py +52 -0
  383. revengai/test/test_analysis_access_info.py +54 -0
  384. revengai/test/test_analysis_config.py +60 -0
  385. revengai/test/test_analysis_create_request.py +83 -0
  386. revengai/test/test_analysis_create_response.py +54 -0
  387. revengai/test/test_analysis_detail_response.py +83 -0
  388. revengai/test/test_analysis_form.py +81 -0
  389. revengai/test/test_analysis_functions.py +78 -0
  390. revengai/test/test_analysis_record.py +74 -0
  391. revengai/test/test_analysis_scope.py +33 -0
  392. revengai/test/test_analysis_status.py +53 -0
  393. revengai/test/test_analysis_strings_response.py +70 -0
  394. revengai/test/test_analysis_threat_score_data.py +64 -0
  395. revengai/test/test_analysis_update_request.py +52 -0
  396. revengai/test/test_analysis_update_tags_request.py +56 -0
  397. revengai/test/test_analysis_update_tags_response.py +60 -0
  398. revengai/test/test_ann_function.py +61 -0
  399. revengai/test/test_ann_input.py +56 -0
  400. revengai/test/test_app_api_rest_v1_analyse_schema_model_name.py +33 -0
  401. revengai/test/test_app_api_rest_v1_analyse_schema_status.py +33 -0
  402. revengai/test/test_app_api_rest_v1_analyse_schema_symbols.py +57 -0
  403. revengai/test/test_app_api_rest_v1_analysis_info_responses_logs.py +53 -0
  404. revengai/test/test_app_api_rest_v1_analysis_info_schema_function_rename.py +52 -0
  405. revengai/test/test_app_api_rest_v1_ann_schema_ann_function.py +74 -0
  406. revengai/test/test_app_api_rest_v2_analyses_enums_dynamic_execution_status.py +33 -0
  407. revengai/test/test_app_api_rest_v2_analyses_enums_model_name.py +33 -0
  408. revengai/test/test_app_api_rest_v2_analyses_enums_order_by.py +33 -0
  409. revengai/test/test_app_api_rest_v2_analyses_enums_status.py +33 -0
  410. revengai/test/test_app_api_rest_v2_analyses_responses_analysis_tags.py +74 -0
  411. revengai/test/test_app_api_rest_v2_analyses_responses_logs.py +52 -0
  412. revengai/test/test_app_api_rest_v2_analyses_responses_tag_item.py +55 -0
  413. revengai/test/test_app_api_rest_v2_analyses_schemas_symbols.py +57 -0
  414. revengai/test/test_app_api_rest_v2_collections_enums_order_by.py +33 -0
  415. revengai/test/test_app_api_rest_v2_functions_rename_schema_function_rename.py +52 -0
  416. revengai/test/test_app_api_rest_v2_functions_responses_function.py +54 -0
  417. revengai/test/test_app_api_rest_v2_functions_types_function.py +72 -0
  418. revengai/test/test_app_api_rest_v2_info_responses_analysis_tags.py +70 -0
  419. revengai/test/test_app_api_rest_v2_similarity_schema_ann_function.py +61 -0
  420. revengai/test/test_app_core_responses_base_base_response_analysis_tags1.py +73 -0
  421. revengai/test/test_app_core_responses_base_base_response_analysis_tags2.py +75 -0
  422. revengai/test/test_app_services_binary_ann_schema_tag_item.py +52 -0
  423. revengai/test/test_app_services_dynamic_execution_schemas_dynamic_execution_status.py +52 -0
  424. revengai/test/test_argument.py +59 -0
  425. revengai/test/test_authentication_users_api.py +66 -0
  426. revengai/test/test_base_response.py +63 -0
  427. revengai/test/test_base_response_analysis_create_response.py +65 -0
  428. revengai/test/test_base_response_analysis_detail_response.py +81 -0
  429. revengai/test/test_base_response_analysis_functions.py +77 -0
  430. revengai/test/test_base_response_analysis_strings_response.py +73 -0
  431. revengai/test/test_base_response_analysis_threat_score_data.py +70 -0
  432. revengai/test/test_base_response_analysis_update_tags_response.py +68 -0
  433. revengai/test/test_base_response_basic.py +74 -0
  434. revengai/test/test_base_response_binary_additional_response.py +259 -0
  435. revengai/test/test_base_response_binary_ann_list_response.py +83 -0
  436. revengai/test/test_base_response_binary_details_response.py +83 -0
  437. revengai/test/test_base_response_binary_externals_response.py +72 -0
  438. revengai/test/test_base_response_binary_search_response.py +77 -0
  439. revengai/test/test_base_response_block_comments_generation_for_function_response.py +64 -0
  440. revengai/test/test_base_response_block_comments_overview_generation_response.py +63 -0
  441. revengai/test/test_base_response_bool.py +63 -0
  442. revengai/test/test_base_response_box_plot_confidence.py +70 -0
  443. revengai/test/test_base_response_callees_caller_functions_response.py +82 -0
  444. revengai/test/test_base_response_capabilities.py +71 -0
  445. revengai/test/test_base_response_check_security_checks_task_response.py +64 -0
  446. revengai/test/test_base_response_child_binaries_response.py +73 -0
  447. revengai/test/test_base_response_collection_binaries_update_response.py +72 -0
  448. revengai/test/test_base_response_collection_response.py +78 -0
  449. revengai/test/test_base_response_collection_search_response.py +80 -0
  450. revengai/test/test_base_response_collection_tags_update_response.py +66 -0
  451. revengai/test/test_base_response_comment_response.py +71 -0
  452. revengai/test/test_base_response_communities.py +77 -0
  453. revengai/test/test_base_response_created.py +66 -0
  454. revengai/test/test_base_response_decompilation_response.py +66 -0
  455. revengai/test/test_base_response_dict.py +65 -0
  456. revengai/test/test_base_response_dynamic_execution_status.py +64 -0
  457. revengai/test/test_base_response_external_response.py +68 -0
  458. revengai/test/test_base_response_function_analysis_threat_score_data.py +70 -0
  459. revengai/test/test_base_response_function_blocks_response.py +96 -0
  460. revengai/test/test_base_response_function_capability_response.py +66 -0
  461. revengai/test/test_base_response_function_data_types.py +99 -0
  462. revengai/test/test_base_response_function_data_types_list.py +105 -0
  463. revengai/test/test_base_response_function_search_response.py +73 -0
  464. revengai/test/test_base_response_function_strings_response.py +69 -0
  465. revengai/test/test_base_response_function_task_response.py +65 -0
  466. revengai/test/test_base_response_function_threat_score.py +73 -0
  467. revengai/test/test_base_response_functions_detail_response.py +78 -0
  468. revengai/test/test_base_response_generate_function_data_types.py +74 -0
  469. revengai/test/test_base_response_generation_status_list.py +71 -0
  470. revengai/test/test_base_response_get_ai_decompilation_rating_response.py +64 -0
  471. revengai/test/test_base_response_get_ai_decompilation_task.py +118 -0
  472. revengai/test/test_base_response_get_public_user_response.py +65 -0
  473. revengai/test/test_base_response_get_user_response.py +70 -0
  474. revengai/test/test_base_response_list_collection_results.py +79 -0
  475. revengai/test/test_base_response_list_comment_response.py +73 -0
  476. revengai/test/test_base_response_list_die_match.py +69 -0
  477. revengai/test/test_base_response_list_function_box_plot_confidence.py +74 -0
  478. revengai/test/test_base_response_list_function_name_history.py +71 -0
  479. revengai/test/test_base_response_list_sbom.py +73 -0
  480. revengai/test/test_base_response_list_similar_functions_response.py +77 -0
  481. revengai/test/test_base_response_list_tag_origin_box_plot_confidence.py +76 -0
  482. revengai/test/test_base_response_list_user_activity_response.py +71 -0
  483. revengai/test/test_base_response_login_response.py +64 -0
  484. revengai/test/test_base_response_logs.py +64 -0
  485. revengai/test/test_base_response_models_response.py +66 -0
  486. revengai/test/test_base_response_nearest_neighbor_analysis.py +75 -0
  487. revengai/test/test_base_response_network_overview_response.py +80 -0
  488. revengai/test/test_base_response_params.py +70 -0
  489. revengai/test/test_base_response_process_dumps.py +76 -0
  490. revengai/test/test_base_response_process_registry.py +73 -0
  491. revengai/test/test_base_response_process_tree.py +78 -0
  492. revengai/test/test_base_response_queued_security_checks_task_response.py +64 -0
  493. revengai/test/test_base_response_recent.py +79 -0
  494. revengai/test/test_base_response_security_checks_response.py +76 -0
  495. revengai/test/test_base_response_status.py +65 -0
  496. revengai/test/test_base_response_str.py +63 -0
  497. revengai/test/test_base_response_symbols_info.py +68 -0
  498. revengai/test/test_base_response_tag_search_response.py +68 -0
  499. revengai/test/test_base_response_task_response.py +65 -0
  500. revengai/test/test_base_response_ttps.py +81 -0
  501. revengai/test/test_base_response_vulnerabilities.py +77 -0
  502. revengai/test/test_basic.py +72 -0
  503. revengai/test/test_batch_ann.py +55 -0
  504. revengai/test/test_batch_function_rename.py +60 -0
  505. revengai/test/test_batch_function_rename_record.py +54 -0
  506. revengai/test/test_binaries_api.py +73 -0
  507. revengai/test/test_binary_additional_details_data_response.py +256 -0
  508. revengai/test/test_binary_additional_response.py +441 -0
  509. revengai/test/test_binary_ann_form.py +58 -0
  510. revengai/test/test_binary_ann_list_response.py +90 -0
  511. revengai/test/test_binary_config.py +53 -0
  512. revengai/test/test_binary_details_response.py +90 -0
  513. revengai/test/test_binary_externals_response.py +68 -0
  514. revengai/test/test_binary_search_response.py +78 -0
  515. revengai/test/test_binary_search_result.py +72 -0
  516. revengai/test/test_binary_task_status.py +33 -0
  517. revengai/test/test_block.py +52 -0
  518. revengai/test/test_block_comments_generation_for_function_response.py +52 -0
  519. revengai/test/test_boundary.py +56 -0
  520. revengai/test/test_box_plot_confidence.py +64 -0
  521. revengai/test/test_callee_function_info.py +61 -0
  522. revengai/test/test_callees_caller_functions_response.py +87 -0
  523. revengai/test/test_caller_function_info.py +61 -0
  524. revengai/test/test_capabilities.py +66 -0
  525. revengai/test/test_capability.py +60 -0
  526. revengai/test/test_check_security_checks_task_response.py +52 -0
  527. revengai/test/test_child_binaries_response.py +66 -0
  528. revengai/test/test_code_signature_model.py +80 -0
  529. revengai/test/test_collection_binaries_update_request.py +56 -0
  530. revengai/test/test_collection_binaries_update_response.py +68 -0
  531. revengai/test/test_collection_binary_response.py +62 -0
  532. revengai/test/test_collection_count.py +53 -0
  533. revengai/test/test_collection_create_request.py +63 -0
  534. revengai/test/test_collection_list_item.py +72 -0
  535. revengai/test/test_collection_response.py +73 -0
  536. revengai/test/test_collection_response_binaries_inner.py +62 -0
  537. revengai/test/test_collection_scope.py +33 -0
  538. revengai/test/test_collection_search_response.py +84 -0
  539. revengai/test/test_collection_search_result.py +73 -0
  540. revengai/test/test_collection_tags_update_request.py +56 -0
  541. revengai/test/test_collection_tags_update_response.py +56 -0
  542. revengai/test/test_collection_update_request.py +53 -0
  543. revengai/test/test_collections_api.py +80 -0
  544. revengai/test/test_collections_count_form.py +52 -0
  545. revengai/test/test_comment_base.py +52 -0
  546. revengai/test/test_comment_response.py +65 -0
  547. revengai/test/test_comment_update_request.py +52 -0
  548. revengai/test/test_communities.py +78 -0
  549. revengai/test/test_community_match_percentages.py +58 -0
  550. revengai/test/test_confidence_api.py +59 -0
  551. revengai/test/test_confidence_type.py +33 -0
  552. revengai/test/test_config_settings.py +70 -0
  553. revengai/test/test_context.py +54 -0
  554. revengai/test/test_create_ai_decompilation_request.py +52 -0
  555. revengai/test/test_created.py +56 -0
  556. revengai/test/test_decompilation_comment_context.py +54 -0
  557. revengai/test/test_decompilation_response.py +56 -0
  558. revengai/test/test_deleted_analysis.py +52 -0
  559. revengai/test/test_die_match.py +58 -0
  560. revengai/test/test_dynamic_execution_status_input.py +33 -0
  561. revengai/test/test_elf_dynamic_entry.py +54 -0
  562. revengai/test/test_elf_import_model.py +58 -0
  563. revengai/test/test_elf_model.py +236 -0
  564. revengai/test/test_elf_relocation.py +64 -0
  565. revengai/test/test_elf_section.py +70 -0
  566. revengai/test/test_elf_security.py +60 -0
  567. revengai/test/test_elf_segment.py +68 -0
  568. revengai/test/test_elf_symbol.py +64 -0
  569. revengai/test/test_entrypoint_model.py +54 -0
  570. revengai/test/test_enumeration.py +60 -0
  571. revengai/test/test_error_model.py +54 -0
  572. revengai/test/test_export_model.py +62 -0
  573. revengai/test/test_exported_binary_ann_result.py +79 -0
  574. revengai/test/test_external_response.py +60 -0
  575. revengai/test/test_external_sources_api.py +73 -0
  576. revengai/test/test_file_format.py +33 -0
  577. revengai/test/test_file_hashes.py +66 -0
  578. revengai/test/test_file_metadata.py +74 -0
  579. revengai/test/test_file_options.py +33 -0
  580. revengai/test/test_filters.py +33 -0
  581. revengai/test/test_firmware_api.py +45 -0
  582. revengai/test/test_function_analysis_threat_score_data.py +64 -0
  583. revengai/test/test_function_batch_ann.py +55 -0
  584. revengai/test/test_function_block_destination_response.py +56 -0
  585. revengai/test/test_function_block_response.py +75 -0
  586. revengai/test/test_function_blocks_response.py +116 -0
  587. revengai/test/test_function_boundary.py +56 -0
  588. revengai/test/test_function_box_plot_confidence.py +68 -0
  589. revengai/test/test_function_capability_response.py +56 -0
  590. revengai/test/test_function_comment_create_request.py +55 -0
  591. revengai/test/test_function_data_types.py +88 -0
  592. revengai/test/test_function_data_types_list.py +132 -0
  593. revengai/test/test_function_data_types_list_item.py +90 -0
  594. revengai/test/test_function_data_types_params.py +56 -0
  595. revengai/test/test_function_data_types_status.py +56 -0
  596. revengai/test/test_function_dump.py +55 -0
  597. revengai/test/test_function_header.py +73 -0
  598. revengai/test/test_function_info_input.py +85 -0
  599. revengai/test/test_function_info_input_func_deps_inner.py +66 -0
  600. revengai/test/test_function_info_output.py +85 -0
  601. revengai/test/test_function_list.py +56 -0
  602. revengai/test/test_function_list_basic.py +53 -0
  603. revengai/test/test_function_local_variable_response.py +60 -0
  604. revengai/test/test_function_mapping_full.py +148 -0
  605. revengai/test/test_function_name_confidence_body.py +56 -0
  606. revengai/test/test_function_name_history.py +62 -0
  607. revengai/test/test_function_name_input.py +54 -0
  608. revengai/test/test_function_param_mapping.py +54 -0
  609. revengai/test/test_function_param_response.py +60 -0
  610. revengai/test/test_function_params.py +60 -0
  611. revengai/test/test_function_rename.py +52 -0
  612. revengai/test/test_function_rename_map.py +55 -0
  613. revengai/test/test_function_search_response.py +70 -0
  614. revengai/test/test_function_search_result.py +64 -0
  615. revengai/test/test_function_string.py +54 -0
  616. revengai/test/test_function_strings_response.py +62 -0
  617. revengai/test/test_function_task_response.py +52 -0
  618. revengai/test/test_function_task_status.py +33 -0
  619. revengai/test/test_function_threat_score.py +70 -0
  620. revengai/test/test_function_type_input.py +95 -0
  621. revengai/test/test_function_type_output.py +95 -0
  622. revengai/test/test_functions_ai_decompilation_api.py +108 -0
  623. revengai/test/test_functions_block_comments_api.py +73 -0
  624. revengai/test/test_functions_core_api.py +87 -0
  625. revengai/test/test_functions_data_types_api.py +101 -0
  626. revengai/test/test_functions_decompilation_api.py +80 -0
  627. revengai/test/test_functions_detail_response.py +74 -0
  628. revengai/test/test_functions_list_rename.py +62 -0
  629. revengai/test/test_functions_renaming_history_api.py +59 -0
  630. revengai/test/test_functions_threat_score_api.py +59 -0
  631. revengai/test/test_generate_function_data_types.py +72 -0
  632. revengai/test/test_generation_status_list.py +64 -0
  633. revengai/test/test_get_ai_decompilation_rating_response.py +52 -0
  634. revengai/test/test_get_ai_decompilation_task.py +157 -0
  635. revengai/test/test_get_public_user_response.py +54 -0
  636. revengai/test/test_get_user_response.py +64 -0
  637. revengai/test/test_global_variable.py +60 -0
  638. revengai/test/test_icon_model.py +52 -0
  639. revengai/test/test_import_model.py +66 -0
  640. revengai/test/test_inverse_function_map_item.py +55 -0
  641. revengai/test/test_inverse_string_map_item.py +54 -0
  642. revengai/test/test_inverse_value.py +52 -0
  643. revengai/test/test_isa.py +33 -0
  644. revengai/test/test_isa_options.py +33 -0
  645. revengai/test/test_list_collection_results.py +82 -0
  646. revengai/test/test_login_request.py +54 -0
  647. revengai/test/test_login_response.py +52 -0
  648. revengai/test/test_logs.py +52 -0
  649. revengai/test/test_meta_model.py +54 -0
  650. revengai/test/test_model_list.py +53 -0
  651. revengai/test/test_model_name.py +33 -0
  652. revengai/test/test_models_api.py +38 -0
  653. revengai/test/test_models_response.py +56 -0
  654. revengai/test/test_nearest_neighbor.py +66 -0
  655. revengai/test/test_network_overview_dns.py +64 -0
  656. revengai/test/test_network_overview_dns_answer.py +54 -0
  657. revengai/test/test_network_overview_metadata.py +58 -0
  658. revengai/test/test_network_overview_response.py +84 -0
  659. revengai/test/test_order.py +33 -0
  660. revengai/test/test_origin.py +33 -0
  661. revengai/test/test_pagination_model.py +56 -0
  662. revengai/test/test_params.py +64 -0
  663. revengai/test/test_pdb_debug_model.py +62 -0
  664. revengai/test/test_pe_model.py +220 -0
  665. revengai/test/test_platform.py +33 -0
  666. revengai/test/test_platform_options.py +33 -0
  667. revengai/test/test_process.py +72 -0
  668. revengai/test/test_process_dump.py +64 -0
  669. revengai/test/test_process_dump_metadata.py +56 -0
  670. revengai/test/test_process_dumps.py +76 -0
  671. revengai/test/test_process_dumps_data.py +72 -0
  672. revengai/test/test_process_registry.py +70 -0
  673. revengai/test/test_process_tree.py +80 -0
  674. revengai/test/test_queued_security_checks_task_response.py +52 -0
  675. revengai/test/test_quick_search.py +53 -0
  676. revengai/test/test_re_analysis_form.py +58 -0
  677. revengai/test/test_recent.py +82 -0
  678. revengai/test/test_recent_analysis.py +53 -0
  679. revengai/test/test_recent_analysis_form.py +53 -0
  680. revengai/test/test_registry.py +58 -0
  681. revengai/test/test_relative_binary_response.py +56 -0
  682. revengai/test/test_rename.py +53 -0
  683. revengai/test/test_sandbox_options.py +52 -0
  684. revengai/test/test_sbom.py +66 -0
  685. revengai/test/test_sbom_package.py +54 -0
  686. revengai/test/test_scope.py +33 -0
  687. revengai/test/test_scrape_third_party_config.py +51 -0
  688. revengai/test/test_search_api.py +59 -0
  689. revengai/test/test_search_binary_ids.py +50 -0
  690. revengai/test/test_search_form.py +56 -0
  691. revengai/test/test_search_function_ids.py +50 -0
  692. revengai/test/test_search_query.py +52 -0
  693. revengai/test/test_section_model.py +72 -0
  694. revengai/test/test_security_checks_response.py +76 -0
  695. revengai/test/test_security_checks_result.py +66 -0
  696. revengai/test/test_security_model.py +72 -0
  697. revengai/test/test_severity_type.py +33 -0
  698. revengai/test/test_similar_functions_response.py +74 -0
  699. revengai/test/test_single_code_certificate_model.py +62 -0
  700. revengai/test/test_single_code_signature_model.py +70 -0
  701. revengai/test/test_single_pdb_entry_model.py +56 -0
  702. revengai/test/test_single_section_model.py +64 -0
  703. revengai/test/test_stack_variable.py +61 -0
  704. revengai/test/test_status_input.py +33 -0
  705. revengai/test/test_status_output.py +54 -0
  706. revengai/test/test_string_functions.py +62 -0
  707. revengai/test/test_structure.py +71 -0
  708. revengai/test/test_structure_member.py +59 -0
  709. revengai/test/test_symbols.py +57 -0
  710. revengai/test/test_symbols_info.py +55 -0
  711. revengai/test/test_tag_confidence_body.py +60 -0
  712. revengai/test/test_tag_input.py +52 -0
  713. revengai/test/test_tag_origin_box_plot_confidence.py +72 -0
  714. revengai/test/test_tag_output.py +54 -0
  715. revengai/test/test_tag_response.py +54 -0
  716. revengai/test/test_tag_search_response.py +60 -0
  717. revengai/test/test_tag_search_result.py +54 -0
  718. revengai/test/test_tags.py +54 -0
  719. revengai/test/test_task_response.py +52 -0
  720. revengai/test/test_task_status.py +33 -0
  721. revengai/test/test_threat_score_function_body.py +53 -0
  722. revengai/test/test_timestamp_model.py +56 -0
  723. revengai/test/test_ttps.py +86 -0
  724. revengai/test/test_ttps_attack.py +54 -0
  725. revengai/test/test_ttps_data.py +82 -0
  726. revengai/test/test_ttps_element.py +74 -0
  727. revengai/test/test_ttps_occurance.py +54 -0
  728. revengai/test/test_type_definition.py +56 -0
  729. revengai/test/test_update_function_data_types.py +118 -0
  730. revengai/test/test_upload_success.py +54 -0
  731. revengai/test/test_upsert_ai_decomplation_rating_request.py +52 -0
  732. revengai/test/test_user_activity_response.py +62 -0
  733. revengai/test/test_user_boundaries.py +56 -0
  734. revengai/test/test_v1_api.py +185 -0
  735. revengai/test/test_vulnerabilities.py +78 -0
  736. revengai/test/test_vulnerability.py +71 -0
  737. revengai/test/test_vulnerability_type.py +33 -0
  738. revengai/test/test_workspace.py +33 -0
  739. revengai-1.1.1.dist-info/METADATA +470 -0
  740. revengai-1.1.1.dist-info/RECORD +741 -0
  741. revengai-1.1.1.dist-info/WHEEL +4 -0
@@ -0,0 +1,1260 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ RevEng.AI API
5
+
6
+ RevEng.AI is Similarity Search Engine for executable binaries
7
+
8
+ The version of the OpenAPI document: 0.0.1
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ import warnings
15
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
16
+ from typing import Any, Dict, List, Optional, Tuple, Union
17
+ from typing_extensions import Annotated
18
+
19
+ from pydantic import Field, StrictInt, StrictStr
20
+ from typing import Optional
21
+ from typing_extensions import Annotated
22
+ from revengai.models.base_response_bool import BaseResponseBool
23
+ from revengai.models.base_response_comment_response import BaseResponseCommentResponse
24
+ from revengai.models.base_response_list_comment_response import BaseResponseListCommentResponse
25
+ from revengai.models.comment_base import CommentBase
26
+ from revengai.models.comment_update_request import CommentUpdateRequest
27
+
28
+ from revengai.api_client import ApiClient, RequestSerialized
29
+ from revengai.api_response import ApiResponse
30
+ from revengai.rest import RESTResponseType
31
+
32
+
33
+ class AnalysesCommentsApi:
34
+ """NOTE: This class is auto generated by OpenAPI Generator
35
+ Ref: https://openapi-generator.tech
36
+
37
+ Do not edit the class manually.
38
+ """
39
+
40
+ def __init__(self, api_client=None) -> None:
41
+ if api_client is None:
42
+ api_client = ApiClient.get_default()
43
+ self.api_client = api_client
44
+
45
+
46
+ @validate_call
47
+ def create_analysis_comment(
48
+ self,
49
+ analysis_id: StrictInt,
50
+ comment_base: CommentBase,
51
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
52
+ _request_timeout: Union[
53
+ None,
54
+ Annotated[StrictFloat, Field(gt=0)],
55
+ Tuple[
56
+ Annotated[StrictFloat, Field(gt=0)],
57
+ Annotated[StrictFloat, Field(gt=0)]
58
+ ]
59
+ ] = None,
60
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
61
+ _content_type: Optional[StrictStr] = None,
62
+ _headers: Optional[Dict[StrictStr, Any]] = None,
63
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
64
+ ) -> BaseResponseCommentResponse:
65
+ """Create a comment for this analysis
66
+
67
+ Creates a comment associated with a specified analysis).
68
+
69
+ :param analysis_id: (required)
70
+ :type analysis_id: int
71
+ :param comment_base: (required)
72
+ :type comment_base: CommentBase
73
+ :param authorization: API Key bearer token
74
+ :type authorization: str
75
+ :param _request_timeout: timeout setting for this request. If one
76
+ number provided, it will be total request
77
+ timeout. It can also be a pair (tuple) of
78
+ (connection, read) timeouts.
79
+ :type _request_timeout: int, tuple(int, int), optional
80
+ :param _request_auth: set to override the auth_settings for an a single
81
+ request; this effectively ignores the
82
+ authentication in the spec for a single request.
83
+ :type _request_auth: dict, optional
84
+ :param _content_type: force content-type for the request.
85
+ :type _content_type: str, Optional
86
+ :param _headers: set to override the headers for a single
87
+ request; this effectively ignores the headers
88
+ in the spec for a single request.
89
+ :type _headers: dict, optional
90
+ :param _host_index: set to override the host_index for a single
91
+ request; this effectively ignores the host_index
92
+ in the spec for a single request.
93
+ :type _host_index: int, optional
94
+ :return: Returns the result object.
95
+ """ # noqa: E501
96
+
97
+ _param = self._create_analysis_comment_serialize(
98
+ analysis_id=analysis_id,
99
+ comment_base=comment_base,
100
+ authorization=authorization,
101
+ _request_auth=_request_auth,
102
+ _content_type=_content_type,
103
+ _headers=_headers,
104
+ _host_index=_host_index
105
+ )
106
+
107
+ _response_types_map: Dict[str, Optional[str]] = {
108
+ '201': "BaseResponseCommentResponse",
109
+ '422': "BaseResponse",
110
+ '400': "BaseResponse",
111
+ }
112
+ response_data = self.api_client.call_api(
113
+ *_param,
114
+ _request_timeout=_request_timeout
115
+ )
116
+ response_data.read()
117
+ return self.api_client.response_deserialize(
118
+ response_data=response_data,
119
+ response_types_map=_response_types_map,
120
+ ).data
121
+
122
+
123
+ @validate_call
124
+ def create_analysis_comment_with_http_info(
125
+ self,
126
+ analysis_id: StrictInt,
127
+ comment_base: CommentBase,
128
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
129
+ _request_timeout: Union[
130
+ None,
131
+ Annotated[StrictFloat, Field(gt=0)],
132
+ Tuple[
133
+ Annotated[StrictFloat, Field(gt=0)],
134
+ Annotated[StrictFloat, Field(gt=0)]
135
+ ]
136
+ ] = None,
137
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
138
+ _content_type: Optional[StrictStr] = None,
139
+ _headers: Optional[Dict[StrictStr, Any]] = None,
140
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
141
+ ) -> ApiResponse[BaseResponseCommentResponse]:
142
+ """Create a comment for this analysis
143
+
144
+ Creates a comment associated with a specified analysis).
145
+
146
+ :param analysis_id: (required)
147
+ :type analysis_id: int
148
+ :param comment_base: (required)
149
+ :type comment_base: CommentBase
150
+ :param authorization: API Key bearer token
151
+ :type authorization: str
152
+ :param _request_timeout: timeout setting for this request. If one
153
+ number provided, it will be total request
154
+ timeout. It can also be a pair (tuple) of
155
+ (connection, read) timeouts.
156
+ :type _request_timeout: int, tuple(int, int), optional
157
+ :param _request_auth: set to override the auth_settings for an a single
158
+ request; this effectively ignores the
159
+ authentication in the spec for a single request.
160
+ :type _request_auth: dict, optional
161
+ :param _content_type: force content-type for the request.
162
+ :type _content_type: str, Optional
163
+ :param _headers: set to override the headers for a single
164
+ request; this effectively ignores the headers
165
+ in the spec for a single request.
166
+ :type _headers: dict, optional
167
+ :param _host_index: set to override the host_index for a single
168
+ request; this effectively ignores the host_index
169
+ in the spec for a single request.
170
+ :type _host_index: int, optional
171
+ :return: Returns the result object.
172
+ """ # noqa: E501
173
+
174
+ _param = self._create_analysis_comment_serialize(
175
+ analysis_id=analysis_id,
176
+ comment_base=comment_base,
177
+ authorization=authorization,
178
+ _request_auth=_request_auth,
179
+ _content_type=_content_type,
180
+ _headers=_headers,
181
+ _host_index=_host_index
182
+ )
183
+
184
+ _response_types_map: Dict[str, Optional[str]] = {
185
+ '201': "BaseResponseCommentResponse",
186
+ '422': "BaseResponse",
187
+ '400': "BaseResponse",
188
+ }
189
+ response_data = self.api_client.call_api(
190
+ *_param,
191
+ _request_timeout=_request_timeout
192
+ )
193
+ response_data.read()
194
+ return self.api_client.response_deserialize(
195
+ response_data=response_data,
196
+ response_types_map=_response_types_map,
197
+ )
198
+
199
+
200
+ @validate_call
201
+ def create_analysis_comment_without_preload_content(
202
+ self,
203
+ analysis_id: StrictInt,
204
+ comment_base: CommentBase,
205
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
206
+ _request_timeout: Union[
207
+ None,
208
+ Annotated[StrictFloat, Field(gt=0)],
209
+ Tuple[
210
+ Annotated[StrictFloat, Field(gt=0)],
211
+ Annotated[StrictFloat, Field(gt=0)]
212
+ ]
213
+ ] = None,
214
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
215
+ _content_type: Optional[StrictStr] = None,
216
+ _headers: Optional[Dict[StrictStr, Any]] = None,
217
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
218
+ ) -> RESTResponseType:
219
+ """Create a comment for this analysis
220
+
221
+ Creates a comment associated with a specified analysis).
222
+
223
+ :param analysis_id: (required)
224
+ :type analysis_id: int
225
+ :param comment_base: (required)
226
+ :type comment_base: CommentBase
227
+ :param authorization: API Key bearer token
228
+ :type authorization: str
229
+ :param _request_timeout: timeout setting for this request. If one
230
+ number provided, it will be total request
231
+ timeout. It can also be a pair (tuple) of
232
+ (connection, read) timeouts.
233
+ :type _request_timeout: int, tuple(int, int), optional
234
+ :param _request_auth: set to override the auth_settings for an a single
235
+ request; this effectively ignores the
236
+ authentication in the spec for a single request.
237
+ :type _request_auth: dict, optional
238
+ :param _content_type: force content-type for the request.
239
+ :type _content_type: str, Optional
240
+ :param _headers: set to override the headers for a single
241
+ request; this effectively ignores the headers
242
+ in the spec for a single request.
243
+ :type _headers: dict, optional
244
+ :param _host_index: set to override the host_index for a single
245
+ request; this effectively ignores the host_index
246
+ in the spec for a single request.
247
+ :type _host_index: int, optional
248
+ :return: Returns the result object.
249
+ """ # noqa: E501
250
+
251
+ _param = self._create_analysis_comment_serialize(
252
+ analysis_id=analysis_id,
253
+ comment_base=comment_base,
254
+ authorization=authorization,
255
+ _request_auth=_request_auth,
256
+ _content_type=_content_type,
257
+ _headers=_headers,
258
+ _host_index=_host_index
259
+ )
260
+
261
+ _response_types_map: Dict[str, Optional[str]] = {
262
+ '201': "BaseResponseCommentResponse",
263
+ '422': "BaseResponse",
264
+ '400': "BaseResponse",
265
+ }
266
+ response_data = self.api_client.call_api(
267
+ *_param,
268
+ _request_timeout=_request_timeout
269
+ )
270
+ return response_data.response
271
+
272
+
273
+ def _create_analysis_comment_serialize(
274
+ self,
275
+ analysis_id,
276
+ comment_base,
277
+ authorization,
278
+ _request_auth,
279
+ _content_type,
280
+ _headers,
281
+ _host_index,
282
+ ) -> RequestSerialized:
283
+
284
+ _host = None
285
+
286
+ _collection_formats: Dict[str, str] = {
287
+ }
288
+
289
+ _path_params: Dict[str, str] = {}
290
+ _query_params: List[Tuple[str, str]] = []
291
+ _header_params: Dict[str, Optional[str]] = _headers or {}
292
+ _form_params: List[Tuple[str, str]] = []
293
+ _files: Dict[
294
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
295
+ ] = {}
296
+ _body_params: Optional[bytes] = None
297
+
298
+ # process the path parameters
299
+ if analysis_id is not None:
300
+ _path_params['analysis_id'] = analysis_id
301
+ # process the query parameters
302
+ # process the header parameters
303
+ if authorization is not None:
304
+ _header_params['authorization'] = authorization
305
+ # process the form parameters
306
+ # process the body parameter
307
+ if comment_base is not None:
308
+ _body_params = comment_base
309
+
310
+
311
+ # set the HTTP header `Accept`
312
+ if 'Accept' not in _header_params:
313
+ _header_params['Accept'] = self.api_client.select_header_accept(
314
+ [
315
+ 'application/json'
316
+ ]
317
+ )
318
+
319
+ # set the HTTP header `Content-Type`
320
+ if _content_type:
321
+ _header_params['Content-Type'] = _content_type
322
+ else:
323
+ _default_content_type = (
324
+ self.api_client.select_header_content_type(
325
+ [
326
+ 'application/json'
327
+ ]
328
+ )
329
+ )
330
+ if _default_content_type is not None:
331
+ _header_params['Content-Type'] = _default_content_type
332
+
333
+ # authentication setting
334
+ _auth_settings: List[str] = [
335
+ 'APIKey'
336
+ ]
337
+
338
+ return self.api_client.param_serialize(
339
+ method='POST',
340
+ resource_path='/v2/analyses/{analysis_id}/comments',
341
+ path_params=_path_params,
342
+ query_params=_query_params,
343
+ header_params=_header_params,
344
+ body=_body_params,
345
+ post_params=_form_params,
346
+ files=_files,
347
+ auth_settings=_auth_settings,
348
+ collection_formats=_collection_formats,
349
+ _host=_host,
350
+ _request_auth=_request_auth
351
+ )
352
+
353
+
354
+
355
+
356
+ @validate_call
357
+ def delete_analysis_comment(
358
+ self,
359
+ comment_id: Annotated[int, Field(strict=True, ge=1)],
360
+ analysis_id: StrictInt,
361
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
362
+ _request_timeout: Union[
363
+ None,
364
+ Annotated[StrictFloat, Field(gt=0)],
365
+ Tuple[
366
+ Annotated[StrictFloat, Field(gt=0)],
367
+ Annotated[StrictFloat, Field(gt=0)]
368
+ ]
369
+ ] = None,
370
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
371
+ _content_type: Optional[StrictStr] = None,
372
+ _headers: Optional[Dict[StrictStr, Any]] = None,
373
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
374
+ ) -> BaseResponseBool:
375
+ """Delete a comment
376
+
377
+ Deletes an existing comment. Users can only delete their own comments.
378
+
379
+ :param comment_id: (required)
380
+ :type comment_id: int
381
+ :param analysis_id: (required)
382
+ :type analysis_id: int
383
+ :param authorization: API Key bearer token
384
+ :type authorization: str
385
+ :param _request_timeout: timeout setting for this request. If one
386
+ number provided, it will be total request
387
+ timeout. It can also be a pair (tuple) of
388
+ (connection, read) timeouts.
389
+ :type _request_timeout: int, tuple(int, int), optional
390
+ :param _request_auth: set to override the auth_settings for an a single
391
+ request; this effectively ignores the
392
+ authentication in the spec for a single request.
393
+ :type _request_auth: dict, optional
394
+ :param _content_type: force content-type for the request.
395
+ :type _content_type: str, Optional
396
+ :param _headers: set to override the headers for a single
397
+ request; this effectively ignores the headers
398
+ in the spec for a single request.
399
+ :type _headers: dict, optional
400
+ :param _host_index: set to override the host_index for a single
401
+ request; this effectively ignores the host_index
402
+ in the spec for a single request.
403
+ :type _host_index: int, optional
404
+ :return: Returns the result object.
405
+ """ # noqa: E501
406
+
407
+ _param = self._delete_analysis_comment_serialize(
408
+ comment_id=comment_id,
409
+ analysis_id=analysis_id,
410
+ authorization=authorization,
411
+ _request_auth=_request_auth,
412
+ _content_type=_content_type,
413
+ _headers=_headers,
414
+ _host_index=_host_index
415
+ )
416
+
417
+ _response_types_map: Dict[str, Optional[str]] = {
418
+ '200': "BaseResponseBool",
419
+ '422': "BaseResponse",
420
+ '403': "BaseResponse",
421
+ '400': "BaseResponse",
422
+ }
423
+ response_data = self.api_client.call_api(
424
+ *_param,
425
+ _request_timeout=_request_timeout
426
+ )
427
+ response_data.read()
428
+ return self.api_client.response_deserialize(
429
+ response_data=response_data,
430
+ response_types_map=_response_types_map,
431
+ ).data
432
+
433
+
434
+ @validate_call
435
+ def delete_analysis_comment_with_http_info(
436
+ self,
437
+ comment_id: Annotated[int, Field(strict=True, ge=1)],
438
+ analysis_id: StrictInt,
439
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
440
+ _request_timeout: Union[
441
+ None,
442
+ Annotated[StrictFloat, Field(gt=0)],
443
+ Tuple[
444
+ Annotated[StrictFloat, Field(gt=0)],
445
+ Annotated[StrictFloat, Field(gt=0)]
446
+ ]
447
+ ] = None,
448
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
449
+ _content_type: Optional[StrictStr] = None,
450
+ _headers: Optional[Dict[StrictStr, Any]] = None,
451
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
452
+ ) -> ApiResponse[BaseResponseBool]:
453
+ """Delete a comment
454
+
455
+ Deletes an existing comment. Users can only delete their own comments.
456
+
457
+ :param comment_id: (required)
458
+ :type comment_id: int
459
+ :param analysis_id: (required)
460
+ :type analysis_id: int
461
+ :param authorization: API Key bearer token
462
+ :type authorization: str
463
+ :param _request_timeout: timeout setting for this request. If one
464
+ number provided, it will be total request
465
+ timeout. It can also be a pair (tuple) of
466
+ (connection, read) timeouts.
467
+ :type _request_timeout: int, tuple(int, int), optional
468
+ :param _request_auth: set to override the auth_settings for an a single
469
+ request; this effectively ignores the
470
+ authentication in the spec for a single request.
471
+ :type _request_auth: dict, optional
472
+ :param _content_type: force content-type for the request.
473
+ :type _content_type: str, Optional
474
+ :param _headers: set to override the headers for a single
475
+ request; this effectively ignores the headers
476
+ in the spec for a single request.
477
+ :type _headers: dict, optional
478
+ :param _host_index: set to override the host_index for a single
479
+ request; this effectively ignores the host_index
480
+ in the spec for a single request.
481
+ :type _host_index: int, optional
482
+ :return: Returns the result object.
483
+ """ # noqa: E501
484
+
485
+ _param = self._delete_analysis_comment_serialize(
486
+ comment_id=comment_id,
487
+ analysis_id=analysis_id,
488
+ authorization=authorization,
489
+ _request_auth=_request_auth,
490
+ _content_type=_content_type,
491
+ _headers=_headers,
492
+ _host_index=_host_index
493
+ )
494
+
495
+ _response_types_map: Dict[str, Optional[str]] = {
496
+ '200': "BaseResponseBool",
497
+ '422': "BaseResponse",
498
+ '403': "BaseResponse",
499
+ '400': "BaseResponse",
500
+ }
501
+ response_data = self.api_client.call_api(
502
+ *_param,
503
+ _request_timeout=_request_timeout
504
+ )
505
+ response_data.read()
506
+ return self.api_client.response_deserialize(
507
+ response_data=response_data,
508
+ response_types_map=_response_types_map,
509
+ )
510
+
511
+
512
+ @validate_call
513
+ def delete_analysis_comment_without_preload_content(
514
+ self,
515
+ comment_id: Annotated[int, Field(strict=True, ge=1)],
516
+ analysis_id: StrictInt,
517
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
518
+ _request_timeout: Union[
519
+ None,
520
+ Annotated[StrictFloat, Field(gt=0)],
521
+ Tuple[
522
+ Annotated[StrictFloat, Field(gt=0)],
523
+ Annotated[StrictFloat, Field(gt=0)]
524
+ ]
525
+ ] = None,
526
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
527
+ _content_type: Optional[StrictStr] = None,
528
+ _headers: Optional[Dict[StrictStr, Any]] = None,
529
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
530
+ ) -> RESTResponseType:
531
+ """Delete a comment
532
+
533
+ Deletes an existing comment. Users can only delete their own comments.
534
+
535
+ :param comment_id: (required)
536
+ :type comment_id: int
537
+ :param analysis_id: (required)
538
+ :type analysis_id: int
539
+ :param authorization: API Key bearer token
540
+ :type authorization: str
541
+ :param _request_timeout: timeout setting for this request. If one
542
+ number provided, it will be total request
543
+ timeout. It can also be a pair (tuple) of
544
+ (connection, read) timeouts.
545
+ :type _request_timeout: int, tuple(int, int), optional
546
+ :param _request_auth: set to override the auth_settings for an a single
547
+ request; this effectively ignores the
548
+ authentication in the spec for a single request.
549
+ :type _request_auth: dict, optional
550
+ :param _content_type: force content-type for the request.
551
+ :type _content_type: str, Optional
552
+ :param _headers: set to override the headers for a single
553
+ request; this effectively ignores the headers
554
+ in the spec for a single request.
555
+ :type _headers: dict, optional
556
+ :param _host_index: set to override the host_index for a single
557
+ request; this effectively ignores the host_index
558
+ in the spec for a single request.
559
+ :type _host_index: int, optional
560
+ :return: Returns the result object.
561
+ """ # noqa: E501
562
+
563
+ _param = self._delete_analysis_comment_serialize(
564
+ comment_id=comment_id,
565
+ analysis_id=analysis_id,
566
+ authorization=authorization,
567
+ _request_auth=_request_auth,
568
+ _content_type=_content_type,
569
+ _headers=_headers,
570
+ _host_index=_host_index
571
+ )
572
+
573
+ _response_types_map: Dict[str, Optional[str]] = {
574
+ '200': "BaseResponseBool",
575
+ '422': "BaseResponse",
576
+ '403': "BaseResponse",
577
+ '400': "BaseResponse",
578
+ }
579
+ response_data = self.api_client.call_api(
580
+ *_param,
581
+ _request_timeout=_request_timeout
582
+ )
583
+ return response_data.response
584
+
585
+
586
+ def _delete_analysis_comment_serialize(
587
+ self,
588
+ comment_id,
589
+ analysis_id,
590
+ authorization,
591
+ _request_auth,
592
+ _content_type,
593
+ _headers,
594
+ _host_index,
595
+ ) -> RequestSerialized:
596
+
597
+ _host = None
598
+
599
+ _collection_formats: Dict[str, str] = {
600
+ }
601
+
602
+ _path_params: Dict[str, str] = {}
603
+ _query_params: List[Tuple[str, str]] = []
604
+ _header_params: Dict[str, Optional[str]] = _headers or {}
605
+ _form_params: List[Tuple[str, str]] = []
606
+ _files: Dict[
607
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
608
+ ] = {}
609
+ _body_params: Optional[bytes] = None
610
+
611
+ # process the path parameters
612
+ if comment_id is not None:
613
+ _path_params['comment_id'] = comment_id
614
+ if analysis_id is not None:
615
+ _path_params['analysis_id'] = analysis_id
616
+ # process the query parameters
617
+ # process the header parameters
618
+ if authorization is not None:
619
+ _header_params['authorization'] = authorization
620
+ # process the form parameters
621
+ # process the body parameter
622
+
623
+
624
+ # set the HTTP header `Accept`
625
+ if 'Accept' not in _header_params:
626
+ _header_params['Accept'] = self.api_client.select_header_accept(
627
+ [
628
+ 'application/json'
629
+ ]
630
+ )
631
+
632
+
633
+ # authentication setting
634
+ _auth_settings: List[str] = [
635
+ 'APIKey'
636
+ ]
637
+
638
+ return self.api_client.param_serialize(
639
+ method='DELETE',
640
+ resource_path='/v2/analyses/{analysis_id}/comments/{comment_id}',
641
+ path_params=_path_params,
642
+ query_params=_query_params,
643
+ header_params=_header_params,
644
+ body=_body_params,
645
+ post_params=_form_params,
646
+ files=_files,
647
+ auth_settings=_auth_settings,
648
+ collection_formats=_collection_formats,
649
+ _host=_host,
650
+ _request_auth=_request_auth
651
+ )
652
+
653
+
654
+
655
+
656
+ @validate_call
657
+ def get_analysis_comments(
658
+ self,
659
+ analysis_id: StrictInt,
660
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
661
+ _request_timeout: Union[
662
+ None,
663
+ Annotated[StrictFloat, Field(gt=0)],
664
+ Tuple[
665
+ Annotated[StrictFloat, Field(gt=0)],
666
+ Annotated[StrictFloat, Field(gt=0)]
667
+ ]
668
+ ] = None,
669
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
670
+ _content_type: Optional[StrictStr] = None,
671
+ _headers: Optional[Dict[StrictStr, Any]] = None,
672
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
673
+ ) -> BaseResponseListCommentResponse:
674
+ """Get comments for this analysis
675
+
676
+ Retrieves all comments created for a specific analysis. Only returns comments for resources the requesting user has access to.
677
+
678
+ :param analysis_id: (required)
679
+ :type analysis_id: int
680
+ :param authorization: API Key bearer token
681
+ :type authorization: str
682
+ :param _request_timeout: timeout setting for this request. If one
683
+ number provided, it will be total request
684
+ timeout. It can also be a pair (tuple) of
685
+ (connection, read) timeouts.
686
+ :type _request_timeout: int, tuple(int, int), optional
687
+ :param _request_auth: set to override the auth_settings for an a single
688
+ request; this effectively ignores the
689
+ authentication in the spec for a single request.
690
+ :type _request_auth: dict, optional
691
+ :param _content_type: force content-type for the request.
692
+ :type _content_type: str, Optional
693
+ :param _headers: set to override the headers for a single
694
+ request; this effectively ignores the headers
695
+ in the spec for a single request.
696
+ :type _headers: dict, optional
697
+ :param _host_index: set to override the host_index for a single
698
+ request; this effectively ignores the host_index
699
+ in the spec for a single request.
700
+ :type _host_index: int, optional
701
+ :return: Returns the result object.
702
+ """ # noqa: E501
703
+
704
+ _param = self._get_analysis_comments_serialize(
705
+ analysis_id=analysis_id,
706
+ authorization=authorization,
707
+ _request_auth=_request_auth,
708
+ _content_type=_content_type,
709
+ _headers=_headers,
710
+ _host_index=_host_index
711
+ )
712
+
713
+ _response_types_map: Dict[str, Optional[str]] = {
714
+ '200': "BaseResponseListCommentResponse",
715
+ '422': "BaseResponse",
716
+ }
717
+ response_data = self.api_client.call_api(
718
+ *_param,
719
+ _request_timeout=_request_timeout
720
+ )
721
+ response_data.read()
722
+ return self.api_client.response_deserialize(
723
+ response_data=response_data,
724
+ response_types_map=_response_types_map,
725
+ ).data
726
+
727
+
728
+ @validate_call
729
+ def get_analysis_comments_with_http_info(
730
+ self,
731
+ analysis_id: StrictInt,
732
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
733
+ _request_timeout: Union[
734
+ None,
735
+ Annotated[StrictFloat, Field(gt=0)],
736
+ Tuple[
737
+ Annotated[StrictFloat, Field(gt=0)],
738
+ Annotated[StrictFloat, Field(gt=0)]
739
+ ]
740
+ ] = None,
741
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
742
+ _content_type: Optional[StrictStr] = None,
743
+ _headers: Optional[Dict[StrictStr, Any]] = None,
744
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
745
+ ) -> ApiResponse[BaseResponseListCommentResponse]:
746
+ """Get comments for this analysis
747
+
748
+ Retrieves all comments created for a specific analysis. Only returns comments for resources the requesting user has access to.
749
+
750
+ :param analysis_id: (required)
751
+ :type analysis_id: int
752
+ :param authorization: API Key bearer token
753
+ :type authorization: str
754
+ :param _request_timeout: timeout setting for this request. If one
755
+ number provided, it will be total request
756
+ timeout. It can also be a pair (tuple) of
757
+ (connection, read) timeouts.
758
+ :type _request_timeout: int, tuple(int, int), optional
759
+ :param _request_auth: set to override the auth_settings for an a single
760
+ request; this effectively ignores the
761
+ authentication in the spec for a single request.
762
+ :type _request_auth: dict, optional
763
+ :param _content_type: force content-type for the request.
764
+ :type _content_type: str, Optional
765
+ :param _headers: set to override the headers for a single
766
+ request; this effectively ignores the headers
767
+ in the spec for a single request.
768
+ :type _headers: dict, optional
769
+ :param _host_index: set to override the host_index for a single
770
+ request; this effectively ignores the host_index
771
+ in the spec for a single request.
772
+ :type _host_index: int, optional
773
+ :return: Returns the result object.
774
+ """ # noqa: E501
775
+
776
+ _param = self._get_analysis_comments_serialize(
777
+ analysis_id=analysis_id,
778
+ authorization=authorization,
779
+ _request_auth=_request_auth,
780
+ _content_type=_content_type,
781
+ _headers=_headers,
782
+ _host_index=_host_index
783
+ )
784
+
785
+ _response_types_map: Dict[str, Optional[str]] = {
786
+ '200': "BaseResponseListCommentResponse",
787
+ '422': "BaseResponse",
788
+ }
789
+ response_data = self.api_client.call_api(
790
+ *_param,
791
+ _request_timeout=_request_timeout
792
+ )
793
+ response_data.read()
794
+ return self.api_client.response_deserialize(
795
+ response_data=response_data,
796
+ response_types_map=_response_types_map,
797
+ )
798
+
799
+
800
+ @validate_call
801
+ def get_analysis_comments_without_preload_content(
802
+ self,
803
+ analysis_id: StrictInt,
804
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
805
+ _request_timeout: Union[
806
+ None,
807
+ Annotated[StrictFloat, Field(gt=0)],
808
+ Tuple[
809
+ Annotated[StrictFloat, Field(gt=0)],
810
+ Annotated[StrictFloat, Field(gt=0)]
811
+ ]
812
+ ] = None,
813
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
814
+ _content_type: Optional[StrictStr] = None,
815
+ _headers: Optional[Dict[StrictStr, Any]] = None,
816
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
817
+ ) -> RESTResponseType:
818
+ """Get comments for this analysis
819
+
820
+ Retrieves all comments created for a specific analysis. Only returns comments for resources the requesting user has access to.
821
+
822
+ :param analysis_id: (required)
823
+ :type analysis_id: int
824
+ :param authorization: API Key bearer token
825
+ :type authorization: str
826
+ :param _request_timeout: timeout setting for this request. If one
827
+ number provided, it will be total request
828
+ timeout. It can also be a pair (tuple) of
829
+ (connection, read) timeouts.
830
+ :type _request_timeout: int, tuple(int, int), optional
831
+ :param _request_auth: set to override the auth_settings for an a single
832
+ request; this effectively ignores the
833
+ authentication in the spec for a single request.
834
+ :type _request_auth: dict, optional
835
+ :param _content_type: force content-type for the request.
836
+ :type _content_type: str, Optional
837
+ :param _headers: set to override the headers for a single
838
+ request; this effectively ignores the headers
839
+ in the spec for a single request.
840
+ :type _headers: dict, optional
841
+ :param _host_index: set to override the host_index for a single
842
+ request; this effectively ignores the host_index
843
+ in the spec for a single request.
844
+ :type _host_index: int, optional
845
+ :return: Returns the result object.
846
+ """ # noqa: E501
847
+
848
+ _param = self._get_analysis_comments_serialize(
849
+ analysis_id=analysis_id,
850
+ authorization=authorization,
851
+ _request_auth=_request_auth,
852
+ _content_type=_content_type,
853
+ _headers=_headers,
854
+ _host_index=_host_index
855
+ )
856
+
857
+ _response_types_map: Dict[str, Optional[str]] = {
858
+ '200': "BaseResponseListCommentResponse",
859
+ '422': "BaseResponse",
860
+ }
861
+ response_data = self.api_client.call_api(
862
+ *_param,
863
+ _request_timeout=_request_timeout
864
+ )
865
+ return response_data.response
866
+
867
+
868
+ def _get_analysis_comments_serialize(
869
+ self,
870
+ analysis_id,
871
+ authorization,
872
+ _request_auth,
873
+ _content_type,
874
+ _headers,
875
+ _host_index,
876
+ ) -> RequestSerialized:
877
+
878
+ _host = None
879
+
880
+ _collection_formats: Dict[str, str] = {
881
+ }
882
+
883
+ _path_params: Dict[str, str] = {}
884
+ _query_params: List[Tuple[str, str]] = []
885
+ _header_params: Dict[str, Optional[str]] = _headers or {}
886
+ _form_params: List[Tuple[str, str]] = []
887
+ _files: Dict[
888
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
889
+ ] = {}
890
+ _body_params: Optional[bytes] = None
891
+
892
+ # process the path parameters
893
+ if analysis_id is not None:
894
+ _path_params['analysis_id'] = analysis_id
895
+ # process the query parameters
896
+ # process the header parameters
897
+ if authorization is not None:
898
+ _header_params['authorization'] = authorization
899
+ # process the form parameters
900
+ # process the body parameter
901
+
902
+
903
+ # set the HTTP header `Accept`
904
+ if 'Accept' not in _header_params:
905
+ _header_params['Accept'] = self.api_client.select_header_accept(
906
+ [
907
+ 'application/json'
908
+ ]
909
+ )
910
+
911
+
912
+ # authentication setting
913
+ _auth_settings: List[str] = [
914
+ 'APIKey'
915
+ ]
916
+
917
+ return self.api_client.param_serialize(
918
+ method='GET',
919
+ resource_path='/v2/analyses/{analysis_id}/comments',
920
+ path_params=_path_params,
921
+ query_params=_query_params,
922
+ header_params=_header_params,
923
+ body=_body_params,
924
+ post_params=_form_params,
925
+ files=_files,
926
+ auth_settings=_auth_settings,
927
+ collection_formats=_collection_formats,
928
+ _host=_host,
929
+ _request_auth=_request_auth
930
+ )
931
+
932
+
933
+
934
+
935
+ @validate_call
936
+ def update_analysis_comment(
937
+ self,
938
+ comment_id: Annotated[int, Field(strict=True, ge=1)],
939
+ analysis_id: StrictInt,
940
+ comment_update_request: CommentUpdateRequest,
941
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
942
+ _request_timeout: Union[
943
+ None,
944
+ Annotated[StrictFloat, Field(gt=0)],
945
+ Tuple[
946
+ Annotated[StrictFloat, Field(gt=0)],
947
+ Annotated[StrictFloat, Field(gt=0)]
948
+ ]
949
+ ] = None,
950
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
951
+ _content_type: Optional[StrictStr] = None,
952
+ _headers: Optional[Dict[StrictStr, Any]] = None,
953
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
954
+ ) -> BaseResponseCommentResponse:
955
+ """Update a comment
956
+
957
+ Updates the content of an existing comment. Users can only update their own comments.
958
+
959
+ :param comment_id: (required)
960
+ :type comment_id: int
961
+ :param analysis_id: (required)
962
+ :type analysis_id: int
963
+ :param comment_update_request: (required)
964
+ :type comment_update_request: CommentUpdateRequest
965
+ :param authorization: API Key bearer token
966
+ :type authorization: str
967
+ :param _request_timeout: timeout setting for this request. If one
968
+ number provided, it will be total request
969
+ timeout. It can also be a pair (tuple) of
970
+ (connection, read) timeouts.
971
+ :type _request_timeout: int, tuple(int, int), optional
972
+ :param _request_auth: set to override the auth_settings for an a single
973
+ request; this effectively ignores the
974
+ authentication in the spec for a single request.
975
+ :type _request_auth: dict, optional
976
+ :param _content_type: force content-type for the request.
977
+ :type _content_type: str, Optional
978
+ :param _headers: set to override the headers for a single
979
+ request; this effectively ignores the headers
980
+ in the spec for a single request.
981
+ :type _headers: dict, optional
982
+ :param _host_index: set to override the host_index for a single
983
+ request; this effectively ignores the host_index
984
+ in the spec for a single request.
985
+ :type _host_index: int, optional
986
+ :return: Returns the result object.
987
+ """ # noqa: E501
988
+
989
+ _param = self._update_analysis_comment_serialize(
990
+ comment_id=comment_id,
991
+ analysis_id=analysis_id,
992
+ comment_update_request=comment_update_request,
993
+ authorization=authorization,
994
+ _request_auth=_request_auth,
995
+ _content_type=_content_type,
996
+ _headers=_headers,
997
+ _host_index=_host_index
998
+ )
999
+
1000
+ _response_types_map: Dict[str, Optional[str]] = {
1001
+ '200': "BaseResponseCommentResponse",
1002
+ '422': "BaseResponse",
1003
+ '403': "BaseResponse",
1004
+ '400': "BaseResponse",
1005
+ }
1006
+ response_data = self.api_client.call_api(
1007
+ *_param,
1008
+ _request_timeout=_request_timeout
1009
+ )
1010
+ response_data.read()
1011
+ return self.api_client.response_deserialize(
1012
+ response_data=response_data,
1013
+ response_types_map=_response_types_map,
1014
+ ).data
1015
+
1016
+
1017
+ @validate_call
1018
+ def update_analysis_comment_with_http_info(
1019
+ self,
1020
+ comment_id: Annotated[int, Field(strict=True, ge=1)],
1021
+ analysis_id: StrictInt,
1022
+ comment_update_request: CommentUpdateRequest,
1023
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
1024
+ _request_timeout: Union[
1025
+ None,
1026
+ Annotated[StrictFloat, Field(gt=0)],
1027
+ Tuple[
1028
+ Annotated[StrictFloat, Field(gt=0)],
1029
+ Annotated[StrictFloat, Field(gt=0)]
1030
+ ]
1031
+ ] = None,
1032
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1033
+ _content_type: Optional[StrictStr] = None,
1034
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1035
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1036
+ ) -> ApiResponse[BaseResponseCommentResponse]:
1037
+ """Update a comment
1038
+
1039
+ Updates the content of an existing comment. Users can only update their own comments.
1040
+
1041
+ :param comment_id: (required)
1042
+ :type comment_id: int
1043
+ :param analysis_id: (required)
1044
+ :type analysis_id: int
1045
+ :param comment_update_request: (required)
1046
+ :type comment_update_request: CommentUpdateRequest
1047
+ :param authorization: API Key bearer token
1048
+ :type authorization: str
1049
+ :param _request_timeout: timeout setting for this request. If one
1050
+ number provided, it will be total request
1051
+ timeout. It can also be a pair (tuple) of
1052
+ (connection, read) timeouts.
1053
+ :type _request_timeout: int, tuple(int, int), optional
1054
+ :param _request_auth: set to override the auth_settings for an a single
1055
+ request; this effectively ignores the
1056
+ authentication in the spec for a single request.
1057
+ :type _request_auth: dict, optional
1058
+ :param _content_type: force content-type for the request.
1059
+ :type _content_type: str, Optional
1060
+ :param _headers: set to override the headers for a single
1061
+ request; this effectively ignores the headers
1062
+ in the spec for a single request.
1063
+ :type _headers: dict, optional
1064
+ :param _host_index: set to override the host_index for a single
1065
+ request; this effectively ignores the host_index
1066
+ in the spec for a single request.
1067
+ :type _host_index: int, optional
1068
+ :return: Returns the result object.
1069
+ """ # noqa: E501
1070
+
1071
+ _param = self._update_analysis_comment_serialize(
1072
+ comment_id=comment_id,
1073
+ analysis_id=analysis_id,
1074
+ comment_update_request=comment_update_request,
1075
+ authorization=authorization,
1076
+ _request_auth=_request_auth,
1077
+ _content_type=_content_type,
1078
+ _headers=_headers,
1079
+ _host_index=_host_index
1080
+ )
1081
+
1082
+ _response_types_map: Dict[str, Optional[str]] = {
1083
+ '200': "BaseResponseCommentResponse",
1084
+ '422': "BaseResponse",
1085
+ '403': "BaseResponse",
1086
+ '400': "BaseResponse",
1087
+ }
1088
+ response_data = self.api_client.call_api(
1089
+ *_param,
1090
+ _request_timeout=_request_timeout
1091
+ )
1092
+ response_data.read()
1093
+ return self.api_client.response_deserialize(
1094
+ response_data=response_data,
1095
+ response_types_map=_response_types_map,
1096
+ )
1097
+
1098
+
1099
+ @validate_call
1100
+ def update_analysis_comment_without_preload_content(
1101
+ self,
1102
+ comment_id: Annotated[int, Field(strict=True, ge=1)],
1103
+ analysis_id: StrictInt,
1104
+ comment_update_request: CommentUpdateRequest,
1105
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
1106
+ _request_timeout: Union[
1107
+ None,
1108
+ Annotated[StrictFloat, Field(gt=0)],
1109
+ Tuple[
1110
+ Annotated[StrictFloat, Field(gt=0)],
1111
+ Annotated[StrictFloat, Field(gt=0)]
1112
+ ]
1113
+ ] = None,
1114
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1115
+ _content_type: Optional[StrictStr] = None,
1116
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1117
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1118
+ ) -> RESTResponseType:
1119
+ """Update a comment
1120
+
1121
+ Updates the content of an existing comment. Users can only update their own comments.
1122
+
1123
+ :param comment_id: (required)
1124
+ :type comment_id: int
1125
+ :param analysis_id: (required)
1126
+ :type analysis_id: int
1127
+ :param comment_update_request: (required)
1128
+ :type comment_update_request: CommentUpdateRequest
1129
+ :param authorization: API Key bearer token
1130
+ :type authorization: str
1131
+ :param _request_timeout: timeout setting for this request. If one
1132
+ number provided, it will be total request
1133
+ timeout. It can also be a pair (tuple) of
1134
+ (connection, read) timeouts.
1135
+ :type _request_timeout: int, tuple(int, int), optional
1136
+ :param _request_auth: set to override the auth_settings for an a single
1137
+ request; this effectively ignores the
1138
+ authentication in the spec for a single request.
1139
+ :type _request_auth: dict, optional
1140
+ :param _content_type: force content-type for the request.
1141
+ :type _content_type: str, Optional
1142
+ :param _headers: set to override the headers for a single
1143
+ request; this effectively ignores the headers
1144
+ in the spec for a single request.
1145
+ :type _headers: dict, optional
1146
+ :param _host_index: set to override the host_index for a single
1147
+ request; this effectively ignores the host_index
1148
+ in the spec for a single request.
1149
+ :type _host_index: int, optional
1150
+ :return: Returns the result object.
1151
+ """ # noqa: E501
1152
+
1153
+ _param = self._update_analysis_comment_serialize(
1154
+ comment_id=comment_id,
1155
+ analysis_id=analysis_id,
1156
+ comment_update_request=comment_update_request,
1157
+ authorization=authorization,
1158
+ _request_auth=_request_auth,
1159
+ _content_type=_content_type,
1160
+ _headers=_headers,
1161
+ _host_index=_host_index
1162
+ )
1163
+
1164
+ _response_types_map: Dict[str, Optional[str]] = {
1165
+ '200': "BaseResponseCommentResponse",
1166
+ '422': "BaseResponse",
1167
+ '403': "BaseResponse",
1168
+ '400': "BaseResponse",
1169
+ }
1170
+ response_data = self.api_client.call_api(
1171
+ *_param,
1172
+ _request_timeout=_request_timeout
1173
+ )
1174
+ return response_data.response
1175
+
1176
+
1177
+ def _update_analysis_comment_serialize(
1178
+ self,
1179
+ comment_id,
1180
+ analysis_id,
1181
+ comment_update_request,
1182
+ authorization,
1183
+ _request_auth,
1184
+ _content_type,
1185
+ _headers,
1186
+ _host_index,
1187
+ ) -> RequestSerialized:
1188
+
1189
+ _host = None
1190
+
1191
+ _collection_formats: Dict[str, str] = {
1192
+ }
1193
+
1194
+ _path_params: Dict[str, str] = {}
1195
+ _query_params: List[Tuple[str, str]] = []
1196
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1197
+ _form_params: List[Tuple[str, str]] = []
1198
+ _files: Dict[
1199
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1200
+ ] = {}
1201
+ _body_params: Optional[bytes] = None
1202
+
1203
+ # process the path parameters
1204
+ if comment_id is not None:
1205
+ _path_params['comment_id'] = comment_id
1206
+ if analysis_id is not None:
1207
+ _path_params['analysis_id'] = analysis_id
1208
+ # process the query parameters
1209
+ # process the header parameters
1210
+ if authorization is not None:
1211
+ _header_params['authorization'] = authorization
1212
+ # process the form parameters
1213
+ # process the body parameter
1214
+ if comment_update_request is not None:
1215
+ _body_params = comment_update_request
1216
+
1217
+
1218
+ # set the HTTP header `Accept`
1219
+ if 'Accept' not in _header_params:
1220
+ _header_params['Accept'] = self.api_client.select_header_accept(
1221
+ [
1222
+ 'application/json'
1223
+ ]
1224
+ )
1225
+
1226
+ # set the HTTP header `Content-Type`
1227
+ if _content_type:
1228
+ _header_params['Content-Type'] = _content_type
1229
+ else:
1230
+ _default_content_type = (
1231
+ self.api_client.select_header_content_type(
1232
+ [
1233
+ 'application/json'
1234
+ ]
1235
+ )
1236
+ )
1237
+ if _default_content_type is not None:
1238
+ _header_params['Content-Type'] = _default_content_type
1239
+
1240
+ # authentication setting
1241
+ _auth_settings: List[str] = [
1242
+ 'APIKey'
1243
+ ]
1244
+
1245
+ return self.api_client.param_serialize(
1246
+ method='PATCH',
1247
+ resource_path='/v2/analyses/{analysis_id}/comments/{comment_id}',
1248
+ path_params=_path_params,
1249
+ query_params=_query_params,
1250
+ header_params=_header_params,
1251
+ body=_body_params,
1252
+ post_params=_form_params,
1253
+ files=_files,
1254
+ auth_settings=_auth_settings,
1255
+ collection_formats=_collection_formats,
1256
+ _host=_host,
1257
+ _request_auth=_request_auth
1258
+ )
1259
+
1260
+