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,4305 @@
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 Any, List, Optional
21
+ from typing_extensions import Annotated
22
+ from revengai.models.ann_function import ANNFunction
23
+ from revengai.models.analysis_create_request import AnalysisCreateRequest
24
+ from revengai.models.analysis_update_request import AnalysisUpdateRequest
25
+ from revengai.models.analysis_update_tags_request import AnalysisUpdateTagsRequest
26
+ from revengai.models.app_api_rest_v2_analyses_enums_order_by import AppApiRestV2AnalysesEnumsOrderBy
27
+ from revengai.models.base_response_analysis_create_response import BaseResponseAnalysisCreateResponse
28
+ from revengai.models.base_response_analysis_detail_response import BaseResponseAnalysisDetailResponse
29
+ from revengai.models.base_response_analysis_update_tags_response import BaseResponseAnalysisUpdateTagsResponse
30
+ from revengai.models.base_response_basic import BaseResponseBasic
31
+ from revengai.models.base_response_binary_ann_list_response import BaseResponseBinaryAnnListResponse
32
+ from revengai.models.base_response_created import BaseResponseCreated
33
+ from revengai.models.base_response_dict import BaseResponseDict
34
+ from revengai.models.base_response_logs import BaseResponseLogs
35
+ from revengai.models.base_response_nearest_neighbor_analysis import BaseResponseNearestNeighborAnalysis
36
+ from revengai.models.base_response_params import BaseResponseParams
37
+ from revengai.models.base_response_recent import BaseResponseRecent
38
+ from revengai.models.base_response_status import BaseResponseStatus
39
+ from revengai.models.base_response_symbols_info import BaseResponseSymbolsInfo
40
+ from revengai.models.binary_ann_form import BinaryAnnForm
41
+ from revengai.models.dynamic_execution_status_input import DynamicExecutionStatusInput
42
+ from revengai.models.model_name import ModelName
43
+ from revengai.models.order import Order
44
+ from revengai.models.re_analysis_form import ReAnalysisForm
45
+ from revengai.models.status_input import StatusInput
46
+ from revengai.models.workspace import Workspace
47
+
48
+ from revengai.api_client import ApiClient, RequestSerialized
49
+ from revengai.api_response import ApiResponse
50
+ from revengai.rest import RESTResponseType
51
+
52
+
53
+ class AnalysesCoreApi:
54
+ """NOTE: This class is auto generated by OpenAPI Generator
55
+ Ref: https://openapi-generator.tech
56
+
57
+ Do not edit the class manually.
58
+ """
59
+
60
+ def __init__(self, api_client=None) -> None:
61
+ if api_client is None:
62
+ api_client = ApiClient.get_default()
63
+ self.api_client = api_client
64
+
65
+
66
+ @validate_call
67
+ def create_analysis(
68
+ self,
69
+ analysis_create_request: AnalysisCreateRequest,
70
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
71
+ _request_timeout: Union[
72
+ None,
73
+ Annotated[StrictFloat, Field(gt=0)],
74
+ Tuple[
75
+ Annotated[StrictFloat, Field(gt=0)],
76
+ Annotated[StrictFloat, Field(gt=0)]
77
+ ]
78
+ ] = None,
79
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
80
+ _content_type: Optional[StrictStr] = None,
81
+ _headers: Optional[Dict[StrictStr, Any]] = None,
82
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
83
+ ) -> BaseResponseAnalysisCreateResponse:
84
+ """Create Analysis
85
+
86
+ Begins an analysis
87
+
88
+ :param analysis_create_request: (required)
89
+ :type analysis_create_request: AnalysisCreateRequest
90
+ :param authorization: API Key bearer token
91
+ :type authorization: str
92
+ :param _request_timeout: timeout setting for this request. If one
93
+ number provided, it will be total request
94
+ timeout. It can also be a pair (tuple) of
95
+ (connection, read) timeouts.
96
+ :type _request_timeout: int, tuple(int, int), optional
97
+ :param _request_auth: set to override the auth_settings for an a single
98
+ request; this effectively ignores the
99
+ authentication in the spec for a single request.
100
+ :type _request_auth: dict, optional
101
+ :param _content_type: force content-type for the request.
102
+ :type _content_type: str, Optional
103
+ :param _headers: set to override the headers for a single
104
+ request; this effectively ignores the headers
105
+ in the spec for a single request.
106
+ :type _headers: dict, optional
107
+ :param _host_index: set to override the host_index for a single
108
+ request; this effectively ignores the host_index
109
+ in the spec for a single request.
110
+ :type _host_index: int, optional
111
+ :return: Returns the result object.
112
+ """ # noqa: E501
113
+
114
+ _param = self._create_analysis_serialize(
115
+ analysis_create_request=analysis_create_request,
116
+ authorization=authorization,
117
+ _request_auth=_request_auth,
118
+ _content_type=_content_type,
119
+ _headers=_headers,
120
+ _host_index=_host_index
121
+ )
122
+
123
+ _response_types_map: Dict[str, Optional[str]] = {
124
+ '201': "BaseResponseAnalysisCreateResponse",
125
+ '422': "BaseResponse",
126
+ '404': "BaseResponse",
127
+ '400': "BaseResponse",
128
+ }
129
+ response_data = self.api_client.call_api(
130
+ *_param,
131
+ _request_timeout=_request_timeout
132
+ )
133
+ response_data.read()
134
+ return self.api_client.response_deserialize(
135
+ response_data=response_data,
136
+ response_types_map=_response_types_map,
137
+ ).data
138
+
139
+
140
+ @validate_call
141
+ def create_analysis_with_http_info(
142
+ self,
143
+ analysis_create_request: AnalysisCreateRequest,
144
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
145
+ _request_timeout: Union[
146
+ None,
147
+ Annotated[StrictFloat, Field(gt=0)],
148
+ Tuple[
149
+ Annotated[StrictFloat, Field(gt=0)],
150
+ Annotated[StrictFloat, Field(gt=0)]
151
+ ]
152
+ ] = None,
153
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
154
+ _content_type: Optional[StrictStr] = None,
155
+ _headers: Optional[Dict[StrictStr, Any]] = None,
156
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
157
+ ) -> ApiResponse[BaseResponseAnalysisCreateResponse]:
158
+ """Create Analysis
159
+
160
+ Begins an analysis
161
+
162
+ :param analysis_create_request: (required)
163
+ :type analysis_create_request: AnalysisCreateRequest
164
+ :param authorization: API Key bearer token
165
+ :type authorization: str
166
+ :param _request_timeout: timeout setting for this request. If one
167
+ number provided, it will be total request
168
+ timeout. It can also be a pair (tuple) of
169
+ (connection, read) timeouts.
170
+ :type _request_timeout: int, tuple(int, int), optional
171
+ :param _request_auth: set to override the auth_settings for an a single
172
+ request; this effectively ignores the
173
+ authentication in the spec for a single request.
174
+ :type _request_auth: dict, optional
175
+ :param _content_type: force content-type for the request.
176
+ :type _content_type: str, Optional
177
+ :param _headers: set to override the headers for a single
178
+ request; this effectively ignores the headers
179
+ in the spec for a single request.
180
+ :type _headers: dict, optional
181
+ :param _host_index: set to override the host_index for a single
182
+ request; this effectively ignores the host_index
183
+ in the spec for a single request.
184
+ :type _host_index: int, optional
185
+ :return: Returns the result object.
186
+ """ # noqa: E501
187
+
188
+ _param = self._create_analysis_serialize(
189
+ analysis_create_request=analysis_create_request,
190
+ authorization=authorization,
191
+ _request_auth=_request_auth,
192
+ _content_type=_content_type,
193
+ _headers=_headers,
194
+ _host_index=_host_index
195
+ )
196
+
197
+ _response_types_map: Dict[str, Optional[str]] = {
198
+ '201': "BaseResponseAnalysisCreateResponse",
199
+ '422': "BaseResponse",
200
+ '404': "BaseResponse",
201
+ '400': "BaseResponse",
202
+ }
203
+ response_data = self.api_client.call_api(
204
+ *_param,
205
+ _request_timeout=_request_timeout
206
+ )
207
+ response_data.read()
208
+ return self.api_client.response_deserialize(
209
+ response_data=response_data,
210
+ response_types_map=_response_types_map,
211
+ )
212
+
213
+
214
+ @validate_call
215
+ def create_analysis_without_preload_content(
216
+ self,
217
+ analysis_create_request: AnalysisCreateRequest,
218
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
219
+ _request_timeout: Union[
220
+ None,
221
+ Annotated[StrictFloat, Field(gt=0)],
222
+ Tuple[
223
+ Annotated[StrictFloat, Field(gt=0)],
224
+ Annotated[StrictFloat, Field(gt=0)]
225
+ ]
226
+ ] = None,
227
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
228
+ _content_type: Optional[StrictStr] = None,
229
+ _headers: Optional[Dict[StrictStr, Any]] = None,
230
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
231
+ ) -> RESTResponseType:
232
+ """Create Analysis
233
+
234
+ Begins an analysis
235
+
236
+ :param analysis_create_request: (required)
237
+ :type analysis_create_request: AnalysisCreateRequest
238
+ :param authorization: API Key bearer token
239
+ :type authorization: str
240
+ :param _request_timeout: timeout setting for this request. If one
241
+ number provided, it will be total request
242
+ timeout. It can also be a pair (tuple) of
243
+ (connection, read) timeouts.
244
+ :type _request_timeout: int, tuple(int, int), optional
245
+ :param _request_auth: set to override the auth_settings for an a single
246
+ request; this effectively ignores the
247
+ authentication in the spec for a single request.
248
+ :type _request_auth: dict, optional
249
+ :param _content_type: force content-type for the request.
250
+ :type _content_type: str, Optional
251
+ :param _headers: set to override the headers for a single
252
+ request; this effectively ignores the headers
253
+ in the spec for a single request.
254
+ :type _headers: dict, optional
255
+ :param _host_index: set to override the host_index for a single
256
+ request; this effectively ignores the host_index
257
+ in the spec for a single request.
258
+ :type _host_index: int, optional
259
+ :return: Returns the result object.
260
+ """ # noqa: E501
261
+
262
+ _param = self._create_analysis_serialize(
263
+ analysis_create_request=analysis_create_request,
264
+ authorization=authorization,
265
+ _request_auth=_request_auth,
266
+ _content_type=_content_type,
267
+ _headers=_headers,
268
+ _host_index=_host_index
269
+ )
270
+
271
+ _response_types_map: Dict[str, Optional[str]] = {
272
+ '201': "BaseResponseAnalysisCreateResponse",
273
+ '422': "BaseResponse",
274
+ '404': "BaseResponse",
275
+ '400': "BaseResponse",
276
+ }
277
+ response_data = self.api_client.call_api(
278
+ *_param,
279
+ _request_timeout=_request_timeout
280
+ )
281
+ return response_data.response
282
+
283
+
284
+ def _create_analysis_serialize(
285
+ self,
286
+ analysis_create_request,
287
+ authorization,
288
+ _request_auth,
289
+ _content_type,
290
+ _headers,
291
+ _host_index,
292
+ ) -> RequestSerialized:
293
+
294
+ _host = None
295
+
296
+ _collection_formats: Dict[str, str] = {
297
+ }
298
+
299
+ _path_params: Dict[str, str] = {}
300
+ _query_params: List[Tuple[str, str]] = []
301
+ _header_params: Dict[str, Optional[str]] = _headers or {}
302
+ _form_params: List[Tuple[str, str]] = []
303
+ _files: Dict[
304
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
305
+ ] = {}
306
+ _body_params: Optional[bytes] = None
307
+
308
+ # process the path parameters
309
+ # process the query parameters
310
+ # process the header parameters
311
+ if authorization is not None:
312
+ _header_params['authorization'] = authorization
313
+ # process the form parameters
314
+ # process the body parameter
315
+ if analysis_create_request is not None:
316
+ _body_params = analysis_create_request
317
+
318
+
319
+ # set the HTTP header `Accept`
320
+ if 'Accept' not in _header_params:
321
+ _header_params['Accept'] = self.api_client.select_header_accept(
322
+ [
323
+ 'application/json'
324
+ ]
325
+ )
326
+
327
+ # set the HTTP header `Content-Type`
328
+ if _content_type:
329
+ _header_params['Content-Type'] = _content_type
330
+ else:
331
+ _default_content_type = (
332
+ self.api_client.select_header_content_type(
333
+ [
334
+ 'application/json'
335
+ ]
336
+ )
337
+ )
338
+ if _default_content_type is not None:
339
+ _header_params['Content-Type'] = _default_content_type
340
+
341
+ # authentication setting
342
+ _auth_settings: List[str] = [
343
+ 'APIKey'
344
+ ]
345
+
346
+ return self.api_client.param_serialize(
347
+ method='POST',
348
+ resource_path='/v2/analyses',
349
+ path_params=_path_params,
350
+ query_params=_query_params,
351
+ header_params=_header_params,
352
+ body=_body_params,
353
+ post_params=_form_params,
354
+ files=_files,
355
+ auth_settings=_auth_settings,
356
+ collection_formats=_collection_formats,
357
+ _host=_host,
358
+ _request_auth=_request_auth
359
+ )
360
+
361
+
362
+
363
+
364
+ @validate_call
365
+ def delete_analysis(
366
+ self,
367
+ analysis_id: StrictInt,
368
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
369
+ _request_timeout: Union[
370
+ None,
371
+ Annotated[StrictFloat, Field(gt=0)],
372
+ Tuple[
373
+ Annotated[StrictFloat, Field(gt=0)],
374
+ Annotated[StrictFloat, Field(gt=0)]
375
+ ]
376
+ ] = None,
377
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
378
+ _content_type: Optional[StrictStr] = None,
379
+ _headers: Optional[Dict[StrictStr, Any]] = None,
380
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
381
+ ) -> BaseResponseDict:
382
+ """Delete Analysis
383
+
384
+ Deletes an analysis based on the provided analysis ID.
385
+
386
+ :param analysis_id: (required)
387
+ :type analysis_id: int
388
+ :param authorization: API Key bearer token
389
+ :type authorization: str
390
+ :param _request_timeout: timeout setting for this request. If one
391
+ number provided, it will be total request
392
+ timeout. It can also be a pair (tuple) of
393
+ (connection, read) timeouts.
394
+ :type _request_timeout: int, tuple(int, int), optional
395
+ :param _request_auth: set to override the auth_settings for an a single
396
+ request; this effectively ignores the
397
+ authentication in the spec for a single request.
398
+ :type _request_auth: dict, optional
399
+ :param _content_type: force content-type for the request.
400
+ :type _content_type: str, Optional
401
+ :param _headers: set to override the headers for a single
402
+ request; this effectively ignores the headers
403
+ in the spec for a single request.
404
+ :type _headers: dict, optional
405
+ :param _host_index: set to override the host_index for a single
406
+ request; this effectively ignores the host_index
407
+ in the spec for a single request.
408
+ :type _host_index: int, optional
409
+ :return: Returns the result object.
410
+ """ # noqa: E501
411
+
412
+ _param = self._delete_analysis_serialize(
413
+ analysis_id=analysis_id,
414
+ authorization=authorization,
415
+ _request_auth=_request_auth,
416
+ _content_type=_content_type,
417
+ _headers=_headers,
418
+ _host_index=_host_index
419
+ )
420
+
421
+ _response_types_map: Dict[str, Optional[str]] = {
422
+ '200': "BaseResponseDict",
423
+ '422': "BaseResponse",
424
+ '404': "BaseResponse",
425
+ '403': "BaseResponse",
426
+ }
427
+ response_data = self.api_client.call_api(
428
+ *_param,
429
+ _request_timeout=_request_timeout
430
+ )
431
+ response_data.read()
432
+ return self.api_client.response_deserialize(
433
+ response_data=response_data,
434
+ response_types_map=_response_types_map,
435
+ ).data
436
+
437
+
438
+ @validate_call
439
+ def delete_analysis_with_http_info(
440
+ self,
441
+ analysis_id: StrictInt,
442
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
443
+ _request_timeout: Union[
444
+ None,
445
+ Annotated[StrictFloat, Field(gt=0)],
446
+ Tuple[
447
+ Annotated[StrictFloat, Field(gt=0)],
448
+ Annotated[StrictFloat, Field(gt=0)]
449
+ ]
450
+ ] = None,
451
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
452
+ _content_type: Optional[StrictStr] = None,
453
+ _headers: Optional[Dict[StrictStr, Any]] = None,
454
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
455
+ ) -> ApiResponse[BaseResponseDict]:
456
+ """Delete Analysis
457
+
458
+ Deletes an analysis based on the provided analysis ID.
459
+
460
+ :param analysis_id: (required)
461
+ :type analysis_id: int
462
+ :param authorization: API Key bearer token
463
+ :type authorization: str
464
+ :param _request_timeout: timeout setting for this request. If one
465
+ number provided, it will be total request
466
+ timeout. It can also be a pair (tuple) of
467
+ (connection, read) timeouts.
468
+ :type _request_timeout: int, tuple(int, int), optional
469
+ :param _request_auth: set to override the auth_settings for an a single
470
+ request; this effectively ignores the
471
+ authentication in the spec for a single request.
472
+ :type _request_auth: dict, optional
473
+ :param _content_type: force content-type for the request.
474
+ :type _content_type: str, Optional
475
+ :param _headers: set to override the headers for a single
476
+ request; this effectively ignores the headers
477
+ in the spec for a single request.
478
+ :type _headers: dict, optional
479
+ :param _host_index: set to override the host_index for a single
480
+ request; this effectively ignores the host_index
481
+ in the spec for a single request.
482
+ :type _host_index: int, optional
483
+ :return: Returns the result object.
484
+ """ # noqa: E501
485
+
486
+ _param = self._delete_analysis_serialize(
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': "BaseResponseDict",
497
+ '422': "BaseResponse",
498
+ '404': "BaseResponse",
499
+ '403': "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_without_preload_content(
514
+ self,
515
+ analysis_id: StrictInt,
516
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
517
+ _request_timeout: Union[
518
+ None,
519
+ Annotated[StrictFloat, Field(gt=0)],
520
+ Tuple[
521
+ Annotated[StrictFloat, Field(gt=0)],
522
+ Annotated[StrictFloat, Field(gt=0)]
523
+ ]
524
+ ] = None,
525
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
526
+ _content_type: Optional[StrictStr] = None,
527
+ _headers: Optional[Dict[StrictStr, Any]] = None,
528
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
529
+ ) -> RESTResponseType:
530
+ """Delete Analysis
531
+
532
+ Deletes an analysis based on the provided analysis ID.
533
+
534
+ :param analysis_id: (required)
535
+ :type analysis_id: int
536
+ :param authorization: API Key bearer token
537
+ :type authorization: str
538
+ :param _request_timeout: timeout setting for this request. If one
539
+ number provided, it will be total request
540
+ timeout. It can also be a pair (tuple) of
541
+ (connection, read) timeouts.
542
+ :type _request_timeout: int, tuple(int, int), optional
543
+ :param _request_auth: set to override the auth_settings for an a single
544
+ request; this effectively ignores the
545
+ authentication in the spec for a single request.
546
+ :type _request_auth: dict, optional
547
+ :param _content_type: force content-type for the request.
548
+ :type _content_type: str, Optional
549
+ :param _headers: set to override the headers for a single
550
+ request; this effectively ignores the headers
551
+ in the spec for a single request.
552
+ :type _headers: dict, optional
553
+ :param _host_index: set to override the host_index for a single
554
+ request; this effectively ignores the host_index
555
+ in the spec for a single request.
556
+ :type _host_index: int, optional
557
+ :return: Returns the result object.
558
+ """ # noqa: E501
559
+
560
+ _param = self._delete_analysis_serialize(
561
+ analysis_id=analysis_id,
562
+ authorization=authorization,
563
+ _request_auth=_request_auth,
564
+ _content_type=_content_type,
565
+ _headers=_headers,
566
+ _host_index=_host_index
567
+ )
568
+
569
+ _response_types_map: Dict[str, Optional[str]] = {
570
+ '200': "BaseResponseDict",
571
+ '422': "BaseResponse",
572
+ '404': "BaseResponse",
573
+ '403': "BaseResponse",
574
+ }
575
+ response_data = self.api_client.call_api(
576
+ *_param,
577
+ _request_timeout=_request_timeout
578
+ )
579
+ return response_data.response
580
+
581
+
582
+ def _delete_analysis_serialize(
583
+ self,
584
+ analysis_id,
585
+ authorization,
586
+ _request_auth,
587
+ _content_type,
588
+ _headers,
589
+ _host_index,
590
+ ) -> RequestSerialized:
591
+
592
+ _host = None
593
+
594
+ _collection_formats: Dict[str, str] = {
595
+ }
596
+
597
+ _path_params: Dict[str, str] = {}
598
+ _query_params: List[Tuple[str, str]] = []
599
+ _header_params: Dict[str, Optional[str]] = _headers or {}
600
+ _form_params: List[Tuple[str, str]] = []
601
+ _files: Dict[
602
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
603
+ ] = {}
604
+ _body_params: Optional[bytes] = None
605
+
606
+ # process the path parameters
607
+ if analysis_id is not None:
608
+ _path_params['analysis_id'] = analysis_id
609
+ # process the query parameters
610
+ # process the header parameters
611
+ if authorization is not None:
612
+ _header_params['authorization'] = authorization
613
+ # process the form parameters
614
+ # process the body parameter
615
+
616
+
617
+ # set the HTTP header `Accept`
618
+ if 'Accept' not in _header_params:
619
+ _header_params['Accept'] = self.api_client.select_header_accept(
620
+ [
621
+ 'application/json'
622
+ ]
623
+ )
624
+
625
+
626
+ # authentication setting
627
+ _auth_settings: List[str] = [
628
+ 'APIKey'
629
+ ]
630
+
631
+ return self.api_client.param_serialize(
632
+ method='DELETE',
633
+ resource_path='/v2/analyses/{analysis_id}',
634
+ path_params=_path_params,
635
+ query_params=_query_params,
636
+ header_params=_header_params,
637
+ body=_body_params,
638
+ post_params=_form_params,
639
+ files=_files,
640
+ auth_settings=_auth_settings,
641
+ collection_formats=_collection_formats,
642
+ _host=_host,
643
+ _request_auth=_request_auth
644
+ )
645
+
646
+
647
+
648
+
649
+ @validate_call
650
+ def find_similar_functions_batch(
651
+ self,
652
+ analysis_id: StrictInt,
653
+ ann_function: ANNFunction,
654
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
655
+ _request_timeout: Union[
656
+ None,
657
+ Annotated[StrictFloat, Field(gt=0)],
658
+ Tuple[
659
+ Annotated[StrictFloat, Field(gt=0)],
660
+ Annotated[StrictFloat, Field(gt=0)]
661
+ ]
662
+ ] = None,
663
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
664
+ _content_type: Optional[StrictStr] = None,
665
+ _headers: Optional[Dict[StrictStr, Any]] = None,
666
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
667
+ ) -> BaseResponseNearestNeighborAnalysis:
668
+ """Batch Symbol ANN using Analysis ID
669
+
670
+ Takes a analysis ID and returns the nearest functions within the database that match those functions
671
+
672
+ :param analysis_id: (required)
673
+ :type analysis_id: int
674
+ :param ann_function: (required)
675
+ :type ann_function: ANNFunction
676
+ :param authorization: API Key bearer token
677
+ :type authorization: str
678
+ :param _request_timeout: timeout setting for this request. If one
679
+ number provided, it will be total request
680
+ timeout. It can also be a pair (tuple) of
681
+ (connection, read) timeouts.
682
+ :type _request_timeout: int, tuple(int, int), optional
683
+ :param _request_auth: set to override the auth_settings for an a single
684
+ request; this effectively ignores the
685
+ authentication in the spec for a single request.
686
+ :type _request_auth: dict, optional
687
+ :param _content_type: force content-type for the request.
688
+ :type _content_type: str, Optional
689
+ :param _headers: set to override the headers for a single
690
+ request; this effectively ignores the headers
691
+ in the spec for a single request.
692
+ :type _headers: dict, optional
693
+ :param _host_index: set to override the host_index for a single
694
+ request; this effectively ignores the host_index
695
+ in the spec for a single request.
696
+ :type _host_index: int, optional
697
+ :return: Returns the result object.
698
+ """ # noqa: E501
699
+
700
+ _param = self._find_similar_functions_batch_serialize(
701
+ analysis_id=analysis_id,
702
+ ann_function=ann_function,
703
+ authorization=authorization,
704
+ _request_auth=_request_auth,
705
+ _content_type=_content_type,
706
+ _headers=_headers,
707
+ _host_index=_host_index
708
+ )
709
+
710
+ _response_types_map: Dict[str, Optional[str]] = {
711
+ '200': "BaseResponseNearestNeighborAnalysis",
712
+ '422': "BaseResponse",
713
+ }
714
+ response_data = self.api_client.call_api(
715
+ *_param,
716
+ _request_timeout=_request_timeout
717
+ )
718
+ response_data.read()
719
+ return self.api_client.response_deserialize(
720
+ response_data=response_data,
721
+ response_types_map=_response_types_map,
722
+ ).data
723
+
724
+
725
+ @validate_call
726
+ def find_similar_functions_batch_with_http_info(
727
+ self,
728
+ analysis_id: StrictInt,
729
+ ann_function: ANNFunction,
730
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
731
+ _request_timeout: Union[
732
+ None,
733
+ Annotated[StrictFloat, Field(gt=0)],
734
+ Tuple[
735
+ Annotated[StrictFloat, Field(gt=0)],
736
+ Annotated[StrictFloat, Field(gt=0)]
737
+ ]
738
+ ] = None,
739
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
740
+ _content_type: Optional[StrictStr] = None,
741
+ _headers: Optional[Dict[StrictStr, Any]] = None,
742
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
743
+ ) -> ApiResponse[BaseResponseNearestNeighborAnalysis]:
744
+ """Batch Symbol ANN using Analysis ID
745
+
746
+ Takes a analysis ID and returns the nearest functions within the database that match those functions
747
+
748
+ :param analysis_id: (required)
749
+ :type analysis_id: int
750
+ :param ann_function: (required)
751
+ :type ann_function: ANNFunction
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._find_similar_functions_batch_serialize(
777
+ analysis_id=analysis_id,
778
+ ann_function=ann_function,
779
+ authorization=authorization,
780
+ _request_auth=_request_auth,
781
+ _content_type=_content_type,
782
+ _headers=_headers,
783
+ _host_index=_host_index
784
+ )
785
+
786
+ _response_types_map: Dict[str, Optional[str]] = {
787
+ '200': "BaseResponseNearestNeighborAnalysis",
788
+ '422': "BaseResponse",
789
+ }
790
+ response_data = self.api_client.call_api(
791
+ *_param,
792
+ _request_timeout=_request_timeout
793
+ )
794
+ response_data.read()
795
+ return self.api_client.response_deserialize(
796
+ response_data=response_data,
797
+ response_types_map=_response_types_map,
798
+ )
799
+
800
+
801
+ @validate_call
802
+ def find_similar_functions_batch_without_preload_content(
803
+ self,
804
+ analysis_id: StrictInt,
805
+ ann_function: ANNFunction,
806
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
807
+ _request_timeout: Union[
808
+ None,
809
+ Annotated[StrictFloat, Field(gt=0)],
810
+ Tuple[
811
+ Annotated[StrictFloat, Field(gt=0)],
812
+ Annotated[StrictFloat, Field(gt=0)]
813
+ ]
814
+ ] = None,
815
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
816
+ _content_type: Optional[StrictStr] = None,
817
+ _headers: Optional[Dict[StrictStr, Any]] = None,
818
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
819
+ ) -> RESTResponseType:
820
+ """Batch Symbol ANN using Analysis ID
821
+
822
+ Takes a analysis ID and returns the nearest functions within the database that match those functions
823
+
824
+ :param analysis_id: (required)
825
+ :type analysis_id: int
826
+ :param ann_function: (required)
827
+ :type ann_function: ANNFunction
828
+ :param authorization: API Key bearer token
829
+ :type authorization: str
830
+ :param _request_timeout: timeout setting for this request. If one
831
+ number provided, it will be total request
832
+ timeout. It can also be a pair (tuple) of
833
+ (connection, read) timeouts.
834
+ :type _request_timeout: int, tuple(int, int), optional
835
+ :param _request_auth: set to override the auth_settings for an a single
836
+ request; this effectively ignores the
837
+ authentication in the spec for a single request.
838
+ :type _request_auth: dict, optional
839
+ :param _content_type: force content-type for the request.
840
+ :type _content_type: str, Optional
841
+ :param _headers: set to override the headers for a single
842
+ request; this effectively ignores the headers
843
+ in the spec for a single request.
844
+ :type _headers: dict, optional
845
+ :param _host_index: set to override the host_index for a single
846
+ request; this effectively ignores the host_index
847
+ in the spec for a single request.
848
+ :type _host_index: int, optional
849
+ :return: Returns the result object.
850
+ """ # noqa: E501
851
+
852
+ _param = self._find_similar_functions_batch_serialize(
853
+ analysis_id=analysis_id,
854
+ ann_function=ann_function,
855
+ authorization=authorization,
856
+ _request_auth=_request_auth,
857
+ _content_type=_content_type,
858
+ _headers=_headers,
859
+ _host_index=_host_index
860
+ )
861
+
862
+ _response_types_map: Dict[str, Optional[str]] = {
863
+ '200': "BaseResponseNearestNeighborAnalysis",
864
+ '422': "BaseResponse",
865
+ }
866
+ response_data = self.api_client.call_api(
867
+ *_param,
868
+ _request_timeout=_request_timeout
869
+ )
870
+ return response_data.response
871
+
872
+
873
+ def _find_similar_functions_batch_serialize(
874
+ self,
875
+ analysis_id,
876
+ ann_function,
877
+ authorization,
878
+ _request_auth,
879
+ _content_type,
880
+ _headers,
881
+ _host_index,
882
+ ) -> RequestSerialized:
883
+
884
+ _host = None
885
+
886
+ _collection_formats: Dict[str, str] = {
887
+ }
888
+
889
+ _path_params: Dict[str, str] = {}
890
+ _query_params: List[Tuple[str, str]] = []
891
+ _header_params: Dict[str, Optional[str]] = _headers or {}
892
+ _form_params: List[Tuple[str, str]] = []
893
+ _files: Dict[
894
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
895
+ ] = {}
896
+ _body_params: Optional[bytes] = None
897
+
898
+ # process the path parameters
899
+ if analysis_id is not None:
900
+ _path_params['analysis_id'] = analysis_id
901
+ # process the query parameters
902
+ # process the header parameters
903
+ if authorization is not None:
904
+ _header_params['authorization'] = authorization
905
+ # process the form parameters
906
+ # process the body parameter
907
+ if ann_function is not None:
908
+ _body_params = ann_function
909
+
910
+
911
+ # set the HTTP header `Accept`
912
+ if 'Accept' not in _header_params:
913
+ _header_params['Accept'] = self.api_client.select_header_accept(
914
+ [
915
+ 'application/json'
916
+ ]
917
+ )
918
+
919
+ # set the HTTP header `Content-Type`
920
+ if _content_type:
921
+ _header_params['Content-Type'] = _content_type
922
+ else:
923
+ _default_content_type = (
924
+ self.api_client.select_header_content_type(
925
+ [
926
+ 'application/json'
927
+ ]
928
+ )
929
+ )
930
+ if _default_content_type is not None:
931
+ _header_params['Content-Type'] = _default_content_type
932
+
933
+ # authentication setting
934
+ _auth_settings: List[str] = [
935
+ 'APIKey'
936
+ ]
937
+
938
+ return self.api_client.param_serialize(
939
+ method='POST',
940
+ resource_path='/v2/analyses/{analysis_id}/similarity/functions',
941
+ path_params=_path_params,
942
+ query_params=_query_params,
943
+ header_params=_header_params,
944
+ body=_body_params,
945
+ post_params=_form_params,
946
+ files=_files,
947
+ auth_settings=_auth_settings,
948
+ collection_formats=_collection_formats,
949
+ _host=_host,
950
+ _request_auth=_request_auth
951
+ )
952
+
953
+
954
+
955
+
956
+ @validate_call
957
+ def get_analysis_basic_info(
958
+ self,
959
+ analysis_id: StrictInt,
960
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
961
+ _request_timeout: Union[
962
+ None,
963
+ Annotated[StrictFloat, Field(gt=0)],
964
+ Tuple[
965
+ Annotated[StrictFloat, Field(gt=0)],
966
+ Annotated[StrictFloat, Field(gt=0)]
967
+ ]
968
+ ] = None,
969
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
970
+ _content_type: Optional[StrictStr] = None,
971
+ _headers: Optional[Dict[StrictStr, Any]] = None,
972
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
973
+ ) -> BaseResponseBasic:
974
+ """Gets basic analysis information
975
+
976
+ Just a random placeholder for now
977
+
978
+ :param analysis_id: (required)
979
+ :type analysis_id: int
980
+ :param authorization: API Key bearer token
981
+ :type authorization: str
982
+ :param _request_timeout: timeout setting for this request. If one
983
+ number provided, it will be total request
984
+ timeout. It can also be a pair (tuple) of
985
+ (connection, read) timeouts.
986
+ :type _request_timeout: int, tuple(int, int), optional
987
+ :param _request_auth: set to override the auth_settings for an a single
988
+ request; this effectively ignores the
989
+ authentication in the spec for a single request.
990
+ :type _request_auth: dict, optional
991
+ :param _content_type: force content-type for the request.
992
+ :type _content_type: str, Optional
993
+ :param _headers: set to override the headers for a single
994
+ request; this effectively ignores the headers
995
+ in the spec for a single request.
996
+ :type _headers: dict, optional
997
+ :param _host_index: set to override the host_index for a single
998
+ request; this effectively ignores the host_index
999
+ in the spec for a single request.
1000
+ :type _host_index: int, optional
1001
+ :return: Returns the result object.
1002
+ """ # noqa: E501
1003
+
1004
+ _param = self._get_analysis_basic_info_serialize(
1005
+ analysis_id=analysis_id,
1006
+ authorization=authorization,
1007
+ _request_auth=_request_auth,
1008
+ _content_type=_content_type,
1009
+ _headers=_headers,
1010
+ _host_index=_host_index
1011
+ )
1012
+
1013
+ _response_types_map: Dict[str, Optional[str]] = {
1014
+ '200': "BaseResponseBasic",
1015
+ '422': "BaseResponse",
1016
+ }
1017
+ response_data = self.api_client.call_api(
1018
+ *_param,
1019
+ _request_timeout=_request_timeout
1020
+ )
1021
+ response_data.read()
1022
+ return self.api_client.response_deserialize(
1023
+ response_data=response_data,
1024
+ response_types_map=_response_types_map,
1025
+ ).data
1026
+
1027
+
1028
+ @validate_call
1029
+ def get_analysis_basic_info_with_http_info(
1030
+ self,
1031
+ analysis_id: StrictInt,
1032
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
1033
+ _request_timeout: Union[
1034
+ None,
1035
+ Annotated[StrictFloat, Field(gt=0)],
1036
+ Tuple[
1037
+ Annotated[StrictFloat, Field(gt=0)],
1038
+ Annotated[StrictFloat, Field(gt=0)]
1039
+ ]
1040
+ ] = None,
1041
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1042
+ _content_type: Optional[StrictStr] = None,
1043
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1044
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1045
+ ) -> ApiResponse[BaseResponseBasic]:
1046
+ """Gets basic analysis information
1047
+
1048
+ Just a random placeholder for now
1049
+
1050
+ :param analysis_id: (required)
1051
+ :type analysis_id: int
1052
+ :param authorization: API Key bearer token
1053
+ :type authorization: str
1054
+ :param _request_timeout: timeout setting for this request. If one
1055
+ number provided, it will be total request
1056
+ timeout. It can also be a pair (tuple) of
1057
+ (connection, read) timeouts.
1058
+ :type _request_timeout: int, tuple(int, int), optional
1059
+ :param _request_auth: set to override the auth_settings for an a single
1060
+ request; this effectively ignores the
1061
+ authentication in the spec for a single request.
1062
+ :type _request_auth: dict, optional
1063
+ :param _content_type: force content-type for the request.
1064
+ :type _content_type: str, Optional
1065
+ :param _headers: set to override the headers for a single
1066
+ request; this effectively ignores the headers
1067
+ in the spec for a single request.
1068
+ :type _headers: dict, optional
1069
+ :param _host_index: set to override the host_index for a single
1070
+ request; this effectively ignores the host_index
1071
+ in the spec for a single request.
1072
+ :type _host_index: int, optional
1073
+ :return: Returns the result object.
1074
+ """ # noqa: E501
1075
+
1076
+ _param = self._get_analysis_basic_info_serialize(
1077
+ analysis_id=analysis_id,
1078
+ authorization=authorization,
1079
+ _request_auth=_request_auth,
1080
+ _content_type=_content_type,
1081
+ _headers=_headers,
1082
+ _host_index=_host_index
1083
+ )
1084
+
1085
+ _response_types_map: Dict[str, Optional[str]] = {
1086
+ '200': "BaseResponseBasic",
1087
+ '422': "BaseResponse",
1088
+ }
1089
+ response_data = self.api_client.call_api(
1090
+ *_param,
1091
+ _request_timeout=_request_timeout
1092
+ )
1093
+ response_data.read()
1094
+ return self.api_client.response_deserialize(
1095
+ response_data=response_data,
1096
+ response_types_map=_response_types_map,
1097
+ )
1098
+
1099
+
1100
+ @validate_call
1101
+ def get_analysis_basic_info_without_preload_content(
1102
+ self,
1103
+ analysis_id: StrictInt,
1104
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
1105
+ _request_timeout: Union[
1106
+ None,
1107
+ Annotated[StrictFloat, Field(gt=0)],
1108
+ Tuple[
1109
+ Annotated[StrictFloat, Field(gt=0)],
1110
+ Annotated[StrictFloat, Field(gt=0)]
1111
+ ]
1112
+ ] = None,
1113
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1114
+ _content_type: Optional[StrictStr] = None,
1115
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1116
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1117
+ ) -> RESTResponseType:
1118
+ """Gets basic analysis information
1119
+
1120
+ Just a random placeholder for now
1121
+
1122
+ :param analysis_id: (required)
1123
+ :type analysis_id: int
1124
+ :param authorization: API Key bearer token
1125
+ :type authorization: str
1126
+ :param _request_timeout: timeout setting for this request. If one
1127
+ number provided, it will be total request
1128
+ timeout. It can also be a pair (tuple) of
1129
+ (connection, read) timeouts.
1130
+ :type _request_timeout: int, tuple(int, int), optional
1131
+ :param _request_auth: set to override the auth_settings for an a single
1132
+ request; this effectively ignores the
1133
+ authentication in the spec for a single request.
1134
+ :type _request_auth: dict, optional
1135
+ :param _content_type: force content-type for the request.
1136
+ :type _content_type: str, Optional
1137
+ :param _headers: set to override the headers for a single
1138
+ request; this effectively ignores the headers
1139
+ in the spec for a single request.
1140
+ :type _headers: dict, optional
1141
+ :param _host_index: set to override the host_index for a single
1142
+ request; this effectively ignores the host_index
1143
+ in the spec for a single request.
1144
+ :type _host_index: int, optional
1145
+ :return: Returns the result object.
1146
+ """ # noqa: E501
1147
+
1148
+ _param = self._get_analysis_basic_info_serialize(
1149
+ analysis_id=analysis_id,
1150
+ authorization=authorization,
1151
+ _request_auth=_request_auth,
1152
+ _content_type=_content_type,
1153
+ _headers=_headers,
1154
+ _host_index=_host_index
1155
+ )
1156
+
1157
+ _response_types_map: Dict[str, Optional[str]] = {
1158
+ '200': "BaseResponseBasic",
1159
+ '422': "BaseResponse",
1160
+ }
1161
+ response_data = self.api_client.call_api(
1162
+ *_param,
1163
+ _request_timeout=_request_timeout
1164
+ )
1165
+ return response_data.response
1166
+
1167
+
1168
+ def _get_analysis_basic_info_serialize(
1169
+ self,
1170
+ analysis_id,
1171
+ authorization,
1172
+ _request_auth,
1173
+ _content_type,
1174
+ _headers,
1175
+ _host_index,
1176
+ ) -> RequestSerialized:
1177
+
1178
+ _host = None
1179
+
1180
+ _collection_formats: Dict[str, str] = {
1181
+ }
1182
+
1183
+ _path_params: Dict[str, str] = {}
1184
+ _query_params: List[Tuple[str, str]] = []
1185
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1186
+ _form_params: List[Tuple[str, str]] = []
1187
+ _files: Dict[
1188
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1189
+ ] = {}
1190
+ _body_params: Optional[bytes] = None
1191
+
1192
+ # process the path parameters
1193
+ if analysis_id is not None:
1194
+ _path_params['analysis_id'] = analysis_id
1195
+ # process the query parameters
1196
+ # process the header parameters
1197
+ if authorization is not None:
1198
+ _header_params['authorization'] = authorization
1199
+ # process the form parameters
1200
+ # process the body parameter
1201
+
1202
+
1203
+ # set the HTTP header `Accept`
1204
+ if 'Accept' not in _header_params:
1205
+ _header_params['Accept'] = self.api_client.select_header_accept(
1206
+ [
1207
+ 'application/json'
1208
+ ]
1209
+ )
1210
+
1211
+
1212
+ # authentication setting
1213
+ _auth_settings: List[str] = [
1214
+ 'APIKey'
1215
+ ]
1216
+
1217
+ return self.api_client.param_serialize(
1218
+ method='GET',
1219
+ resource_path='/v2/analyses/{analysis_id}/basic',
1220
+ path_params=_path_params,
1221
+ query_params=_query_params,
1222
+ header_params=_header_params,
1223
+ body=_body_params,
1224
+ post_params=_form_params,
1225
+ files=_files,
1226
+ auth_settings=_auth_settings,
1227
+ collection_formats=_collection_formats,
1228
+ _host=_host,
1229
+ _request_auth=_request_auth
1230
+ )
1231
+
1232
+
1233
+
1234
+
1235
+ @validate_call
1236
+ def get_analysis_logs(
1237
+ self,
1238
+ analysis_id: StrictInt,
1239
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
1240
+ _request_timeout: Union[
1241
+ None,
1242
+ Annotated[StrictFloat, Field(gt=0)],
1243
+ Tuple[
1244
+ Annotated[StrictFloat, Field(gt=0)],
1245
+ Annotated[StrictFloat, Field(gt=0)]
1246
+ ]
1247
+ ] = None,
1248
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1249
+ _content_type: Optional[StrictStr] = None,
1250
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1251
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1252
+ ) -> BaseResponseLogs:
1253
+ """Gets the logs of an analysis
1254
+
1255
+ Given an analysis ID gets the current logs of an analysis
1256
+
1257
+ :param analysis_id: (required)
1258
+ :type analysis_id: int
1259
+ :param authorization: API Key bearer token
1260
+ :type authorization: str
1261
+ :param _request_timeout: timeout setting for this request. If one
1262
+ number provided, it will be total request
1263
+ timeout. It can also be a pair (tuple) of
1264
+ (connection, read) timeouts.
1265
+ :type _request_timeout: int, tuple(int, int), optional
1266
+ :param _request_auth: set to override the auth_settings for an a single
1267
+ request; this effectively ignores the
1268
+ authentication in the spec for a single request.
1269
+ :type _request_auth: dict, optional
1270
+ :param _content_type: force content-type for the request.
1271
+ :type _content_type: str, Optional
1272
+ :param _headers: set to override the headers for a single
1273
+ request; this effectively ignores the headers
1274
+ in the spec for a single request.
1275
+ :type _headers: dict, optional
1276
+ :param _host_index: set to override the host_index for a single
1277
+ request; this effectively ignores the host_index
1278
+ in the spec for a single request.
1279
+ :type _host_index: int, optional
1280
+ :return: Returns the result object.
1281
+ """ # noqa: E501
1282
+
1283
+ _param = self._get_analysis_logs_serialize(
1284
+ analysis_id=analysis_id,
1285
+ authorization=authorization,
1286
+ _request_auth=_request_auth,
1287
+ _content_type=_content_type,
1288
+ _headers=_headers,
1289
+ _host_index=_host_index
1290
+ )
1291
+
1292
+ _response_types_map: Dict[str, Optional[str]] = {
1293
+ '200': "BaseResponseLogs",
1294
+ '422': "BaseResponse",
1295
+ }
1296
+ response_data = self.api_client.call_api(
1297
+ *_param,
1298
+ _request_timeout=_request_timeout
1299
+ )
1300
+ response_data.read()
1301
+ return self.api_client.response_deserialize(
1302
+ response_data=response_data,
1303
+ response_types_map=_response_types_map,
1304
+ ).data
1305
+
1306
+
1307
+ @validate_call
1308
+ def get_analysis_logs_with_http_info(
1309
+ self,
1310
+ analysis_id: StrictInt,
1311
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
1312
+ _request_timeout: Union[
1313
+ None,
1314
+ Annotated[StrictFloat, Field(gt=0)],
1315
+ Tuple[
1316
+ Annotated[StrictFloat, Field(gt=0)],
1317
+ Annotated[StrictFloat, Field(gt=0)]
1318
+ ]
1319
+ ] = None,
1320
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1321
+ _content_type: Optional[StrictStr] = None,
1322
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1323
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1324
+ ) -> ApiResponse[BaseResponseLogs]:
1325
+ """Gets the logs of an analysis
1326
+
1327
+ Given an analysis ID gets the current logs of an analysis
1328
+
1329
+ :param analysis_id: (required)
1330
+ :type analysis_id: int
1331
+ :param authorization: API Key bearer token
1332
+ :type authorization: str
1333
+ :param _request_timeout: timeout setting for this request. If one
1334
+ number provided, it will be total request
1335
+ timeout. It can also be a pair (tuple) of
1336
+ (connection, read) timeouts.
1337
+ :type _request_timeout: int, tuple(int, int), optional
1338
+ :param _request_auth: set to override the auth_settings for an a single
1339
+ request; this effectively ignores the
1340
+ authentication in the spec for a single request.
1341
+ :type _request_auth: dict, optional
1342
+ :param _content_type: force content-type for the request.
1343
+ :type _content_type: str, Optional
1344
+ :param _headers: set to override the headers for a single
1345
+ request; this effectively ignores the headers
1346
+ in the spec for a single request.
1347
+ :type _headers: dict, optional
1348
+ :param _host_index: set to override the host_index for a single
1349
+ request; this effectively ignores the host_index
1350
+ in the spec for a single request.
1351
+ :type _host_index: int, optional
1352
+ :return: Returns the result object.
1353
+ """ # noqa: E501
1354
+
1355
+ _param = self._get_analysis_logs_serialize(
1356
+ analysis_id=analysis_id,
1357
+ authorization=authorization,
1358
+ _request_auth=_request_auth,
1359
+ _content_type=_content_type,
1360
+ _headers=_headers,
1361
+ _host_index=_host_index
1362
+ )
1363
+
1364
+ _response_types_map: Dict[str, Optional[str]] = {
1365
+ '200': "BaseResponseLogs",
1366
+ '422': "BaseResponse",
1367
+ }
1368
+ response_data = self.api_client.call_api(
1369
+ *_param,
1370
+ _request_timeout=_request_timeout
1371
+ )
1372
+ response_data.read()
1373
+ return self.api_client.response_deserialize(
1374
+ response_data=response_data,
1375
+ response_types_map=_response_types_map,
1376
+ )
1377
+
1378
+
1379
+ @validate_call
1380
+ def get_analysis_logs_without_preload_content(
1381
+ self,
1382
+ analysis_id: StrictInt,
1383
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
1384
+ _request_timeout: Union[
1385
+ None,
1386
+ Annotated[StrictFloat, Field(gt=0)],
1387
+ Tuple[
1388
+ Annotated[StrictFloat, Field(gt=0)],
1389
+ Annotated[StrictFloat, Field(gt=0)]
1390
+ ]
1391
+ ] = None,
1392
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1393
+ _content_type: Optional[StrictStr] = None,
1394
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1395
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1396
+ ) -> RESTResponseType:
1397
+ """Gets the logs of an analysis
1398
+
1399
+ Given an analysis ID gets the current logs of an analysis
1400
+
1401
+ :param analysis_id: (required)
1402
+ :type analysis_id: int
1403
+ :param authorization: API Key bearer token
1404
+ :type authorization: str
1405
+ :param _request_timeout: timeout setting for this request. If one
1406
+ number provided, it will be total request
1407
+ timeout. It can also be a pair (tuple) of
1408
+ (connection, read) timeouts.
1409
+ :type _request_timeout: int, tuple(int, int), optional
1410
+ :param _request_auth: set to override the auth_settings for an a single
1411
+ request; this effectively ignores the
1412
+ authentication in the spec for a single request.
1413
+ :type _request_auth: dict, optional
1414
+ :param _content_type: force content-type for the request.
1415
+ :type _content_type: str, Optional
1416
+ :param _headers: set to override the headers for a single
1417
+ request; this effectively ignores the headers
1418
+ in the spec for a single request.
1419
+ :type _headers: dict, optional
1420
+ :param _host_index: set to override the host_index for a single
1421
+ request; this effectively ignores the host_index
1422
+ in the spec for a single request.
1423
+ :type _host_index: int, optional
1424
+ :return: Returns the result object.
1425
+ """ # noqa: E501
1426
+
1427
+ _param = self._get_analysis_logs_serialize(
1428
+ analysis_id=analysis_id,
1429
+ authorization=authorization,
1430
+ _request_auth=_request_auth,
1431
+ _content_type=_content_type,
1432
+ _headers=_headers,
1433
+ _host_index=_host_index
1434
+ )
1435
+
1436
+ _response_types_map: Dict[str, Optional[str]] = {
1437
+ '200': "BaseResponseLogs",
1438
+ '422': "BaseResponse",
1439
+ }
1440
+ response_data = self.api_client.call_api(
1441
+ *_param,
1442
+ _request_timeout=_request_timeout
1443
+ )
1444
+ return response_data.response
1445
+
1446
+
1447
+ def _get_analysis_logs_serialize(
1448
+ self,
1449
+ analysis_id,
1450
+ authorization,
1451
+ _request_auth,
1452
+ _content_type,
1453
+ _headers,
1454
+ _host_index,
1455
+ ) -> RequestSerialized:
1456
+
1457
+ _host = None
1458
+
1459
+ _collection_formats: Dict[str, str] = {
1460
+ }
1461
+
1462
+ _path_params: Dict[str, str] = {}
1463
+ _query_params: List[Tuple[str, str]] = []
1464
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1465
+ _form_params: List[Tuple[str, str]] = []
1466
+ _files: Dict[
1467
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1468
+ ] = {}
1469
+ _body_params: Optional[bytes] = None
1470
+
1471
+ # process the path parameters
1472
+ if analysis_id is not None:
1473
+ _path_params['analysis_id'] = analysis_id
1474
+ # process the query parameters
1475
+ # process the header parameters
1476
+ if authorization is not None:
1477
+ _header_params['authorization'] = authorization
1478
+ # process the form parameters
1479
+ # process the body parameter
1480
+
1481
+
1482
+ # set the HTTP header `Accept`
1483
+ if 'Accept' not in _header_params:
1484
+ _header_params['Accept'] = self.api_client.select_header_accept(
1485
+ [
1486
+ 'application/json'
1487
+ ]
1488
+ )
1489
+
1490
+
1491
+ # authentication setting
1492
+ _auth_settings: List[str] = [
1493
+ 'APIKey'
1494
+ ]
1495
+
1496
+ return self.api_client.param_serialize(
1497
+ method='GET',
1498
+ resource_path='/v2/analyses/{analysis_id}/logs',
1499
+ path_params=_path_params,
1500
+ query_params=_query_params,
1501
+ header_params=_header_params,
1502
+ body=_body_params,
1503
+ post_params=_form_params,
1504
+ files=_files,
1505
+ auth_settings=_auth_settings,
1506
+ collection_formats=_collection_formats,
1507
+ _host=_host,
1508
+ _request_auth=_request_auth
1509
+ )
1510
+
1511
+
1512
+
1513
+
1514
+ @validate_call
1515
+ def get_analysis_params(
1516
+ self,
1517
+ analysis_id: StrictInt,
1518
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
1519
+ _request_timeout: Union[
1520
+ None,
1521
+ Annotated[StrictFloat, Field(gt=0)],
1522
+ Tuple[
1523
+ Annotated[StrictFloat, Field(gt=0)],
1524
+ Annotated[StrictFloat, Field(gt=0)]
1525
+ ]
1526
+ ] = None,
1527
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1528
+ _content_type: Optional[StrictStr] = None,
1529
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1530
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1531
+ ) -> BaseResponseParams:
1532
+ """Gets analysis param information
1533
+
1534
+ Gets the params that the analysis was run with
1535
+
1536
+ :param analysis_id: (required)
1537
+ :type analysis_id: int
1538
+ :param authorization: API Key bearer token
1539
+ :type authorization: str
1540
+ :param _request_timeout: timeout setting for this request. If one
1541
+ number provided, it will be total request
1542
+ timeout. It can also be a pair (tuple) of
1543
+ (connection, read) timeouts.
1544
+ :type _request_timeout: int, tuple(int, int), optional
1545
+ :param _request_auth: set to override the auth_settings for an a single
1546
+ request; this effectively ignores the
1547
+ authentication in the spec for a single request.
1548
+ :type _request_auth: dict, optional
1549
+ :param _content_type: force content-type for the request.
1550
+ :type _content_type: str, Optional
1551
+ :param _headers: set to override the headers for a single
1552
+ request; this effectively ignores the headers
1553
+ in the spec for a single request.
1554
+ :type _headers: dict, optional
1555
+ :param _host_index: set to override the host_index for a single
1556
+ request; this effectively ignores the host_index
1557
+ in the spec for a single request.
1558
+ :type _host_index: int, optional
1559
+ :return: Returns the result object.
1560
+ """ # noqa: E501
1561
+
1562
+ _param = self._get_analysis_params_serialize(
1563
+ analysis_id=analysis_id,
1564
+ authorization=authorization,
1565
+ _request_auth=_request_auth,
1566
+ _content_type=_content_type,
1567
+ _headers=_headers,
1568
+ _host_index=_host_index
1569
+ )
1570
+
1571
+ _response_types_map: Dict[str, Optional[str]] = {
1572
+ '200': "BaseResponseParams",
1573
+ '422': "BaseResponse",
1574
+ }
1575
+ response_data = self.api_client.call_api(
1576
+ *_param,
1577
+ _request_timeout=_request_timeout
1578
+ )
1579
+ response_data.read()
1580
+ return self.api_client.response_deserialize(
1581
+ response_data=response_data,
1582
+ response_types_map=_response_types_map,
1583
+ ).data
1584
+
1585
+
1586
+ @validate_call
1587
+ def get_analysis_params_with_http_info(
1588
+ self,
1589
+ analysis_id: StrictInt,
1590
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
1591
+ _request_timeout: Union[
1592
+ None,
1593
+ Annotated[StrictFloat, Field(gt=0)],
1594
+ Tuple[
1595
+ Annotated[StrictFloat, Field(gt=0)],
1596
+ Annotated[StrictFloat, Field(gt=0)]
1597
+ ]
1598
+ ] = None,
1599
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1600
+ _content_type: Optional[StrictStr] = None,
1601
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1602
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1603
+ ) -> ApiResponse[BaseResponseParams]:
1604
+ """Gets analysis param information
1605
+
1606
+ Gets the params that the analysis was run with
1607
+
1608
+ :param analysis_id: (required)
1609
+ :type analysis_id: int
1610
+ :param authorization: API Key bearer token
1611
+ :type authorization: str
1612
+ :param _request_timeout: timeout setting for this request. If one
1613
+ number provided, it will be total request
1614
+ timeout. It can also be a pair (tuple) of
1615
+ (connection, read) timeouts.
1616
+ :type _request_timeout: int, tuple(int, int), optional
1617
+ :param _request_auth: set to override the auth_settings for an a single
1618
+ request; this effectively ignores the
1619
+ authentication in the spec for a single request.
1620
+ :type _request_auth: dict, optional
1621
+ :param _content_type: force content-type for the request.
1622
+ :type _content_type: str, Optional
1623
+ :param _headers: set to override the headers for a single
1624
+ request; this effectively ignores the headers
1625
+ in the spec for a single request.
1626
+ :type _headers: dict, optional
1627
+ :param _host_index: set to override the host_index for a single
1628
+ request; this effectively ignores the host_index
1629
+ in the spec for a single request.
1630
+ :type _host_index: int, optional
1631
+ :return: Returns the result object.
1632
+ """ # noqa: E501
1633
+
1634
+ _param = self._get_analysis_params_serialize(
1635
+ analysis_id=analysis_id,
1636
+ authorization=authorization,
1637
+ _request_auth=_request_auth,
1638
+ _content_type=_content_type,
1639
+ _headers=_headers,
1640
+ _host_index=_host_index
1641
+ )
1642
+
1643
+ _response_types_map: Dict[str, Optional[str]] = {
1644
+ '200': "BaseResponseParams",
1645
+ '422': "BaseResponse",
1646
+ }
1647
+ response_data = self.api_client.call_api(
1648
+ *_param,
1649
+ _request_timeout=_request_timeout
1650
+ )
1651
+ response_data.read()
1652
+ return self.api_client.response_deserialize(
1653
+ response_data=response_data,
1654
+ response_types_map=_response_types_map,
1655
+ )
1656
+
1657
+
1658
+ @validate_call
1659
+ def get_analysis_params_without_preload_content(
1660
+ self,
1661
+ analysis_id: StrictInt,
1662
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
1663
+ _request_timeout: Union[
1664
+ None,
1665
+ Annotated[StrictFloat, Field(gt=0)],
1666
+ Tuple[
1667
+ Annotated[StrictFloat, Field(gt=0)],
1668
+ Annotated[StrictFloat, Field(gt=0)]
1669
+ ]
1670
+ ] = None,
1671
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1672
+ _content_type: Optional[StrictStr] = None,
1673
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1674
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1675
+ ) -> RESTResponseType:
1676
+ """Gets analysis param information
1677
+
1678
+ Gets the params that the analysis was run with
1679
+
1680
+ :param analysis_id: (required)
1681
+ :type analysis_id: int
1682
+ :param authorization: API Key bearer token
1683
+ :type authorization: str
1684
+ :param _request_timeout: timeout setting for this request. If one
1685
+ number provided, it will be total request
1686
+ timeout. It can also be a pair (tuple) of
1687
+ (connection, read) timeouts.
1688
+ :type _request_timeout: int, tuple(int, int), optional
1689
+ :param _request_auth: set to override the auth_settings for an a single
1690
+ request; this effectively ignores the
1691
+ authentication in the spec for a single request.
1692
+ :type _request_auth: dict, optional
1693
+ :param _content_type: force content-type for the request.
1694
+ :type _content_type: str, Optional
1695
+ :param _headers: set to override the headers for a single
1696
+ request; this effectively ignores the headers
1697
+ in the spec for a single request.
1698
+ :type _headers: dict, optional
1699
+ :param _host_index: set to override the host_index for a single
1700
+ request; this effectively ignores the host_index
1701
+ in the spec for a single request.
1702
+ :type _host_index: int, optional
1703
+ :return: Returns the result object.
1704
+ """ # noqa: E501
1705
+
1706
+ _param = self._get_analysis_params_serialize(
1707
+ analysis_id=analysis_id,
1708
+ authorization=authorization,
1709
+ _request_auth=_request_auth,
1710
+ _content_type=_content_type,
1711
+ _headers=_headers,
1712
+ _host_index=_host_index
1713
+ )
1714
+
1715
+ _response_types_map: Dict[str, Optional[str]] = {
1716
+ '200': "BaseResponseParams",
1717
+ '422': "BaseResponse",
1718
+ }
1719
+ response_data = self.api_client.call_api(
1720
+ *_param,
1721
+ _request_timeout=_request_timeout
1722
+ )
1723
+ return response_data.response
1724
+
1725
+
1726
+ def _get_analysis_params_serialize(
1727
+ self,
1728
+ analysis_id,
1729
+ authorization,
1730
+ _request_auth,
1731
+ _content_type,
1732
+ _headers,
1733
+ _host_index,
1734
+ ) -> RequestSerialized:
1735
+
1736
+ _host = None
1737
+
1738
+ _collection_formats: Dict[str, str] = {
1739
+ }
1740
+
1741
+ _path_params: Dict[str, str] = {}
1742
+ _query_params: List[Tuple[str, str]] = []
1743
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1744
+ _form_params: List[Tuple[str, str]] = []
1745
+ _files: Dict[
1746
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1747
+ ] = {}
1748
+ _body_params: Optional[bytes] = None
1749
+
1750
+ # process the path parameters
1751
+ if analysis_id is not None:
1752
+ _path_params['analysis_id'] = analysis_id
1753
+ # process the query parameters
1754
+ # process the header parameters
1755
+ if authorization is not None:
1756
+ _header_params['authorization'] = authorization
1757
+ # process the form parameters
1758
+ # process the body parameter
1759
+
1760
+
1761
+ # set the HTTP header `Accept`
1762
+ if 'Accept' not in _header_params:
1763
+ _header_params['Accept'] = self.api_client.select_header_accept(
1764
+ [
1765
+ 'application/json'
1766
+ ]
1767
+ )
1768
+
1769
+
1770
+ # authentication setting
1771
+ _auth_settings: List[str] = [
1772
+ 'APIKey'
1773
+ ]
1774
+
1775
+ return self.api_client.param_serialize(
1776
+ method='GET',
1777
+ resource_path='/v2/analyses/{analysis_id}/params',
1778
+ path_params=_path_params,
1779
+ query_params=_query_params,
1780
+ header_params=_header_params,
1781
+ body=_body_params,
1782
+ post_params=_form_params,
1783
+ files=_files,
1784
+ auth_settings=_auth_settings,
1785
+ collection_formats=_collection_formats,
1786
+ _host=_host,
1787
+ _request_auth=_request_auth
1788
+ )
1789
+
1790
+
1791
+
1792
+
1793
+ @validate_call
1794
+ def get_analysis_status(
1795
+ self,
1796
+ analysis_id: StrictInt,
1797
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
1798
+ _request_timeout: Union[
1799
+ None,
1800
+ Annotated[StrictFloat, Field(gt=0)],
1801
+ Tuple[
1802
+ Annotated[StrictFloat, Field(gt=0)],
1803
+ Annotated[StrictFloat, Field(gt=0)]
1804
+ ]
1805
+ ] = None,
1806
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1807
+ _content_type: Optional[StrictStr] = None,
1808
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1809
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1810
+ ) -> BaseResponseStatus:
1811
+ """Gets the status of an analysis
1812
+
1813
+ Given an analysis ID gets the current status of the analysis
1814
+
1815
+ :param analysis_id: (required)
1816
+ :type analysis_id: int
1817
+ :param authorization: API Key bearer token
1818
+ :type authorization: str
1819
+ :param _request_timeout: timeout setting for this request. If one
1820
+ number provided, it will be total request
1821
+ timeout. It can also be a pair (tuple) of
1822
+ (connection, read) timeouts.
1823
+ :type _request_timeout: int, tuple(int, int), optional
1824
+ :param _request_auth: set to override the auth_settings for an a single
1825
+ request; this effectively ignores the
1826
+ authentication in the spec for a single request.
1827
+ :type _request_auth: dict, optional
1828
+ :param _content_type: force content-type for the request.
1829
+ :type _content_type: str, Optional
1830
+ :param _headers: set to override the headers for a single
1831
+ request; this effectively ignores the headers
1832
+ in the spec for a single request.
1833
+ :type _headers: dict, optional
1834
+ :param _host_index: set to override the host_index for a single
1835
+ request; this effectively ignores the host_index
1836
+ in the spec for a single request.
1837
+ :type _host_index: int, optional
1838
+ :return: Returns the result object.
1839
+ """ # noqa: E501
1840
+
1841
+ _param = self._get_analysis_status_serialize(
1842
+ analysis_id=analysis_id,
1843
+ authorization=authorization,
1844
+ _request_auth=_request_auth,
1845
+ _content_type=_content_type,
1846
+ _headers=_headers,
1847
+ _host_index=_host_index
1848
+ )
1849
+
1850
+ _response_types_map: Dict[str, Optional[str]] = {
1851
+ '200': "BaseResponseStatus",
1852
+ '422': "BaseResponse",
1853
+ }
1854
+ response_data = self.api_client.call_api(
1855
+ *_param,
1856
+ _request_timeout=_request_timeout
1857
+ )
1858
+ response_data.read()
1859
+ return self.api_client.response_deserialize(
1860
+ response_data=response_data,
1861
+ response_types_map=_response_types_map,
1862
+ ).data
1863
+
1864
+
1865
+ @validate_call
1866
+ def get_analysis_status_with_http_info(
1867
+ self,
1868
+ analysis_id: StrictInt,
1869
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
1870
+ _request_timeout: Union[
1871
+ None,
1872
+ Annotated[StrictFloat, Field(gt=0)],
1873
+ Tuple[
1874
+ Annotated[StrictFloat, Field(gt=0)],
1875
+ Annotated[StrictFloat, Field(gt=0)]
1876
+ ]
1877
+ ] = None,
1878
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1879
+ _content_type: Optional[StrictStr] = None,
1880
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1881
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1882
+ ) -> ApiResponse[BaseResponseStatus]:
1883
+ """Gets the status of an analysis
1884
+
1885
+ Given an analysis ID gets the current status of the analysis
1886
+
1887
+ :param analysis_id: (required)
1888
+ :type analysis_id: int
1889
+ :param authorization: API Key bearer token
1890
+ :type authorization: str
1891
+ :param _request_timeout: timeout setting for this request. If one
1892
+ number provided, it will be total request
1893
+ timeout. It can also be a pair (tuple) of
1894
+ (connection, read) timeouts.
1895
+ :type _request_timeout: int, tuple(int, int), optional
1896
+ :param _request_auth: set to override the auth_settings for an a single
1897
+ request; this effectively ignores the
1898
+ authentication in the spec for a single request.
1899
+ :type _request_auth: dict, optional
1900
+ :param _content_type: force content-type for the request.
1901
+ :type _content_type: str, Optional
1902
+ :param _headers: set to override the headers for a single
1903
+ request; this effectively ignores the headers
1904
+ in the spec for a single request.
1905
+ :type _headers: dict, optional
1906
+ :param _host_index: set to override the host_index for a single
1907
+ request; this effectively ignores the host_index
1908
+ in the spec for a single request.
1909
+ :type _host_index: int, optional
1910
+ :return: Returns the result object.
1911
+ """ # noqa: E501
1912
+
1913
+ _param = self._get_analysis_status_serialize(
1914
+ analysis_id=analysis_id,
1915
+ authorization=authorization,
1916
+ _request_auth=_request_auth,
1917
+ _content_type=_content_type,
1918
+ _headers=_headers,
1919
+ _host_index=_host_index
1920
+ )
1921
+
1922
+ _response_types_map: Dict[str, Optional[str]] = {
1923
+ '200': "BaseResponseStatus",
1924
+ '422': "BaseResponse",
1925
+ }
1926
+ response_data = self.api_client.call_api(
1927
+ *_param,
1928
+ _request_timeout=_request_timeout
1929
+ )
1930
+ response_data.read()
1931
+ return self.api_client.response_deserialize(
1932
+ response_data=response_data,
1933
+ response_types_map=_response_types_map,
1934
+ )
1935
+
1936
+
1937
+ @validate_call
1938
+ def get_analysis_status_without_preload_content(
1939
+ self,
1940
+ analysis_id: StrictInt,
1941
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
1942
+ _request_timeout: Union[
1943
+ None,
1944
+ Annotated[StrictFloat, Field(gt=0)],
1945
+ Tuple[
1946
+ Annotated[StrictFloat, Field(gt=0)],
1947
+ Annotated[StrictFloat, Field(gt=0)]
1948
+ ]
1949
+ ] = None,
1950
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1951
+ _content_type: Optional[StrictStr] = None,
1952
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1953
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1954
+ ) -> RESTResponseType:
1955
+ """Gets the status of an analysis
1956
+
1957
+ Given an analysis ID gets the current status of the analysis
1958
+
1959
+ :param analysis_id: (required)
1960
+ :type analysis_id: int
1961
+ :param authorization: API Key bearer token
1962
+ :type authorization: str
1963
+ :param _request_timeout: timeout setting for this request. If one
1964
+ number provided, it will be total request
1965
+ timeout. It can also be a pair (tuple) of
1966
+ (connection, read) timeouts.
1967
+ :type _request_timeout: int, tuple(int, int), optional
1968
+ :param _request_auth: set to override the auth_settings for an a single
1969
+ request; this effectively ignores the
1970
+ authentication in the spec for a single request.
1971
+ :type _request_auth: dict, optional
1972
+ :param _content_type: force content-type for the request.
1973
+ :type _content_type: str, Optional
1974
+ :param _headers: set to override the headers for a single
1975
+ request; this effectively ignores the headers
1976
+ in the spec for a single request.
1977
+ :type _headers: dict, optional
1978
+ :param _host_index: set to override the host_index for a single
1979
+ request; this effectively ignores the host_index
1980
+ in the spec for a single request.
1981
+ :type _host_index: int, optional
1982
+ :return: Returns the result object.
1983
+ """ # noqa: E501
1984
+
1985
+ _param = self._get_analysis_status_serialize(
1986
+ analysis_id=analysis_id,
1987
+ authorization=authorization,
1988
+ _request_auth=_request_auth,
1989
+ _content_type=_content_type,
1990
+ _headers=_headers,
1991
+ _host_index=_host_index
1992
+ )
1993
+
1994
+ _response_types_map: Dict[str, Optional[str]] = {
1995
+ '200': "BaseResponseStatus",
1996
+ '422': "BaseResponse",
1997
+ }
1998
+ response_data = self.api_client.call_api(
1999
+ *_param,
2000
+ _request_timeout=_request_timeout
2001
+ )
2002
+ return response_data.response
2003
+
2004
+
2005
+ def _get_analysis_status_serialize(
2006
+ self,
2007
+ analysis_id,
2008
+ authorization,
2009
+ _request_auth,
2010
+ _content_type,
2011
+ _headers,
2012
+ _host_index,
2013
+ ) -> RequestSerialized:
2014
+
2015
+ _host = None
2016
+
2017
+ _collection_formats: Dict[str, str] = {
2018
+ }
2019
+
2020
+ _path_params: Dict[str, str] = {}
2021
+ _query_params: List[Tuple[str, str]] = []
2022
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2023
+ _form_params: List[Tuple[str, str]] = []
2024
+ _files: Dict[
2025
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2026
+ ] = {}
2027
+ _body_params: Optional[bytes] = None
2028
+
2029
+ # process the path parameters
2030
+ if analysis_id is not None:
2031
+ _path_params['analysis_id'] = analysis_id
2032
+ # process the query parameters
2033
+ # process the header parameters
2034
+ if authorization is not None:
2035
+ _header_params['authorization'] = authorization
2036
+ # process the form parameters
2037
+ # process the body parameter
2038
+
2039
+
2040
+ # set the HTTP header `Accept`
2041
+ if 'Accept' not in _header_params:
2042
+ _header_params['Accept'] = self.api_client.select_header_accept(
2043
+ [
2044
+ 'application/json'
2045
+ ]
2046
+ )
2047
+
2048
+
2049
+ # authentication setting
2050
+ _auth_settings: List[str] = [
2051
+ 'APIKey'
2052
+ ]
2053
+
2054
+ return self.api_client.param_serialize(
2055
+ method='GET',
2056
+ resource_path='/v2/analyses/{analysis_id}/status',
2057
+ path_params=_path_params,
2058
+ query_params=_query_params,
2059
+ header_params=_header_params,
2060
+ body=_body_params,
2061
+ post_params=_form_params,
2062
+ files=_files,
2063
+ auth_settings=_auth_settings,
2064
+ collection_formats=_collection_formats,
2065
+ _host=_host,
2066
+ _request_auth=_request_auth
2067
+ )
2068
+
2069
+
2070
+
2071
+
2072
+ @validate_call
2073
+ def get_binary_ann(
2074
+ self,
2075
+ analysis_id: StrictInt,
2076
+ binary_ann_form: BinaryAnnForm,
2077
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
2078
+ _request_timeout: Union[
2079
+ None,
2080
+ Annotated[StrictFloat, Field(gt=0)],
2081
+ Tuple[
2082
+ Annotated[StrictFloat, Field(gt=0)],
2083
+ Annotated[StrictFloat, Field(gt=0)]
2084
+ ]
2085
+ ] = None,
2086
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2087
+ _content_type: Optional[StrictStr] = None,
2088
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2089
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2090
+ ) -> BaseResponseBinaryAnnListResponse:
2091
+ """Binary Ann
2092
+
2093
+ Binary Ann
2094
+
2095
+ :param analysis_id: (required)
2096
+ :type analysis_id: int
2097
+ :param binary_ann_form: (required)
2098
+ :type binary_ann_form: BinaryAnnForm
2099
+ :param authorization: API Key bearer token
2100
+ :type authorization: str
2101
+ :param _request_timeout: timeout setting for this request. If one
2102
+ number provided, it will be total request
2103
+ timeout. It can also be a pair (tuple) of
2104
+ (connection, read) timeouts.
2105
+ :type _request_timeout: int, tuple(int, int), optional
2106
+ :param _request_auth: set to override the auth_settings for an a single
2107
+ request; this effectively ignores the
2108
+ authentication in the spec for a single request.
2109
+ :type _request_auth: dict, optional
2110
+ :param _content_type: force content-type for the request.
2111
+ :type _content_type: str, Optional
2112
+ :param _headers: set to override the headers for a single
2113
+ request; this effectively ignores the headers
2114
+ in the spec for a single request.
2115
+ :type _headers: dict, optional
2116
+ :param _host_index: set to override the host_index for a single
2117
+ request; this effectively ignores the host_index
2118
+ in the spec for a single request.
2119
+ :type _host_index: int, optional
2120
+ :return: Returns the result object.
2121
+ """ # noqa: E501
2122
+
2123
+ _param = self._get_binary_ann_serialize(
2124
+ analysis_id=analysis_id,
2125
+ binary_ann_form=binary_ann_form,
2126
+ authorization=authorization,
2127
+ _request_auth=_request_auth,
2128
+ _content_type=_content_type,
2129
+ _headers=_headers,
2130
+ _host_index=_host_index
2131
+ )
2132
+
2133
+ _response_types_map: Dict[str, Optional[str]] = {
2134
+ '200': "BaseResponseBinaryAnnListResponse",
2135
+ '422': "BaseResponse",
2136
+ }
2137
+ response_data = self.api_client.call_api(
2138
+ *_param,
2139
+ _request_timeout=_request_timeout
2140
+ )
2141
+ response_data.read()
2142
+ return self.api_client.response_deserialize(
2143
+ response_data=response_data,
2144
+ response_types_map=_response_types_map,
2145
+ ).data
2146
+
2147
+
2148
+ @validate_call
2149
+ def get_binary_ann_with_http_info(
2150
+ self,
2151
+ analysis_id: StrictInt,
2152
+ binary_ann_form: BinaryAnnForm,
2153
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
2154
+ _request_timeout: Union[
2155
+ None,
2156
+ Annotated[StrictFloat, Field(gt=0)],
2157
+ Tuple[
2158
+ Annotated[StrictFloat, Field(gt=0)],
2159
+ Annotated[StrictFloat, Field(gt=0)]
2160
+ ]
2161
+ ] = None,
2162
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2163
+ _content_type: Optional[StrictStr] = None,
2164
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2165
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2166
+ ) -> ApiResponse[BaseResponseBinaryAnnListResponse]:
2167
+ """Binary Ann
2168
+
2169
+ Binary Ann
2170
+
2171
+ :param analysis_id: (required)
2172
+ :type analysis_id: int
2173
+ :param binary_ann_form: (required)
2174
+ :type binary_ann_form: BinaryAnnForm
2175
+ :param authorization: API Key bearer token
2176
+ :type authorization: str
2177
+ :param _request_timeout: timeout setting for this request. If one
2178
+ number provided, it will be total request
2179
+ timeout. It can also be a pair (tuple) of
2180
+ (connection, read) timeouts.
2181
+ :type _request_timeout: int, tuple(int, int), optional
2182
+ :param _request_auth: set to override the auth_settings for an a single
2183
+ request; this effectively ignores the
2184
+ authentication in the spec for a single request.
2185
+ :type _request_auth: dict, optional
2186
+ :param _content_type: force content-type for the request.
2187
+ :type _content_type: str, Optional
2188
+ :param _headers: set to override the headers for a single
2189
+ request; this effectively ignores the headers
2190
+ in the spec for a single request.
2191
+ :type _headers: dict, optional
2192
+ :param _host_index: set to override the host_index for a single
2193
+ request; this effectively ignores the host_index
2194
+ in the spec for a single request.
2195
+ :type _host_index: int, optional
2196
+ :return: Returns the result object.
2197
+ """ # noqa: E501
2198
+
2199
+ _param = self._get_binary_ann_serialize(
2200
+ analysis_id=analysis_id,
2201
+ binary_ann_form=binary_ann_form,
2202
+ authorization=authorization,
2203
+ _request_auth=_request_auth,
2204
+ _content_type=_content_type,
2205
+ _headers=_headers,
2206
+ _host_index=_host_index
2207
+ )
2208
+
2209
+ _response_types_map: Dict[str, Optional[str]] = {
2210
+ '200': "BaseResponseBinaryAnnListResponse",
2211
+ '422': "BaseResponse",
2212
+ }
2213
+ response_data = self.api_client.call_api(
2214
+ *_param,
2215
+ _request_timeout=_request_timeout
2216
+ )
2217
+ response_data.read()
2218
+ return self.api_client.response_deserialize(
2219
+ response_data=response_data,
2220
+ response_types_map=_response_types_map,
2221
+ )
2222
+
2223
+
2224
+ @validate_call
2225
+ def get_binary_ann_without_preload_content(
2226
+ self,
2227
+ analysis_id: StrictInt,
2228
+ binary_ann_form: BinaryAnnForm,
2229
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
2230
+ _request_timeout: Union[
2231
+ None,
2232
+ Annotated[StrictFloat, Field(gt=0)],
2233
+ Tuple[
2234
+ Annotated[StrictFloat, Field(gt=0)],
2235
+ Annotated[StrictFloat, Field(gt=0)]
2236
+ ]
2237
+ ] = None,
2238
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2239
+ _content_type: Optional[StrictStr] = None,
2240
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2241
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2242
+ ) -> RESTResponseType:
2243
+ """Binary Ann
2244
+
2245
+ Binary Ann
2246
+
2247
+ :param analysis_id: (required)
2248
+ :type analysis_id: int
2249
+ :param binary_ann_form: (required)
2250
+ :type binary_ann_form: BinaryAnnForm
2251
+ :param authorization: API Key bearer token
2252
+ :type authorization: str
2253
+ :param _request_timeout: timeout setting for this request. If one
2254
+ number provided, it will be total request
2255
+ timeout. It can also be a pair (tuple) of
2256
+ (connection, read) timeouts.
2257
+ :type _request_timeout: int, tuple(int, int), optional
2258
+ :param _request_auth: set to override the auth_settings for an a single
2259
+ request; this effectively ignores the
2260
+ authentication in the spec for a single request.
2261
+ :type _request_auth: dict, optional
2262
+ :param _content_type: force content-type for the request.
2263
+ :type _content_type: str, Optional
2264
+ :param _headers: set to override the headers for a single
2265
+ request; this effectively ignores the headers
2266
+ in the spec for a single request.
2267
+ :type _headers: dict, optional
2268
+ :param _host_index: set to override the host_index for a single
2269
+ request; this effectively ignores the host_index
2270
+ in the spec for a single request.
2271
+ :type _host_index: int, optional
2272
+ :return: Returns the result object.
2273
+ """ # noqa: E501
2274
+
2275
+ _param = self._get_binary_ann_serialize(
2276
+ analysis_id=analysis_id,
2277
+ binary_ann_form=binary_ann_form,
2278
+ authorization=authorization,
2279
+ _request_auth=_request_auth,
2280
+ _content_type=_content_type,
2281
+ _headers=_headers,
2282
+ _host_index=_host_index
2283
+ )
2284
+
2285
+ _response_types_map: Dict[str, Optional[str]] = {
2286
+ '200': "BaseResponseBinaryAnnListResponse",
2287
+ '422': "BaseResponse",
2288
+ }
2289
+ response_data = self.api_client.call_api(
2290
+ *_param,
2291
+ _request_timeout=_request_timeout
2292
+ )
2293
+ return response_data.response
2294
+
2295
+
2296
+ def _get_binary_ann_serialize(
2297
+ self,
2298
+ analysis_id,
2299
+ binary_ann_form,
2300
+ authorization,
2301
+ _request_auth,
2302
+ _content_type,
2303
+ _headers,
2304
+ _host_index,
2305
+ ) -> RequestSerialized:
2306
+
2307
+ _host = None
2308
+
2309
+ _collection_formats: Dict[str, str] = {
2310
+ }
2311
+
2312
+ _path_params: Dict[str, str] = {}
2313
+ _query_params: List[Tuple[str, str]] = []
2314
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2315
+ _form_params: List[Tuple[str, str]] = []
2316
+ _files: Dict[
2317
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2318
+ ] = {}
2319
+ _body_params: Optional[bytes] = None
2320
+
2321
+ # process the path parameters
2322
+ if analysis_id is not None:
2323
+ _path_params['analysis_id'] = analysis_id
2324
+ # process the query parameters
2325
+ # process the header parameters
2326
+ if authorization is not None:
2327
+ _header_params['authorization'] = authorization
2328
+ # process the form parameters
2329
+ # process the body parameter
2330
+ if binary_ann_form is not None:
2331
+ _body_params = binary_ann_form
2332
+
2333
+
2334
+ # set the HTTP header `Accept`
2335
+ if 'Accept' not in _header_params:
2336
+ _header_params['Accept'] = self.api_client.select_header_accept(
2337
+ [
2338
+ 'application/json'
2339
+ ]
2340
+ )
2341
+
2342
+ # set the HTTP header `Content-Type`
2343
+ if _content_type:
2344
+ _header_params['Content-Type'] = _content_type
2345
+ else:
2346
+ _default_content_type = (
2347
+ self.api_client.select_header_content_type(
2348
+ [
2349
+ 'application/json'
2350
+ ]
2351
+ )
2352
+ )
2353
+ if _default_content_type is not None:
2354
+ _header_params['Content-Type'] = _default_content_type
2355
+
2356
+ # authentication setting
2357
+ _auth_settings: List[str] = [
2358
+ 'APIKey'
2359
+ ]
2360
+
2361
+ return self.api_client.param_serialize(
2362
+ method='POST',
2363
+ resource_path='/v2/binary_ann/{analysis_id}',
2364
+ path_params=_path_params,
2365
+ query_params=_query_params,
2366
+ header_params=_header_params,
2367
+ body=_body_params,
2368
+ post_params=_form_params,
2369
+ files=_files,
2370
+ auth_settings=_auth_settings,
2371
+ collection_formats=_collection_formats,
2372
+ _host=_host,
2373
+ _request_auth=_request_auth
2374
+ )
2375
+
2376
+
2377
+
2378
+
2379
+ @validate_call
2380
+ def get_symbol_info_for_binary(
2381
+ self,
2382
+ binary_id: StrictInt,
2383
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
2384
+ _request_timeout: Union[
2385
+ None,
2386
+ Annotated[StrictFloat, Field(gt=0)],
2387
+ Tuple[
2388
+ Annotated[StrictFloat, Field(gt=0)],
2389
+ Annotated[StrictFloat, Field(gt=0)]
2390
+ ]
2391
+ ] = None,
2392
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2393
+ _content_type: Optional[StrictStr] = None,
2394
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2395
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2396
+ ) -> BaseResponseSymbolsInfo:
2397
+ """Gets the symbol information of a binary
2398
+
2399
+ Given a binary ID gets the symbol information of the binary
2400
+
2401
+ :param binary_id: (required)
2402
+ :type binary_id: int
2403
+ :param authorization: API Key bearer token
2404
+ :type authorization: str
2405
+ :param _request_timeout: timeout setting for this request. If one
2406
+ number provided, it will be total request
2407
+ timeout. It can also be a pair (tuple) of
2408
+ (connection, read) timeouts.
2409
+ :type _request_timeout: int, tuple(int, int), optional
2410
+ :param _request_auth: set to override the auth_settings for an a single
2411
+ request; this effectively ignores the
2412
+ authentication in the spec for a single request.
2413
+ :type _request_auth: dict, optional
2414
+ :param _content_type: force content-type for the request.
2415
+ :type _content_type: str, Optional
2416
+ :param _headers: set to override the headers for a single
2417
+ request; this effectively ignores the headers
2418
+ in the spec for a single request.
2419
+ :type _headers: dict, optional
2420
+ :param _host_index: set to override the host_index for a single
2421
+ request; this effectively ignores the host_index
2422
+ in the spec for a single request.
2423
+ :type _host_index: int, optional
2424
+ :return: Returns the result object.
2425
+ """ # noqa: E501
2426
+
2427
+ _param = self._get_symbol_info_for_binary_serialize(
2428
+ binary_id=binary_id,
2429
+ authorization=authorization,
2430
+ _request_auth=_request_auth,
2431
+ _content_type=_content_type,
2432
+ _headers=_headers,
2433
+ _host_index=_host_index
2434
+ )
2435
+
2436
+ _response_types_map: Dict[str, Optional[str]] = {
2437
+ '200': "BaseResponseSymbolsInfo",
2438
+ '422': "BaseResponse",
2439
+ '404': "BaseResponse",
2440
+ '403': "BaseResponse",
2441
+ }
2442
+ response_data = self.api_client.call_api(
2443
+ *_param,
2444
+ _request_timeout=_request_timeout
2445
+ )
2446
+ response_data.read()
2447
+ return self.api_client.response_deserialize(
2448
+ response_data=response_data,
2449
+ response_types_map=_response_types_map,
2450
+ ).data
2451
+
2452
+
2453
+ @validate_call
2454
+ def get_symbol_info_for_binary_with_http_info(
2455
+ self,
2456
+ binary_id: StrictInt,
2457
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
2458
+ _request_timeout: Union[
2459
+ None,
2460
+ Annotated[StrictFloat, Field(gt=0)],
2461
+ Tuple[
2462
+ Annotated[StrictFloat, Field(gt=0)],
2463
+ Annotated[StrictFloat, Field(gt=0)]
2464
+ ]
2465
+ ] = None,
2466
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2467
+ _content_type: Optional[StrictStr] = None,
2468
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2469
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2470
+ ) -> ApiResponse[BaseResponseSymbolsInfo]:
2471
+ """Gets the symbol information of a binary
2472
+
2473
+ Given a binary ID gets the symbol information of the binary
2474
+
2475
+ :param binary_id: (required)
2476
+ :type binary_id: int
2477
+ :param authorization: API Key bearer token
2478
+ :type authorization: str
2479
+ :param _request_timeout: timeout setting for this request. If one
2480
+ number provided, it will be total request
2481
+ timeout. It can also be a pair (tuple) of
2482
+ (connection, read) timeouts.
2483
+ :type _request_timeout: int, tuple(int, int), optional
2484
+ :param _request_auth: set to override the auth_settings for an a single
2485
+ request; this effectively ignores the
2486
+ authentication in the spec for a single request.
2487
+ :type _request_auth: dict, optional
2488
+ :param _content_type: force content-type for the request.
2489
+ :type _content_type: str, Optional
2490
+ :param _headers: set to override the headers for a single
2491
+ request; this effectively ignores the headers
2492
+ in the spec for a single request.
2493
+ :type _headers: dict, optional
2494
+ :param _host_index: set to override the host_index for a single
2495
+ request; this effectively ignores the host_index
2496
+ in the spec for a single request.
2497
+ :type _host_index: int, optional
2498
+ :return: Returns the result object.
2499
+ """ # noqa: E501
2500
+
2501
+ _param = self._get_symbol_info_for_binary_serialize(
2502
+ binary_id=binary_id,
2503
+ authorization=authorization,
2504
+ _request_auth=_request_auth,
2505
+ _content_type=_content_type,
2506
+ _headers=_headers,
2507
+ _host_index=_host_index
2508
+ )
2509
+
2510
+ _response_types_map: Dict[str, Optional[str]] = {
2511
+ '200': "BaseResponseSymbolsInfo",
2512
+ '422': "BaseResponse",
2513
+ '404': "BaseResponse",
2514
+ '403': "BaseResponse",
2515
+ }
2516
+ response_data = self.api_client.call_api(
2517
+ *_param,
2518
+ _request_timeout=_request_timeout
2519
+ )
2520
+ response_data.read()
2521
+ return self.api_client.response_deserialize(
2522
+ response_data=response_data,
2523
+ response_types_map=_response_types_map,
2524
+ )
2525
+
2526
+
2527
+ @validate_call
2528
+ def get_symbol_info_for_binary_without_preload_content(
2529
+ self,
2530
+ binary_id: StrictInt,
2531
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
2532
+ _request_timeout: Union[
2533
+ None,
2534
+ Annotated[StrictFloat, Field(gt=0)],
2535
+ Tuple[
2536
+ Annotated[StrictFloat, Field(gt=0)],
2537
+ Annotated[StrictFloat, Field(gt=0)]
2538
+ ]
2539
+ ] = None,
2540
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2541
+ _content_type: Optional[StrictStr] = None,
2542
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2543
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2544
+ ) -> RESTResponseType:
2545
+ """Gets the symbol information of a binary
2546
+
2547
+ Given a binary ID gets the symbol information of the binary
2548
+
2549
+ :param binary_id: (required)
2550
+ :type binary_id: int
2551
+ :param authorization: API Key bearer token
2552
+ :type authorization: str
2553
+ :param _request_timeout: timeout setting for this request. If one
2554
+ number provided, it will be total request
2555
+ timeout. It can also be a pair (tuple) of
2556
+ (connection, read) timeouts.
2557
+ :type _request_timeout: int, tuple(int, int), optional
2558
+ :param _request_auth: set to override the auth_settings for an a single
2559
+ request; this effectively ignores the
2560
+ authentication in the spec for a single request.
2561
+ :type _request_auth: dict, optional
2562
+ :param _content_type: force content-type for the request.
2563
+ :type _content_type: str, Optional
2564
+ :param _headers: set to override the headers for a single
2565
+ request; this effectively ignores the headers
2566
+ in the spec for a single request.
2567
+ :type _headers: dict, optional
2568
+ :param _host_index: set to override the host_index for a single
2569
+ request; this effectively ignores the host_index
2570
+ in the spec for a single request.
2571
+ :type _host_index: int, optional
2572
+ :return: Returns the result object.
2573
+ """ # noqa: E501
2574
+
2575
+ _param = self._get_symbol_info_for_binary_serialize(
2576
+ binary_id=binary_id,
2577
+ authorization=authorization,
2578
+ _request_auth=_request_auth,
2579
+ _content_type=_content_type,
2580
+ _headers=_headers,
2581
+ _host_index=_host_index
2582
+ )
2583
+
2584
+ _response_types_map: Dict[str, Optional[str]] = {
2585
+ '200': "BaseResponseSymbolsInfo",
2586
+ '422': "BaseResponse",
2587
+ '404': "BaseResponse",
2588
+ '403': "BaseResponse",
2589
+ }
2590
+ response_data = self.api_client.call_api(
2591
+ *_param,
2592
+ _request_timeout=_request_timeout
2593
+ )
2594
+ return response_data.response
2595
+
2596
+
2597
+ def _get_symbol_info_for_binary_serialize(
2598
+ self,
2599
+ binary_id,
2600
+ authorization,
2601
+ _request_auth,
2602
+ _content_type,
2603
+ _headers,
2604
+ _host_index,
2605
+ ) -> RequestSerialized:
2606
+
2607
+ _host = None
2608
+
2609
+ _collection_formats: Dict[str, str] = {
2610
+ }
2611
+
2612
+ _path_params: Dict[str, str] = {}
2613
+ _query_params: List[Tuple[str, str]] = []
2614
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2615
+ _form_params: List[Tuple[str, str]] = []
2616
+ _files: Dict[
2617
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2618
+ ] = {}
2619
+ _body_params: Optional[bytes] = None
2620
+
2621
+ # process the path parameters
2622
+ if binary_id is not None:
2623
+ _path_params['binary_id'] = binary_id
2624
+ # process the query parameters
2625
+ # process the header parameters
2626
+ if authorization is not None:
2627
+ _header_params['authorization'] = authorization
2628
+ # process the form parameters
2629
+ # process the body parameter
2630
+
2631
+
2632
+ # set the HTTP header `Accept`
2633
+ if 'Accept' not in _header_params:
2634
+ _header_params['Accept'] = self.api_client.select_header_accept(
2635
+ [
2636
+ 'application/json'
2637
+ ]
2638
+ )
2639
+
2640
+
2641
+ # authentication setting
2642
+ _auth_settings: List[str] = [
2643
+ 'APIKey'
2644
+ ]
2645
+
2646
+ return self.api_client.param_serialize(
2647
+ method='GET',
2648
+ resource_path='/v2/analyses/symbol_info/{binary_id}',
2649
+ path_params=_path_params,
2650
+ query_params=_query_params,
2651
+ header_params=_header_params,
2652
+ body=_body_params,
2653
+ post_params=_form_params,
2654
+ files=_files,
2655
+ auth_settings=_auth_settings,
2656
+ collection_formats=_collection_formats,
2657
+ _host=_host,
2658
+ _request_auth=_request_auth
2659
+ )
2660
+
2661
+
2662
+
2663
+
2664
+ @validate_call
2665
+ def list_analyses(
2666
+ self,
2667
+ search_term: Optional[StrictStr] = None,
2668
+ workspace: Annotated[Optional[List[Workspace]], Field(description="The workspace to be viewed")] = None,
2669
+ status: Annotated[Optional[List[StatusInput]], Field(description="The status of the analysis")] = None,
2670
+ model_name: Annotated[Optional[List[ModelName]], Field(description="Show analysis belonging to the model")] = None,
2671
+ dynamic_execution_status: Annotated[Optional[DynamicExecutionStatusInput], Field(description="Show analysis that have a dynamic execution with the given status")] = None,
2672
+ usernames: Annotated[Optional[List[Optional[StrictStr]]], Field(description="Show analysis belonging to the user")] = None,
2673
+ limit: Optional[Annotated[int, Field(le=50, strict=True, ge=5)]] = None,
2674
+ offset: Optional[StrictInt] = None,
2675
+ order_by: Optional[AppApiRestV2AnalysesEnumsOrderBy] = None,
2676
+ order: Optional[Order] = None,
2677
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
2678
+ _request_timeout: Union[
2679
+ None,
2680
+ Annotated[StrictFloat, Field(gt=0)],
2681
+ Tuple[
2682
+ Annotated[StrictFloat, Field(gt=0)],
2683
+ Annotated[StrictFloat, Field(gt=0)]
2684
+ ]
2685
+ ] = None,
2686
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2687
+ _content_type: Optional[StrictStr] = None,
2688
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2689
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2690
+ ) -> BaseResponseRecent:
2691
+ """Gets the most recent analyses
2692
+
2693
+ Gets the most recent analyses provided a scope, this is then paginated, if pages and limit doesnt fit, it increases the limit
2694
+
2695
+ :param search_term:
2696
+ :type search_term: str
2697
+ :param workspace: The workspace to be viewed
2698
+ :type workspace: List[Workspace]
2699
+ :param status: The status of the analysis
2700
+ :type status: List[StatusInput]
2701
+ :param model_name: Show analysis belonging to the model
2702
+ :type model_name: List[ModelName]
2703
+ :param dynamic_execution_status: Show analysis that have a dynamic execution with the given status
2704
+ :type dynamic_execution_status: DynamicExecutionStatusInput
2705
+ :param usernames: Show analysis belonging to the user
2706
+ :type usernames: List[Optional[str]]
2707
+ :param limit:
2708
+ :type limit: int
2709
+ :param offset:
2710
+ :type offset: int
2711
+ :param order_by:
2712
+ :type order_by: AppApiRestV2AnalysesEnumsOrderBy
2713
+ :param order:
2714
+ :type order: Order
2715
+ :param authorization: API Key bearer token
2716
+ :type authorization: str
2717
+ :param _request_timeout: timeout setting for this request. If one
2718
+ number provided, it will be total request
2719
+ timeout. It can also be a pair (tuple) of
2720
+ (connection, read) timeouts.
2721
+ :type _request_timeout: int, tuple(int, int), optional
2722
+ :param _request_auth: set to override the auth_settings for an a single
2723
+ request; this effectively ignores the
2724
+ authentication in the spec for a single request.
2725
+ :type _request_auth: dict, optional
2726
+ :param _content_type: force content-type for the request.
2727
+ :type _content_type: str, Optional
2728
+ :param _headers: set to override the headers for a single
2729
+ request; this effectively ignores the headers
2730
+ in the spec for a single request.
2731
+ :type _headers: dict, optional
2732
+ :param _host_index: set to override the host_index for a single
2733
+ request; this effectively ignores the host_index
2734
+ in the spec for a single request.
2735
+ :type _host_index: int, optional
2736
+ :return: Returns the result object.
2737
+ """ # noqa: E501
2738
+
2739
+ _param = self._list_analyses_serialize(
2740
+ search_term=search_term,
2741
+ workspace=workspace,
2742
+ status=status,
2743
+ model_name=model_name,
2744
+ dynamic_execution_status=dynamic_execution_status,
2745
+ usernames=usernames,
2746
+ limit=limit,
2747
+ offset=offset,
2748
+ order_by=order_by,
2749
+ order=order,
2750
+ authorization=authorization,
2751
+ _request_auth=_request_auth,
2752
+ _content_type=_content_type,
2753
+ _headers=_headers,
2754
+ _host_index=_host_index
2755
+ )
2756
+
2757
+ _response_types_map: Dict[str, Optional[str]] = {
2758
+ '200': "BaseResponseRecent",
2759
+ '422': "BaseResponse",
2760
+ }
2761
+ response_data = self.api_client.call_api(
2762
+ *_param,
2763
+ _request_timeout=_request_timeout
2764
+ )
2765
+ response_data.read()
2766
+ return self.api_client.response_deserialize(
2767
+ response_data=response_data,
2768
+ response_types_map=_response_types_map,
2769
+ ).data
2770
+
2771
+
2772
+ @validate_call
2773
+ def list_analyses_with_http_info(
2774
+ self,
2775
+ search_term: Optional[StrictStr] = None,
2776
+ workspace: Annotated[Optional[List[Workspace]], Field(description="The workspace to be viewed")] = None,
2777
+ status: Annotated[Optional[List[StatusInput]], Field(description="The status of the analysis")] = None,
2778
+ model_name: Annotated[Optional[List[ModelName]], Field(description="Show analysis belonging to the model")] = None,
2779
+ dynamic_execution_status: Annotated[Optional[DynamicExecutionStatusInput], Field(description="Show analysis that have a dynamic execution with the given status")] = None,
2780
+ usernames: Annotated[Optional[List[Optional[StrictStr]]], Field(description="Show analysis belonging to the user")] = None,
2781
+ limit: Optional[Annotated[int, Field(le=50, strict=True, ge=5)]] = None,
2782
+ offset: Optional[StrictInt] = None,
2783
+ order_by: Optional[AppApiRestV2AnalysesEnumsOrderBy] = None,
2784
+ order: Optional[Order] = None,
2785
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
2786
+ _request_timeout: Union[
2787
+ None,
2788
+ Annotated[StrictFloat, Field(gt=0)],
2789
+ Tuple[
2790
+ Annotated[StrictFloat, Field(gt=0)],
2791
+ Annotated[StrictFloat, Field(gt=0)]
2792
+ ]
2793
+ ] = None,
2794
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2795
+ _content_type: Optional[StrictStr] = None,
2796
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2797
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2798
+ ) -> ApiResponse[BaseResponseRecent]:
2799
+ """Gets the most recent analyses
2800
+
2801
+ Gets the most recent analyses provided a scope, this is then paginated, if pages and limit doesnt fit, it increases the limit
2802
+
2803
+ :param search_term:
2804
+ :type search_term: str
2805
+ :param workspace: The workspace to be viewed
2806
+ :type workspace: List[Workspace]
2807
+ :param status: The status of the analysis
2808
+ :type status: List[StatusInput]
2809
+ :param model_name: Show analysis belonging to the model
2810
+ :type model_name: List[ModelName]
2811
+ :param dynamic_execution_status: Show analysis that have a dynamic execution with the given status
2812
+ :type dynamic_execution_status: DynamicExecutionStatusInput
2813
+ :param usernames: Show analysis belonging to the user
2814
+ :type usernames: List[Optional[str]]
2815
+ :param limit:
2816
+ :type limit: int
2817
+ :param offset:
2818
+ :type offset: int
2819
+ :param order_by:
2820
+ :type order_by: AppApiRestV2AnalysesEnumsOrderBy
2821
+ :param order:
2822
+ :type order: Order
2823
+ :param authorization: API Key bearer token
2824
+ :type authorization: str
2825
+ :param _request_timeout: timeout setting for this request. If one
2826
+ number provided, it will be total request
2827
+ timeout. It can also be a pair (tuple) of
2828
+ (connection, read) timeouts.
2829
+ :type _request_timeout: int, tuple(int, int), optional
2830
+ :param _request_auth: set to override the auth_settings for an a single
2831
+ request; this effectively ignores the
2832
+ authentication in the spec for a single request.
2833
+ :type _request_auth: dict, optional
2834
+ :param _content_type: force content-type for the request.
2835
+ :type _content_type: str, Optional
2836
+ :param _headers: set to override the headers for a single
2837
+ request; this effectively ignores the headers
2838
+ in the spec for a single request.
2839
+ :type _headers: dict, optional
2840
+ :param _host_index: set to override the host_index for a single
2841
+ request; this effectively ignores the host_index
2842
+ in the spec for a single request.
2843
+ :type _host_index: int, optional
2844
+ :return: Returns the result object.
2845
+ """ # noqa: E501
2846
+
2847
+ _param = self._list_analyses_serialize(
2848
+ search_term=search_term,
2849
+ workspace=workspace,
2850
+ status=status,
2851
+ model_name=model_name,
2852
+ dynamic_execution_status=dynamic_execution_status,
2853
+ usernames=usernames,
2854
+ limit=limit,
2855
+ offset=offset,
2856
+ order_by=order_by,
2857
+ order=order,
2858
+ authorization=authorization,
2859
+ _request_auth=_request_auth,
2860
+ _content_type=_content_type,
2861
+ _headers=_headers,
2862
+ _host_index=_host_index
2863
+ )
2864
+
2865
+ _response_types_map: Dict[str, Optional[str]] = {
2866
+ '200': "BaseResponseRecent",
2867
+ '422': "BaseResponse",
2868
+ }
2869
+ response_data = self.api_client.call_api(
2870
+ *_param,
2871
+ _request_timeout=_request_timeout
2872
+ )
2873
+ response_data.read()
2874
+ return self.api_client.response_deserialize(
2875
+ response_data=response_data,
2876
+ response_types_map=_response_types_map,
2877
+ )
2878
+
2879
+
2880
+ @validate_call
2881
+ def list_analyses_without_preload_content(
2882
+ self,
2883
+ search_term: Optional[StrictStr] = None,
2884
+ workspace: Annotated[Optional[List[Workspace]], Field(description="The workspace to be viewed")] = None,
2885
+ status: Annotated[Optional[List[StatusInput]], Field(description="The status of the analysis")] = None,
2886
+ model_name: Annotated[Optional[List[ModelName]], Field(description="Show analysis belonging to the model")] = None,
2887
+ dynamic_execution_status: Annotated[Optional[DynamicExecutionStatusInput], Field(description="Show analysis that have a dynamic execution with the given status")] = None,
2888
+ usernames: Annotated[Optional[List[Optional[StrictStr]]], Field(description="Show analysis belonging to the user")] = None,
2889
+ limit: Optional[Annotated[int, Field(le=50, strict=True, ge=5)]] = None,
2890
+ offset: Optional[StrictInt] = None,
2891
+ order_by: Optional[AppApiRestV2AnalysesEnumsOrderBy] = None,
2892
+ order: Optional[Order] = None,
2893
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
2894
+ _request_timeout: Union[
2895
+ None,
2896
+ Annotated[StrictFloat, Field(gt=0)],
2897
+ Tuple[
2898
+ Annotated[StrictFloat, Field(gt=0)],
2899
+ Annotated[StrictFloat, Field(gt=0)]
2900
+ ]
2901
+ ] = None,
2902
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2903
+ _content_type: Optional[StrictStr] = None,
2904
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2905
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2906
+ ) -> RESTResponseType:
2907
+ """Gets the most recent analyses
2908
+
2909
+ Gets the most recent analyses provided a scope, this is then paginated, if pages and limit doesnt fit, it increases the limit
2910
+
2911
+ :param search_term:
2912
+ :type search_term: str
2913
+ :param workspace: The workspace to be viewed
2914
+ :type workspace: List[Workspace]
2915
+ :param status: The status of the analysis
2916
+ :type status: List[StatusInput]
2917
+ :param model_name: Show analysis belonging to the model
2918
+ :type model_name: List[ModelName]
2919
+ :param dynamic_execution_status: Show analysis that have a dynamic execution with the given status
2920
+ :type dynamic_execution_status: DynamicExecutionStatusInput
2921
+ :param usernames: Show analysis belonging to the user
2922
+ :type usernames: List[Optional[str]]
2923
+ :param limit:
2924
+ :type limit: int
2925
+ :param offset:
2926
+ :type offset: int
2927
+ :param order_by:
2928
+ :type order_by: AppApiRestV2AnalysesEnumsOrderBy
2929
+ :param order:
2930
+ :type order: Order
2931
+ :param authorization: API Key bearer token
2932
+ :type authorization: str
2933
+ :param _request_timeout: timeout setting for this request. If one
2934
+ number provided, it will be total request
2935
+ timeout. It can also be a pair (tuple) of
2936
+ (connection, read) timeouts.
2937
+ :type _request_timeout: int, tuple(int, int), optional
2938
+ :param _request_auth: set to override the auth_settings for an a single
2939
+ request; this effectively ignores the
2940
+ authentication in the spec for a single request.
2941
+ :type _request_auth: dict, optional
2942
+ :param _content_type: force content-type for the request.
2943
+ :type _content_type: str, Optional
2944
+ :param _headers: set to override the headers for a single
2945
+ request; this effectively ignores the headers
2946
+ in the spec for a single request.
2947
+ :type _headers: dict, optional
2948
+ :param _host_index: set to override the host_index for a single
2949
+ request; this effectively ignores the host_index
2950
+ in the spec for a single request.
2951
+ :type _host_index: int, optional
2952
+ :return: Returns the result object.
2953
+ """ # noqa: E501
2954
+
2955
+ _param = self._list_analyses_serialize(
2956
+ search_term=search_term,
2957
+ workspace=workspace,
2958
+ status=status,
2959
+ model_name=model_name,
2960
+ dynamic_execution_status=dynamic_execution_status,
2961
+ usernames=usernames,
2962
+ limit=limit,
2963
+ offset=offset,
2964
+ order_by=order_by,
2965
+ order=order,
2966
+ authorization=authorization,
2967
+ _request_auth=_request_auth,
2968
+ _content_type=_content_type,
2969
+ _headers=_headers,
2970
+ _host_index=_host_index
2971
+ )
2972
+
2973
+ _response_types_map: Dict[str, Optional[str]] = {
2974
+ '200': "BaseResponseRecent",
2975
+ '422': "BaseResponse",
2976
+ }
2977
+ response_data = self.api_client.call_api(
2978
+ *_param,
2979
+ _request_timeout=_request_timeout
2980
+ )
2981
+ return response_data.response
2982
+
2983
+
2984
+ def _list_analyses_serialize(
2985
+ self,
2986
+ search_term,
2987
+ workspace,
2988
+ status,
2989
+ model_name,
2990
+ dynamic_execution_status,
2991
+ usernames,
2992
+ limit,
2993
+ offset,
2994
+ order_by,
2995
+ order,
2996
+ authorization,
2997
+ _request_auth,
2998
+ _content_type,
2999
+ _headers,
3000
+ _host_index,
3001
+ ) -> RequestSerialized:
3002
+
3003
+ _host = None
3004
+
3005
+ _collection_formats: Dict[str, str] = {
3006
+ 'workspace': 'multi',
3007
+ 'status': 'multi',
3008
+ 'model_name': 'multi',
3009
+ 'usernames': 'multi',
3010
+ }
3011
+
3012
+ _path_params: Dict[str, str] = {}
3013
+ _query_params: List[Tuple[str, str]] = []
3014
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3015
+ _form_params: List[Tuple[str, str]] = []
3016
+ _files: Dict[
3017
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
3018
+ ] = {}
3019
+ _body_params: Optional[bytes] = None
3020
+
3021
+ # process the path parameters
3022
+ # process the query parameters
3023
+ if search_term is not None:
3024
+
3025
+ _query_params.append(('search_term', search_term))
3026
+
3027
+ if workspace is not None:
3028
+
3029
+ _query_params.append(('workspace', workspace))
3030
+
3031
+ if status is not None:
3032
+
3033
+ _query_params.append(('status', status))
3034
+
3035
+ if model_name is not None:
3036
+
3037
+ _query_params.append(('model_name', model_name))
3038
+
3039
+ if dynamic_execution_status is not None:
3040
+
3041
+ _query_params.append(('dynamic_execution_status', dynamic_execution_status.value))
3042
+
3043
+ if usernames is not None:
3044
+
3045
+ _query_params.append(('usernames', usernames))
3046
+
3047
+ if limit is not None:
3048
+
3049
+ _query_params.append(('limit', limit))
3050
+
3051
+ if offset is not None:
3052
+
3053
+ _query_params.append(('offset', offset))
3054
+
3055
+ if order_by is not None:
3056
+
3057
+ _query_params.append(('order_by', order_by.value))
3058
+
3059
+ if order is not None:
3060
+
3061
+ _query_params.append(('order', order.value))
3062
+
3063
+ # process the header parameters
3064
+ if authorization is not None:
3065
+ _header_params['authorization'] = authorization
3066
+ # process the form parameters
3067
+ # process the body parameter
3068
+
3069
+
3070
+ # set the HTTP header `Accept`
3071
+ if 'Accept' not in _header_params:
3072
+ _header_params['Accept'] = self.api_client.select_header_accept(
3073
+ [
3074
+ 'application/json'
3075
+ ]
3076
+ )
3077
+
3078
+
3079
+ # authentication setting
3080
+ _auth_settings: List[str] = [
3081
+ 'APIKey'
3082
+ ]
3083
+
3084
+ return self.api_client.param_serialize(
3085
+ method='GET',
3086
+ resource_path='/v2/analyses/list',
3087
+ path_params=_path_params,
3088
+ query_params=_query_params,
3089
+ header_params=_header_params,
3090
+ body=_body_params,
3091
+ post_params=_form_params,
3092
+ files=_files,
3093
+ auth_settings=_auth_settings,
3094
+ collection_formats=_collection_formats,
3095
+ _host=_host,
3096
+ _request_auth=_request_auth
3097
+ )
3098
+
3099
+
3100
+
3101
+
3102
+ @validate_call
3103
+ def lookup_binary_id(
3104
+ self,
3105
+ binary_id: StrictInt,
3106
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
3107
+ _request_timeout: Union[
3108
+ None,
3109
+ Annotated[StrictFloat, Field(gt=0)],
3110
+ Tuple[
3111
+ Annotated[StrictFloat, Field(gt=0)],
3112
+ Annotated[StrictFloat, Field(gt=0)]
3113
+ ]
3114
+ ] = None,
3115
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3116
+ _content_type: Optional[StrictStr] = None,
3117
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3118
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3119
+ ) -> object:
3120
+ """Gets the analysis ID from binary ID
3121
+
3122
+ Given an binary ID gets the ID of an analysis
3123
+
3124
+ :param binary_id: (required)
3125
+ :type binary_id: int
3126
+ :param authorization: API Key bearer token
3127
+ :type authorization: str
3128
+ :param _request_timeout: timeout setting for this request. If one
3129
+ number provided, it will be total request
3130
+ timeout. It can also be a pair (tuple) of
3131
+ (connection, read) timeouts.
3132
+ :type _request_timeout: int, tuple(int, int), optional
3133
+ :param _request_auth: set to override the auth_settings for an a single
3134
+ request; this effectively ignores the
3135
+ authentication in the spec for a single request.
3136
+ :type _request_auth: dict, optional
3137
+ :param _content_type: force content-type for the request.
3138
+ :type _content_type: str, Optional
3139
+ :param _headers: set to override the headers for a single
3140
+ request; this effectively ignores the headers
3141
+ in the spec for a single request.
3142
+ :type _headers: dict, optional
3143
+ :param _host_index: set to override the host_index for a single
3144
+ request; this effectively ignores the host_index
3145
+ in the spec for a single request.
3146
+ :type _host_index: int, optional
3147
+ :return: Returns the result object.
3148
+ """ # noqa: E501
3149
+
3150
+ _param = self._lookup_binary_id_serialize(
3151
+ binary_id=binary_id,
3152
+ authorization=authorization,
3153
+ _request_auth=_request_auth,
3154
+ _content_type=_content_type,
3155
+ _headers=_headers,
3156
+ _host_index=_host_index
3157
+ )
3158
+
3159
+ _response_types_map: Dict[str, Optional[str]] = {
3160
+ '200': "object",
3161
+ '422': "BaseResponse",
3162
+ }
3163
+ response_data = self.api_client.call_api(
3164
+ *_param,
3165
+ _request_timeout=_request_timeout
3166
+ )
3167
+ response_data.read()
3168
+ return self.api_client.response_deserialize(
3169
+ response_data=response_data,
3170
+ response_types_map=_response_types_map,
3171
+ ).data
3172
+
3173
+
3174
+ @validate_call
3175
+ def lookup_binary_id_with_http_info(
3176
+ self,
3177
+ binary_id: StrictInt,
3178
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
3179
+ _request_timeout: Union[
3180
+ None,
3181
+ Annotated[StrictFloat, Field(gt=0)],
3182
+ Tuple[
3183
+ Annotated[StrictFloat, Field(gt=0)],
3184
+ Annotated[StrictFloat, Field(gt=0)]
3185
+ ]
3186
+ ] = None,
3187
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3188
+ _content_type: Optional[StrictStr] = None,
3189
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3190
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3191
+ ) -> ApiResponse[object]:
3192
+ """Gets the analysis ID from binary ID
3193
+
3194
+ Given an binary ID gets the ID of an analysis
3195
+
3196
+ :param binary_id: (required)
3197
+ :type binary_id: int
3198
+ :param authorization: API Key bearer token
3199
+ :type authorization: str
3200
+ :param _request_timeout: timeout setting for this request. If one
3201
+ number provided, it will be total request
3202
+ timeout. It can also be a pair (tuple) of
3203
+ (connection, read) timeouts.
3204
+ :type _request_timeout: int, tuple(int, int), optional
3205
+ :param _request_auth: set to override the auth_settings for an a single
3206
+ request; this effectively ignores the
3207
+ authentication in the spec for a single request.
3208
+ :type _request_auth: dict, optional
3209
+ :param _content_type: force content-type for the request.
3210
+ :type _content_type: str, Optional
3211
+ :param _headers: set to override the headers for a single
3212
+ request; this effectively ignores the headers
3213
+ in the spec for a single request.
3214
+ :type _headers: dict, optional
3215
+ :param _host_index: set to override the host_index for a single
3216
+ request; this effectively ignores the host_index
3217
+ in the spec for a single request.
3218
+ :type _host_index: int, optional
3219
+ :return: Returns the result object.
3220
+ """ # noqa: E501
3221
+
3222
+ _param = self._lookup_binary_id_serialize(
3223
+ binary_id=binary_id,
3224
+ authorization=authorization,
3225
+ _request_auth=_request_auth,
3226
+ _content_type=_content_type,
3227
+ _headers=_headers,
3228
+ _host_index=_host_index
3229
+ )
3230
+
3231
+ _response_types_map: Dict[str, Optional[str]] = {
3232
+ '200': "object",
3233
+ '422': "BaseResponse",
3234
+ }
3235
+ response_data = self.api_client.call_api(
3236
+ *_param,
3237
+ _request_timeout=_request_timeout
3238
+ )
3239
+ response_data.read()
3240
+ return self.api_client.response_deserialize(
3241
+ response_data=response_data,
3242
+ response_types_map=_response_types_map,
3243
+ )
3244
+
3245
+
3246
+ @validate_call
3247
+ def lookup_binary_id_without_preload_content(
3248
+ self,
3249
+ binary_id: StrictInt,
3250
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
3251
+ _request_timeout: Union[
3252
+ None,
3253
+ Annotated[StrictFloat, Field(gt=0)],
3254
+ Tuple[
3255
+ Annotated[StrictFloat, Field(gt=0)],
3256
+ Annotated[StrictFloat, Field(gt=0)]
3257
+ ]
3258
+ ] = None,
3259
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3260
+ _content_type: Optional[StrictStr] = None,
3261
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3262
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3263
+ ) -> RESTResponseType:
3264
+ """Gets the analysis ID from binary ID
3265
+
3266
+ Given an binary ID gets the ID of an analysis
3267
+
3268
+ :param binary_id: (required)
3269
+ :type binary_id: int
3270
+ :param authorization: API Key bearer token
3271
+ :type authorization: str
3272
+ :param _request_timeout: timeout setting for this request. If one
3273
+ number provided, it will be total request
3274
+ timeout. It can also be a pair (tuple) of
3275
+ (connection, read) timeouts.
3276
+ :type _request_timeout: int, tuple(int, int), optional
3277
+ :param _request_auth: set to override the auth_settings for an a single
3278
+ request; this effectively ignores the
3279
+ authentication in the spec for a single request.
3280
+ :type _request_auth: dict, optional
3281
+ :param _content_type: force content-type for the request.
3282
+ :type _content_type: str, Optional
3283
+ :param _headers: set to override the headers for a single
3284
+ request; this effectively ignores the headers
3285
+ in the spec for a single request.
3286
+ :type _headers: dict, optional
3287
+ :param _host_index: set to override the host_index for a single
3288
+ request; this effectively ignores the host_index
3289
+ in the spec for a single request.
3290
+ :type _host_index: int, optional
3291
+ :return: Returns the result object.
3292
+ """ # noqa: E501
3293
+
3294
+ _param = self._lookup_binary_id_serialize(
3295
+ binary_id=binary_id,
3296
+ authorization=authorization,
3297
+ _request_auth=_request_auth,
3298
+ _content_type=_content_type,
3299
+ _headers=_headers,
3300
+ _host_index=_host_index
3301
+ )
3302
+
3303
+ _response_types_map: Dict[str, Optional[str]] = {
3304
+ '200': "object",
3305
+ '422': "BaseResponse",
3306
+ }
3307
+ response_data = self.api_client.call_api(
3308
+ *_param,
3309
+ _request_timeout=_request_timeout
3310
+ )
3311
+ return response_data.response
3312
+
3313
+
3314
+ def _lookup_binary_id_serialize(
3315
+ self,
3316
+ binary_id,
3317
+ authorization,
3318
+ _request_auth,
3319
+ _content_type,
3320
+ _headers,
3321
+ _host_index,
3322
+ ) -> RequestSerialized:
3323
+
3324
+ _host = None
3325
+
3326
+ _collection_formats: Dict[str, str] = {
3327
+ }
3328
+
3329
+ _path_params: Dict[str, str] = {}
3330
+ _query_params: List[Tuple[str, str]] = []
3331
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3332
+ _form_params: List[Tuple[str, str]] = []
3333
+ _files: Dict[
3334
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
3335
+ ] = {}
3336
+ _body_params: Optional[bytes] = None
3337
+
3338
+ # process the path parameters
3339
+ if binary_id is not None:
3340
+ _path_params['binary_id'] = binary_id
3341
+ # process the query parameters
3342
+ # process the header parameters
3343
+ if authorization is not None:
3344
+ _header_params['authorization'] = authorization
3345
+ # process the form parameters
3346
+ # process the body parameter
3347
+
3348
+
3349
+ # set the HTTP header `Accept`
3350
+ if 'Accept' not in _header_params:
3351
+ _header_params['Accept'] = self.api_client.select_header_accept(
3352
+ [
3353
+ 'application/json'
3354
+ ]
3355
+ )
3356
+
3357
+
3358
+ # authentication setting
3359
+ _auth_settings: List[str] = [
3360
+ 'APIKey'
3361
+ ]
3362
+
3363
+ return self.api_client.param_serialize(
3364
+ method='GET',
3365
+ resource_path='/v2/analyses/lookup/{binary_id}',
3366
+ path_params=_path_params,
3367
+ query_params=_query_params,
3368
+ header_params=_header_params,
3369
+ body=_body_params,
3370
+ post_params=_form_params,
3371
+ files=_files,
3372
+ auth_settings=_auth_settings,
3373
+ collection_formats=_collection_formats,
3374
+ _host=_host,
3375
+ _request_auth=_request_auth
3376
+ )
3377
+
3378
+
3379
+
3380
+
3381
+ @validate_call
3382
+ def requeue_analysis(
3383
+ self,
3384
+ analysis_id: StrictInt,
3385
+ re_analysis_form: ReAnalysisForm,
3386
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
3387
+ _request_timeout: Union[
3388
+ None,
3389
+ Annotated[StrictFloat, Field(gt=0)],
3390
+ Tuple[
3391
+ Annotated[StrictFloat, Field(gt=0)],
3392
+ Annotated[StrictFloat, Field(gt=0)]
3393
+ ]
3394
+ ] = None,
3395
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3396
+ _content_type: Optional[StrictStr] = None,
3397
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3398
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3399
+ ) -> BaseResponseCreated:
3400
+ """Requeue Analysis
3401
+
3402
+ Re-queues an already uploaded analysis
3403
+
3404
+ :param analysis_id: (required)
3405
+ :type analysis_id: int
3406
+ :param re_analysis_form: (required)
3407
+ :type re_analysis_form: ReAnalysisForm
3408
+ :param authorization: API Key bearer token
3409
+ :type authorization: str
3410
+ :param _request_timeout: timeout setting for this request. If one
3411
+ number provided, it will be total request
3412
+ timeout. It can also be a pair (tuple) of
3413
+ (connection, read) timeouts.
3414
+ :type _request_timeout: int, tuple(int, int), optional
3415
+ :param _request_auth: set to override the auth_settings for an a single
3416
+ request; this effectively ignores the
3417
+ authentication in the spec for a single request.
3418
+ :type _request_auth: dict, optional
3419
+ :param _content_type: force content-type for the request.
3420
+ :type _content_type: str, Optional
3421
+ :param _headers: set to override the headers for a single
3422
+ request; this effectively ignores the headers
3423
+ in the spec for a single request.
3424
+ :type _headers: dict, optional
3425
+ :param _host_index: set to override the host_index for a single
3426
+ request; this effectively ignores the host_index
3427
+ in the spec for a single request.
3428
+ :type _host_index: int, optional
3429
+ :return: Returns the result object.
3430
+ """ # noqa: E501
3431
+
3432
+ _param = self._requeue_analysis_serialize(
3433
+ analysis_id=analysis_id,
3434
+ re_analysis_form=re_analysis_form,
3435
+ authorization=authorization,
3436
+ _request_auth=_request_auth,
3437
+ _content_type=_content_type,
3438
+ _headers=_headers,
3439
+ _host_index=_host_index
3440
+ )
3441
+
3442
+ _response_types_map: Dict[str, Optional[str]] = {
3443
+ '201': "BaseResponseCreated",
3444
+ '422': "BaseResponse",
3445
+ '404': "BaseResponse",
3446
+ '400': "BaseResponse",
3447
+ }
3448
+ response_data = self.api_client.call_api(
3449
+ *_param,
3450
+ _request_timeout=_request_timeout
3451
+ )
3452
+ response_data.read()
3453
+ return self.api_client.response_deserialize(
3454
+ response_data=response_data,
3455
+ response_types_map=_response_types_map,
3456
+ ).data
3457
+
3458
+
3459
+ @validate_call
3460
+ def requeue_analysis_with_http_info(
3461
+ self,
3462
+ analysis_id: StrictInt,
3463
+ re_analysis_form: ReAnalysisForm,
3464
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
3465
+ _request_timeout: Union[
3466
+ None,
3467
+ Annotated[StrictFloat, Field(gt=0)],
3468
+ Tuple[
3469
+ Annotated[StrictFloat, Field(gt=0)],
3470
+ Annotated[StrictFloat, Field(gt=0)]
3471
+ ]
3472
+ ] = None,
3473
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3474
+ _content_type: Optional[StrictStr] = None,
3475
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3476
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3477
+ ) -> ApiResponse[BaseResponseCreated]:
3478
+ """Requeue Analysis
3479
+
3480
+ Re-queues an already uploaded analysis
3481
+
3482
+ :param analysis_id: (required)
3483
+ :type analysis_id: int
3484
+ :param re_analysis_form: (required)
3485
+ :type re_analysis_form: ReAnalysisForm
3486
+ :param authorization: API Key bearer token
3487
+ :type authorization: str
3488
+ :param _request_timeout: timeout setting for this request. If one
3489
+ number provided, it will be total request
3490
+ timeout. It can also be a pair (tuple) of
3491
+ (connection, read) timeouts.
3492
+ :type _request_timeout: int, tuple(int, int), optional
3493
+ :param _request_auth: set to override the auth_settings for an a single
3494
+ request; this effectively ignores the
3495
+ authentication in the spec for a single request.
3496
+ :type _request_auth: dict, optional
3497
+ :param _content_type: force content-type for the request.
3498
+ :type _content_type: str, Optional
3499
+ :param _headers: set to override the headers for a single
3500
+ request; this effectively ignores the headers
3501
+ in the spec for a single request.
3502
+ :type _headers: dict, optional
3503
+ :param _host_index: set to override the host_index for a single
3504
+ request; this effectively ignores the host_index
3505
+ in the spec for a single request.
3506
+ :type _host_index: int, optional
3507
+ :return: Returns the result object.
3508
+ """ # noqa: E501
3509
+
3510
+ _param = self._requeue_analysis_serialize(
3511
+ analysis_id=analysis_id,
3512
+ re_analysis_form=re_analysis_form,
3513
+ authorization=authorization,
3514
+ _request_auth=_request_auth,
3515
+ _content_type=_content_type,
3516
+ _headers=_headers,
3517
+ _host_index=_host_index
3518
+ )
3519
+
3520
+ _response_types_map: Dict[str, Optional[str]] = {
3521
+ '201': "BaseResponseCreated",
3522
+ '422': "BaseResponse",
3523
+ '404': "BaseResponse",
3524
+ '400': "BaseResponse",
3525
+ }
3526
+ response_data = self.api_client.call_api(
3527
+ *_param,
3528
+ _request_timeout=_request_timeout
3529
+ )
3530
+ response_data.read()
3531
+ return self.api_client.response_deserialize(
3532
+ response_data=response_data,
3533
+ response_types_map=_response_types_map,
3534
+ )
3535
+
3536
+
3537
+ @validate_call
3538
+ def requeue_analysis_without_preload_content(
3539
+ self,
3540
+ analysis_id: StrictInt,
3541
+ re_analysis_form: ReAnalysisForm,
3542
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
3543
+ _request_timeout: Union[
3544
+ None,
3545
+ Annotated[StrictFloat, Field(gt=0)],
3546
+ Tuple[
3547
+ Annotated[StrictFloat, Field(gt=0)],
3548
+ Annotated[StrictFloat, Field(gt=0)]
3549
+ ]
3550
+ ] = None,
3551
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3552
+ _content_type: Optional[StrictStr] = None,
3553
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3554
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3555
+ ) -> RESTResponseType:
3556
+ """Requeue Analysis
3557
+
3558
+ Re-queues an already uploaded analysis
3559
+
3560
+ :param analysis_id: (required)
3561
+ :type analysis_id: int
3562
+ :param re_analysis_form: (required)
3563
+ :type re_analysis_form: ReAnalysisForm
3564
+ :param authorization: API Key bearer token
3565
+ :type authorization: str
3566
+ :param _request_timeout: timeout setting for this request. If one
3567
+ number provided, it will be total request
3568
+ timeout. It can also be a pair (tuple) of
3569
+ (connection, read) timeouts.
3570
+ :type _request_timeout: int, tuple(int, int), optional
3571
+ :param _request_auth: set to override the auth_settings for an a single
3572
+ request; this effectively ignores the
3573
+ authentication in the spec for a single request.
3574
+ :type _request_auth: dict, optional
3575
+ :param _content_type: force content-type for the request.
3576
+ :type _content_type: str, Optional
3577
+ :param _headers: set to override the headers for a single
3578
+ request; this effectively ignores the headers
3579
+ in the spec for a single request.
3580
+ :type _headers: dict, optional
3581
+ :param _host_index: set to override the host_index for a single
3582
+ request; this effectively ignores the host_index
3583
+ in the spec for a single request.
3584
+ :type _host_index: int, optional
3585
+ :return: Returns the result object.
3586
+ """ # noqa: E501
3587
+
3588
+ _param = self._requeue_analysis_serialize(
3589
+ analysis_id=analysis_id,
3590
+ re_analysis_form=re_analysis_form,
3591
+ authorization=authorization,
3592
+ _request_auth=_request_auth,
3593
+ _content_type=_content_type,
3594
+ _headers=_headers,
3595
+ _host_index=_host_index
3596
+ )
3597
+
3598
+ _response_types_map: Dict[str, Optional[str]] = {
3599
+ '201': "BaseResponseCreated",
3600
+ '422': "BaseResponse",
3601
+ '404': "BaseResponse",
3602
+ '400': "BaseResponse",
3603
+ }
3604
+ response_data = self.api_client.call_api(
3605
+ *_param,
3606
+ _request_timeout=_request_timeout
3607
+ )
3608
+ return response_data.response
3609
+
3610
+
3611
+ def _requeue_analysis_serialize(
3612
+ self,
3613
+ analysis_id,
3614
+ re_analysis_form,
3615
+ authorization,
3616
+ _request_auth,
3617
+ _content_type,
3618
+ _headers,
3619
+ _host_index,
3620
+ ) -> RequestSerialized:
3621
+
3622
+ _host = None
3623
+
3624
+ _collection_formats: Dict[str, str] = {
3625
+ }
3626
+
3627
+ _path_params: Dict[str, str] = {}
3628
+ _query_params: List[Tuple[str, str]] = []
3629
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3630
+ _form_params: List[Tuple[str, str]] = []
3631
+ _files: Dict[
3632
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
3633
+ ] = {}
3634
+ _body_params: Optional[bytes] = None
3635
+
3636
+ # process the path parameters
3637
+ if analysis_id is not None:
3638
+ _path_params['analysis_id'] = analysis_id
3639
+ # process the query parameters
3640
+ # process the header parameters
3641
+ if authorization is not None:
3642
+ _header_params['authorization'] = authorization
3643
+ # process the form parameters
3644
+ # process the body parameter
3645
+ if re_analysis_form is not None:
3646
+ _body_params = re_analysis_form
3647
+
3648
+
3649
+ # set the HTTP header `Accept`
3650
+ if 'Accept' not in _header_params:
3651
+ _header_params['Accept'] = self.api_client.select_header_accept(
3652
+ [
3653
+ 'application/json'
3654
+ ]
3655
+ )
3656
+
3657
+ # set the HTTP header `Content-Type`
3658
+ if _content_type:
3659
+ _header_params['Content-Type'] = _content_type
3660
+ else:
3661
+ _default_content_type = (
3662
+ self.api_client.select_header_content_type(
3663
+ [
3664
+ 'application/json'
3665
+ ]
3666
+ )
3667
+ )
3668
+ if _default_content_type is not None:
3669
+ _header_params['Content-Type'] = _default_content_type
3670
+
3671
+ # authentication setting
3672
+ _auth_settings: List[str] = [
3673
+ 'APIKey'
3674
+ ]
3675
+
3676
+ return self.api_client.param_serialize(
3677
+ method='POST',
3678
+ resource_path='/v2/analyses/{analysis_id}/requeue',
3679
+ path_params=_path_params,
3680
+ query_params=_query_params,
3681
+ header_params=_header_params,
3682
+ body=_body_params,
3683
+ post_params=_form_params,
3684
+ files=_files,
3685
+ auth_settings=_auth_settings,
3686
+ collection_formats=_collection_formats,
3687
+ _host=_host,
3688
+ _request_auth=_request_auth
3689
+ )
3690
+
3691
+
3692
+
3693
+
3694
+ @validate_call
3695
+ def update_analysis(
3696
+ self,
3697
+ analysis_id: StrictInt,
3698
+ analysis_update_request: AnalysisUpdateRequest,
3699
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
3700
+ _request_timeout: Union[
3701
+ None,
3702
+ Annotated[StrictFloat, Field(gt=0)],
3703
+ Tuple[
3704
+ Annotated[StrictFloat, Field(gt=0)],
3705
+ Annotated[StrictFloat, Field(gt=0)]
3706
+ ]
3707
+ ] = None,
3708
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3709
+ _content_type: Optional[StrictStr] = None,
3710
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3711
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3712
+ ) -> BaseResponseAnalysisDetailResponse:
3713
+ """Update Analysis
3714
+
3715
+ Updates analysis attributes (binary_name, analysis_scope). User must be the owner.
3716
+
3717
+ :param analysis_id: (required)
3718
+ :type analysis_id: int
3719
+ :param analysis_update_request: (required)
3720
+ :type analysis_update_request: AnalysisUpdateRequest
3721
+ :param authorization: API Key bearer token
3722
+ :type authorization: str
3723
+ :param _request_timeout: timeout setting for this request. If one
3724
+ number provided, it will be total request
3725
+ timeout. It can also be a pair (tuple) of
3726
+ (connection, read) timeouts.
3727
+ :type _request_timeout: int, tuple(int, int), optional
3728
+ :param _request_auth: set to override the auth_settings for an a single
3729
+ request; this effectively ignores the
3730
+ authentication in the spec for a single request.
3731
+ :type _request_auth: dict, optional
3732
+ :param _content_type: force content-type for the request.
3733
+ :type _content_type: str, Optional
3734
+ :param _headers: set to override the headers for a single
3735
+ request; this effectively ignores the headers
3736
+ in the spec for a single request.
3737
+ :type _headers: dict, optional
3738
+ :param _host_index: set to override the host_index for a single
3739
+ request; this effectively ignores the host_index
3740
+ in the spec for a single request.
3741
+ :type _host_index: int, optional
3742
+ :return: Returns the result object.
3743
+ """ # noqa: E501
3744
+
3745
+ _param = self._update_analysis_serialize(
3746
+ analysis_id=analysis_id,
3747
+ analysis_update_request=analysis_update_request,
3748
+ authorization=authorization,
3749
+ _request_auth=_request_auth,
3750
+ _content_type=_content_type,
3751
+ _headers=_headers,
3752
+ _host_index=_host_index
3753
+ )
3754
+
3755
+ _response_types_map: Dict[str, Optional[str]] = {
3756
+ '200': "BaseResponseAnalysisDetailResponse",
3757
+ '422': "BaseResponse",
3758
+ }
3759
+ response_data = self.api_client.call_api(
3760
+ *_param,
3761
+ _request_timeout=_request_timeout
3762
+ )
3763
+ response_data.read()
3764
+ return self.api_client.response_deserialize(
3765
+ response_data=response_data,
3766
+ response_types_map=_response_types_map,
3767
+ ).data
3768
+
3769
+
3770
+ @validate_call
3771
+ def update_analysis_with_http_info(
3772
+ self,
3773
+ analysis_id: StrictInt,
3774
+ analysis_update_request: AnalysisUpdateRequest,
3775
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
3776
+ _request_timeout: Union[
3777
+ None,
3778
+ Annotated[StrictFloat, Field(gt=0)],
3779
+ Tuple[
3780
+ Annotated[StrictFloat, Field(gt=0)],
3781
+ Annotated[StrictFloat, Field(gt=0)]
3782
+ ]
3783
+ ] = None,
3784
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3785
+ _content_type: Optional[StrictStr] = None,
3786
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3787
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3788
+ ) -> ApiResponse[BaseResponseAnalysisDetailResponse]:
3789
+ """Update Analysis
3790
+
3791
+ Updates analysis attributes (binary_name, analysis_scope). User must be the owner.
3792
+
3793
+ :param analysis_id: (required)
3794
+ :type analysis_id: int
3795
+ :param analysis_update_request: (required)
3796
+ :type analysis_update_request: AnalysisUpdateRequest
3797
+ :param authorization: API Key bearer token
3798
+ :type authorization: str
3799
+ :param _request_timeout: timeout setting for this request. If one
3800
+ number provided, it will be total request
3801
+ timeout. It can also be a pair (tuple) of
3802
+ (connection, read) timeouts.
3803
+ :type _request_timeout: int, tuple(int, int), optional
3804
+ :param _request_auth: set to override the auth_settings for an a single
3805
+ request; this effectively ignores the
3806
+ authentication in the spec for a single request.
3807
+ :type _request_auth: dict, optional
3808
+ :param _content_type: force content-type for the request.
3809
+ :type _content_type: str, Optional
3810
+ :param _headers: set to override the headers for a single
3811
+ request; this effectively ignores the headers
3812
+ in the spec for a single request.
3813
+ :type _headers: dict, optional
3814
+ :param _host_index: set to override the host_index for a single
3815
+ request; this effectively ignores the host_index
3816
+ in the spec for a single request.
3817
+ :type _host_index: int, optional
3818
+ :return: Returns the result object.
3819
+ """ # noqa: E501
3820
+
3821
+ _param = self._update_analysis_serialize(
3822
+ analysis_id=analysis_id,
3823
+ analysis_update_request=analysis_update_request,
3824
+ authorization=authorization,
3825
+ _request_auth=_request_auth,
3826
+ _content_type=_content_type,
3827
+ _headers=_headers,
3828
+ _host_index=_host_index
3829
+ )
3830
+
3831
+ _response_types_map: Dict[str, Optional[str]] = {
3832
+ '200': "BaseResponseAnalysisDetailResponse",
3833
+ '422': "BaseResponse",
3834
+ }
3835
+ response_data = self.api_client.call_api(
3836
+ *_param,
3837
+ _request_timeout=_request_timeout
3838
+ )
3839
+ response_data.read()
3840
+ return self.api_client.response_deserialize(
3841
+ response_data=response_data,
3842
+ response_types_map=_response_types_map,
3843
+ )
3844
+
3845
+
3846
+ @validate_call
3847
+ def update_analysis_without_preload_content(
3848
+ self,
3849
+ analysis_id: StrictInt,
3850
+ analysis_update_request: AnalysisUpdateRequest,
3851
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
3852
+ _request_timeout: Union[
3853
+ None,
3854
+ Annotated[StrictFloat, Field(gt=0)],
3855
+ Tuple[
3856
+ Annotated[StrictFloat, Field(gt=0)],
3857
+ Annotated[StrictFloat, Field(gt=0)]
3858
+ ]
3859
+ ] = None,
3860
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3861
+ _content_type: Optional[StrictStr] = None,
3862
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3863
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3864
+ ) -> RESTResponseType:
3865
+ """Update Analysis
3866
+
3867
+ Updates analysis attributes (binary_name, analysis_scope). User must be the owner.
3868
+
3869
+ :param analysis_id: (required)
3870
+ :type analysis_id: int
3871
+ :param analysis_update_request: (required)
3872
+ :type analysis_update_request: AnalysisUpdateRequest
3873
+ :param authorization: API Key bearer token
3874
+ :type authorization: str
3875
+ :param _request_timeout: timeout setting for this request. If one
3876
+ number provided, it will be total request
3877
+ timeout. It can also be a pair (tuple) of
3878
+ (connection, read) timeouts.
3879
+ :type _request_timeout: int, tuple(int, int), optional
3880
+ :param _request_auth: set to override the auth_settings for an a single
3881
+ request; this effectively ignores the
3882
+ authentication in the spec for a single request.
3883
+ :type _request_auth: dict, optional
3884
+ :param _content_type: force content-type for the request.
3885
+ :type _content_type: str, Optional
3886
+ :param _headers: set to override the headers for a single
3887
+ request; this effectively ignores the headers
3888
+ in the spec for a single request.
3889
+ :type _headers: dict, optional
3890
+ :param _host_index: set to override the host_index for a single
3891
+ request; this effectively ignores the host_index
3892
+ in the spec for a single request.
3893
+ :type _host_index: int, optional
3894
+ :return: Returns the result object.
3895
+ """ # noqa: E501
3896
+
3897
+ _param = self._update_analysis_serialize(
3898
+ analysis_id=analysis_id,
3899
+ analysis_update_request=analysis_update_request,
3900
+ authorization=authorization,
3901
+ _request_auth=_request_auth,
3902
+ _content_type=_content_type,
3903
+ _headers=_headers,
3904
+ _host_index=_host_index
3905
+ )
3906
+
3907
+ _response_types_map: Dict[str, Optional[str]] = {
3908
+ '200': "BaseResponseAnalysisDetailResponse",
3909
+ '422': "BaseResponse",
3910
+ }
3911
+ response_data = self.api_client.call_api(
3912
+ *_param,
3913
+ _request_timeout=_request_timeout
3914
+ )
3915
+ return response_data.response
3916
+
3917
+
3918
+ def _update_analysis_serialize(
3919
+ self,
3920
+ analysis_id,
3921
+ analysis_update_request,
3922
+ authorization,
3923
+ _request_auth,
3924
+ _content_type,
3925
+ _headers,
3926
+ _host_index,
3927
+ ) -> RequestSerialized:
3928
+
3929
+ _host = None
3930
+
3931
+ _collection_formats: Dict[str, str] = {
3932
+ }
3933
+
3934
+ _path_params: Dict[str, str] = {}
3935
+ _query_params: List[Tuple[str, str]] = []
3936
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3937
+ _form_params: List[Tuple[str, str]] = []
3938
+ _files: Dict[
3939
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
3940
+ ] = {}
3941
+ _body_params: Optional[bytes] = None
3942
+
3943
+ # process the path parameters
3944
+ if analysis_id is not None:
3945
+ _path_params['analysis_id'] = analysis_id
3946
+ # process the query parameters
3947
+ # process the header parameters
3948
+ if authorization is not None:
3949
+ _header_params['authorization'] = authorization
3950
+ # process the form parameters
3951
+ # process the body parameter
3952
+ if analysis_update_request is not None:
3953
+ _body_params = analysis_update_request
3954
+
3955
+
3956
+ # set the HTTP header `Accept`
3957
+ if 'Accept' not in _header_params:
3958
+ _header_params['Accept'] = self.api_client.select_header_accept(
3959
+ [
3960
+ 'application/json'
3961
+ ]
3962
+ )
3963
+
3964
+ # set the HTTP header `Content-Type`
3965
+ if _content_type:
3966
+ _header_params['Content-Type'] = _content_type
3967
+ else:
3968
+ _default_content_type = (
3969
+ self.api_client.select_header_content_type(
3970
+ [
3971
+ 'application/json'
3972
+ ]
3973
+ )
3974
+ )
3975
+ if _default_content_type is not None:
3976
+ _header_params['Content-Type'] = _default_content_type
3977
+
3978
+ # authentication setting
3979
+ _auth_settings: List[str] = [
3980
+ 'APIKey'
3981
+ ]
3982
+
3983
+ return self.api_client.param_serialize(
3984
+ method='PATCH',
3985
+ resource_path='/v2/analyses/{analysis_id}',
3986
+ path_params=_path_params,
3987
+ query_params=_query_params,
3988
+ header_params=_header_params,
3989
+ body=_body_params,
3990
+ post_params=_form_params,
3991
+ files=_files,
3992
+ auth_settings=_auth_settings,
3993
+ collection_formats=_collection_formats,
3994
+ _host=_host,
3995
+ _request_auth=_request_auth
3996
+ )
3997
+
3998
+
3999
+
4000
+
4001
+ @validate_call
4002
+ def update_analysis_tags(
4003
+ self,
4004
+ analysis_id: StrictInt,
4005
+ analysis_update_tags_request: AnalysisUpdateTagsRequest,
4006
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
4007
+ _request_timeout: Union[
4008
+ None,
4009
+ Annotated[StrictFloat, Field(gt=0)],
4010
+ Tuple[
4011
+ Annotated[StrictFloat, Field(gt=0)],
4012
+ Annotated[StrictFloat, Field(gt=0)]
4013
+ ]
4014
+ ] = None,
4015
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4016
+ _content_type: Optional[StrictStr] = None,
4017
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4018
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4019
+ ) -> BaseResponseAnalysisUpdateTagsResponse:
4020
+ """Update Analysis Tags
4021
+
4022
+ Updates analysis tags. User must be the owner.
4023
+
4024
+ :param analysis_id: (required)
4025
+ :type analysis_id: int
4026
+ :param analysis_update_tags_request: (required)
4027
+ :type analysis_update_tags_request: AnalysisUpdateTagsRequest
4028
+ :param authorization: API Key bearer token
4029
+ :type authorization: str
4030
+ :param _request_timeout: timeout setting for this request. If one
4031
+ number provided, it will be total request
4032
+ timeout. It can also be a pair (tuple) of
4033
+ (connection, read) timeouts.
4034
+ :type _request_timeout: int, tuple(int, int), optional
4035
+ :param _request_auth: set to override the auth_settings for an a single
4036
+ request; this effectively ignores the
4037
+ authentication in the spec for a single request.
4038
+ :type _request_auth: dict, optional
4039
+ :param _content_type: force content-type for the request.
4040
+ :type _content_type: str, Optional
4041
+ :param _headers: set to override the headers for a single
4042
+ request; this effectively ignores the headers
4043
+ in the spec for a single request.
4044
+ :type _headers: dict, optional
4045
+ :param _host_index: set to override the host_index for a single
4046
+ request; this effectively ignores the host_index
4047
+ in the spec for a single request.
4048
+ :type _host_index: int, optional
4049
+ :return: Returns the result object.
4050
+ """ # noqa: E501
4051
+
4052
+ _param = self._update_analysis_tags_serialize(
4053
+ analysis_id=analysis_id,
4054
+ analysis_update_tags_request=analysis_update_tags_request,
4055
+ authorization=authorization,
4056
+ _request_auth=_request_auth,
4057
+ _content_type=_content_type,
4058
+ _headers=_headers,
4059
+ _host_index=_host_index
4060
+ )
4061
+
4062
+ _response_types_map: Dict[str, Optional[str]] = {
4063
+ '200': "BaseResponseAnalysisUpdateTagsResponse",
4064
+ '422': "BaseResponse",
4065
+ }
4066
+ response_data = self.api_client.call_api(
4067
+ *_param,
4068
+ _request_timeout=_request_timeout
4069
+ )
4070
+ response_data.read()
4071
+ return self.api_client.response_deserialize(
4072
+ response_data=response_data,
4073
+ response_types_map=_response_types_map,
4074
+ ).data
4075
+
4076
+
4077
+ @validate_call
4078
+ def update_analysis_tags_with_http_info(
4079
+ self,
4080
+ analysis_id: StrictInt,
4081
+ analysis_update_tags_request: AnalysisUpdateTagsRequest,
4082
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
4083
+ _request_timeout: Union[
4084
+ None,
4085
+ Annotated[StrictFloat, Field(gt=0)],
4086
+ Tuple[
4087
+ Annotated[StrictFloat, Field(gt=0)],
4088
+ Annotated[StrictFloat, Field(gt=0)]
4089
+ ]
4090
+ ] = None,
4091
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4092
+ _content_type: Optional[StrictStr] = None,
4093
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4094
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4095
+ ) -> ApiResponse[BaseResponseAnalysisUpdateTagsResponse]:
4096
+ """Update Analysis Tags
4097
+
4098
+ Updates analysis tags. User must be the owner.
4099
+
4100
+ :param analysis_id: (required)
4101
+ :type analysis_id: int
4102
+ :param analysis_update_tags_request: (required)
4103
+ :type analysis_update_tags_request: AnalysisUpdateTagsRequest
4104
+ :param authorization: API Key bearer token
4105
+ :type authorization: str
4106
+ :param _request_timeout: timeout setting for this request. If one
4107
+ number provided, it will be total request
4108
+ timeout. It can also be a pair (tuple) of
4109
+ (connection, read) timeouts.
4110
+ :type _request_timeout: int, tuple(int, int), optional
4111
+ :param _request_auth: set to override the auth_settings for an a single
4112
+ request; this effectively ignores the
4113
+ authentication in the spec for a single request.
4114
+ :type _request_auth: dict, optional
4115
+ :param _content_type: force content-type for the request.
4116
+ :type _content_type: str, Optional
4117
+ :param _headers: set to override the headers for a single
4118
+ request; this effectively ignores the headers
4119
+ in the spec for a single request.
4120
+ :type _headers: dict, optional
4121
+ :param _host_index: set to override the host_index for a single
4122
+ request; this effectively ignores the host_index
4123
+ in the spec for a single request.
4124
+ :type _host_index: int, optional
4125
+ :return: Returns the result object.
4126
+ """ # noqa: E501
4127
+
4128
+ _param = self._update_analysis_tags_serialize(
4129
+ analysis_id=analysis_id,
4130
+ analysis_update_tags_request=analysis_update_tags_request,
4131
+ authorization=authorization,
4132
+ _request_auth=_request_auth,
4133
+ _content_type=_content_type,
4134
+ _headers=_headers,
4135
+ _host_index=_host_index
4136
+ )
4137
+
4138
+ _response_types_map: Dict[str, Optional[str]] = {
4139
+ '200': "BaseResponseAnalysisUpdateTagsResponse",
4140
+ '422': "BaseResponse",
4141
+ }
4142
+ response_data = self.api_client.call_api(
4143
+ *_param,
4144
+ _request_timeout=_request_timeout
4145
+ )
4146
+ response_data.read()
4147
+ return self.api_client.response_deserialize(
4148
+ response_data=response_data,
4149
+ response_types_map=_response_types_map,
4150
+ )
4151
+
4152
+
4153
+ @validate_call
4154
+ def update_analysis_tags_without_preload_content(
4155
+ self,
4156
+ analysis_id: StrictInt,
4157
+ analysis_update_tags_request: AnalysisUpdateTagsRequest,
4158
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
4159
+ _request_timeout: Union[
4160
+ None,
4161
+ Annotated[StrictFloat, Field(gt=0)],
4162
+ Tuple[
4163
+ Annotated[StrictFloat, Field(gt=0)],
4164
+ Annotated[StrictFloat, Field(gt=0)]
4165
+ ]
4166
+ ] = None,
4167
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4168
+ _content_type: Optional[StrictStr] = None,
4169
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4170
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4171
+ ) -> RESTResponseType:
4172
+ """Update Analysis Tags
4173
+
4174
+ Updates analysis tags. User must be the owner.
4175
+
4176
+ :param analysis_id: (required)
4177
+ :type analysis_id: int
4178
+ :param analysis_update_tags_request: (required)
4179
+ :type analysis_update_tags_request: AnalysisUpdateTagsRequest
4180
+ :param authorization: API Key bearer token
4181
+ :type authorization: str
4182
+ :param _request_timeout: timeout setting for this request. If one
4183
+ number provided, it will be total request
4184
+ timeout. It can also be a pair (tuple) of
4185
+ (connection, read) timeouts.
4186
+ :type _request_timeout: int, tuple(int, int), optional
4187
+ :param _request_auth: set to override the auth_settings for an a single
4188
+ request; this effectively ignores the
4189
+ authentication in the spec for a single request.
4190
+ :type _request_auth: dict, optional
4191
+ :param _content_type: force content-type for the request.
4192
+ :type _content_type: str, Optional
4193
+ :param _headers: set to override the headers for a single
4194
+ request; this effectively ignores the headers
4195
+ in the spec for a single request.
4196
+ :type _headers: dict, optional
4197
+ :param _host_index: set to override the host_index for a single
4198
+ request; this effectively ignores the host_index
4199
+ in the spec for a single request.
4200
+ :type _host_index: int, optional
4201
+ :return: Returns the result object.
4202
+ """ # noqa: E501
4203
+
4204
+ _param = self._update_analysis_tags_serialize(
4205
+ analysis_id=analysis_id,
4206
+ analysis_update_tags_request=analysis_update_tags_request,
4207
+ authorization=authorization,
4208
+ _request_auth=_request_auth,
4209
+ _content_type=_content_type,
4210
+ _headers=_headers,
4211
+ _host_index=_host_index
4212
+ )
4213
+
4214
+ _response_types_map: Dict[str, Optional[str]] = {
4215
+ '200': "BaseResponseAnalysisUpdateTagsResponse",
4216
+ '422': "BaseResponse",
4217
+ }
4218
+ response_data = self.api_client.call_api(
4219
+ *_param,
4220
+ _request_timeout=_request_timeout
4221
+ )
4222
+ return response_data.response
4223
+
4224
+
4225
+ def _update_analysis_tags_serialize(
4226
+ self,
4227
+ analysis_id,
4228
+ analysis_update_tags_request,
4229
+ authorization,
4230
+ _request_auth,
4231
+ _content_type,
4232
+ _headers,
4233
+ _host_index,
4234
+ ) -> RequestSerialized:
4235
+
4236
+ _host = None
4237
+
4238
+ _collection_formats: Dict[str, str] = {
4239
+ }
4240
+
4241
+ _path_params: Dict[str, str] = {}
4242
+ _query_params: List[Tuple[str, str]] = []
4243
+ _header_params: Dict[str, Optional[str]] = _headers or {}
4244
+ _form_params: List[Tuple[str, str]] = []
4245
+ _files: Dict[
4246
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
4247
+ ] = {}
4248
+ _body_params: Optional[bytes] = None
4249
+
4250
+ # process the path parameters
4251
+ if analysis_id is not None:
4252
+ _path_params['analysis_id'] = analysis_id
4253
+ # process the query parameters
4254
+ # process the header parameters
4255
+ if authorization is not None:
4256
+ _header_params['authorization'] = authorization
4257
+ # process the form parameters
4258
+ # process the body parameter
4259
+ if analysis_update_tags_request is not None:
4260
+ _body_params = analysis_update_tags_request
4261
+
4262
+
4263
+ # set the HTTP header `Accept`
4264
+ if 'Accept' not in _header_params:
4265
+ _header_params['Accept'] = self.api_client.select_header_accept(
4266
+ [
4267
+ 'application/json'
4268
+ ]
4269
+ )
4270
+
4271
+ # set the HTTP header `Content-Type`
4272
+ if _content_type:
4273
+ _header_params['Content-Type'] = _content_type
4274
+ else:
4275
+ _default_content_type = (
4276
+ self.api_client.select_header_content_type(
4277
+ [
4278
+ 'application/json'
4279
+ ]
4280
+ )
4281
+ )
4282
+ if _default_content_type is not None:
4283
+ _header_params['Content-Type'] = _default_content_type
4284
+
4285
+ # authentication setting
4286
+ _auth_settings: List[str] = [
4287
+ 'APIKey'
4288
+ ]
4289
+
4290
+ return self.api_client.param_serialize(
4291
+ method='PATCH',
4292
+ resource_path='/v2/analyses/{analysis_id}/tags',
4293
+ path_params=_path_params,
4294
+ query_params=_query_params,
4295
+ header_params=_header_params,
4296
+ body=_body_params,
4297
+ post_params=_form_params,
4298
+ files=_files,
4299
+ auth_settings=_auth_settings,
4300
+ collection_formats=_collection_formats,
4301
+ _host=_host,
4302
+ _request_auth=_request_auth
4303
+ )
4304
+
4305
+