revengai 2.74.0__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 (314) hide show
  1. revengai/__init__.py +647 -0
  2. revengai/api/__init__.py +22 -0
  3. revengai/api/analyses_comments_api.py +1198 -0
  4. revengai/api/analyses_core_api.py +3870 -0
  5. revengai/api/analyses_dynamic_execution_api.py +1884 -0
  6. revengai/api/analyses_results_metadata_api.py +2240 -0
  7. revengai/api/analyses_security_checks_api.py +862 -0
  8. revengai/api/authentication_users_api.py +1323 -0
  9. revengai/api/binaries_api.py +1610 -0
  10. revengai/api/collections_api.py +2167 -0
  11. revengai/api/external_sources_api.py +827 -0
  12. revengai/api/firmware_api.py +592 -0
  13. revengai/api/functions_ai_decompilation_api.py +2592 -0
  14. revengai/api/functions_block_comments_api.py +849 -0
  15. revengai/api/functions_core_api.py +3430 -0
  16. revengai/api/functions_data_types_api.py +1746 -0
  17. revengai/api/functions_decompilation_api.py +1198 -0
  18. revengai/api/functions_renaming_history_api.py +1151 -0
  19. revengai/api/models_api.py +284 -0
  20. revengai/api/search_api.py +1454 -0
  21. revengai/api_client.py +803 -0
  22. revengai/api_response.py +21 -0
  23. revengai/configuration.py +605 -0
  24. revengai/exceptions.py +215 -0
  25. revengai/models/__init__.py +298 -0
  26. revengai/models/addr.py +143 -0
  27. revengai/models/ai_decompilation_rating.py +37 -0
  28. revengai/models/ai_unstrip_request.py +86 -0
  29. revengai/models/analysis_access_info.py +88 -0
  30. revengai/models/analysis_config.py +106 -0
  31. revengai/models/analysis_create_request.py +131 -0
  32. revengai/models/analysis_create_response.py +88 -0
  33. revengai/models/analysis_detail_response.py +121 -0
  34. revengai/models/analysis_function_mapping.py +90 -0
  35. revengai/models/analysis_function_matching_request.py +110 -0
  36. revengai/models/analysis_functions.py +94 -0
  37. revengai/models/analysis_functions_list.py +94 -0
  38. revengai/models/analysis_record.py +128 -0
  39. revengai/models/analysis_scope.py +36 -0
  40. revengai/models/analysis_strings_response.py +96 -0
  41. revengai/models/analysis_tags.py +94 -0
  42. revengai/models/analysis_update_request.py +108 -0
  43. revengai/models/analysis_update_tags_request.py +86 -0
  44. revengai/models/analysis_update_tags_response.py +94 -0
  45. revengai/models/app_api_rest_v2_analyses_enums_dynamic_execution_status.py +38 -0
  46. revengai/models/app_api_rest_v2_analyses_enums_order_by.py +37 -0
  47. revengai/models/app_api_rest_v2_collections_enums_order_by.py +40 -0
  48. revengai/models/app_api_rest_v2_functions_responses_function.py +93 -0
  49. revengai/models/app_api_rest_v2_functions_types_function.py +110 -0
  50. revengai/models/app_services_dynamic_execution_schemas_dynamic_execution_status.py +86 -0
  51. revengai/models/argument.py +99 -0
  52. revengai/models/auto_unstrip_request.py +99 -0
  53. revengai/models/auto_unstrip_response.py +129 -0
  54. revengai/models/base_response.py +124 -0
  55. revengai/models/base_response_analysis_create_response.py +125 -0
  56. revengai/models/base_response_analysis_detail_response.py +125 -0
  57. revengai/models/base_response_analysis_function_mapping.py +125 -0
  58. revengai/models/base_response_analysis_functions.py +125 -0
  59. revengai/models/base_response_analysis_functions_list.py +125 -0
  60. revengai/models/base_response_analysis_strings_response.py +125 -0
  61. revengai/models/base_response_analysis_tags.py +125 -0
  62. revengai/models/base_response_analysis_update_tags_response.py +125 -0
  63. revengai/models/base_response_basic.py +125 -0
  64. revengai/models/base_response_binary_additional_response.py +125 -0
  65. revengai/models/base_response_binary_details_response.py +125 -0
  66. revengai/models/base_response_binary_externals_response.py +125 -0
  67. revengai/models/base_response_binary_search_response.py +125 -0
  68. revengai/models/base_response_block_comments_generation_for_function_response.py +125 -0
  69. revengai/models/base_response_block_comments_overview_generation_response.py +116 -0
  70. revengai/models/base_response_bool.py +121 -0
  71. revengai/models/base_response_callees_caller_functions_response.py +125 -0
  72. revengai/models/base_response_capabilities.py +125 -0
  73. revengai/models/base_response_check_security_checks_task_response.py +125 -0
  74. revengai/models/base_response_child_binaries_response.py +125 -0
  75. revengai/models/base_response_collection_binaries_update_response.py +125 -0
  76. revengai/models/base_response_collection_response.py +125 -0
  77. revengai/models/base_response_collection_search_response.py +125 -0
  78. revengai/models/base_response_collection_tags_update_response.py +125 -0
  79. revengai/models/base_response_comment_response.py +125 -0
  80. revengai/models/base_response_communities.py +125 -0
  81. revengai/models/base_response_created.py +125 -0
  82. revengai/models/base_response_dict.py +121 -0
  83. revengai/models/base_response_dynamic_execution_status.py +125 -0
  84. revengai/models/base_response_external_response.py +125 -0
  85. revengai/models/base_response_function_blocks_response.py +125 -0
  86. revengai/models/base_response_function_capability_response.py +125 -0
  87. revengai/models/base_response_function_data_types.py +125 -0
  88. revengai/models/base_response_function_data_types_list.py +125 -0
  89. revengai/models/base_response_function_search_response.py +125 -0
  90. revengai/models/base_response_function_strings_response.py +125 -0
  91. revengai/models/base_response_function_task_response.py +125 -0
  92. revengai/models/base_response_functions_detail_response.py +125 -0
  93. revengai/models/base_response_generate_function_data_types.py +125 -0
  94. revengai/models/base_response_generation_status_list.py +125 -0
  95. revengai/models/base_response_get_ai_decompilation_rating_response.py +125 -0
  96. revengai/models/base_response_get_ai_decompilation_task.py +125 -0
  97. revengai/models/base_response_get_me_response.py +125 -0
  98. revengai/models/base_response_get_public_user_response.py +125 -0
  99. revengai/models/base_response_list_collection_results.py +125 -0
  100. revengai/models/base_response_list_comment_response.py +129 -0
  101. revengai/models/base_response_list_die_match.py +129 -0
  102. revengai/models/base_response_list_function_name_history.py +129 -0
  103. revengai/models/base_response_list_sbom.py +129 -0
  104. revengai/models/base_response_list_user_activity_response.py +129 -0
  105. revengai/models/base_response_login_response.py +125 -0
  106. revengai/models/base_response_logs.py +125 -0
  107. revengai/models/base_response_models_response.py +125 -0
  108. revengai/models/base_response_network_overview_response.py +125 -0
  109. revengai/models/base_response_params.py +125 -0
  110. revengai/models/base_response_process_dumps.py +125 -0
  111. revengai/models/base_response_process_registry.py +125 -0
  112. revengai/models/base_response_process_tree.py +125 -0
  113. revengai/models/base_response_queued_security_checks_task_response.py +125 -0
  114. revengai/models/base_response_recent.py +125 -0
  115. revengai/models/base_response_security_checks_response.py +125 -0
  116. revengai/models/base_response_status.py +125 -0
  117. revengai/models/base_response_str.py +121 -0
  118. revengai/models/base_response_tag_search_response.py +125 -0
  119. revengai/models/base_response_task_response.py +125 -0
  120. revengai/models/base_response_ttps.py +125 -0
  121. revengai/models/base_response_upload_response.py +125 -0
  122. revengai/models/base_response_vulnerabilities.py +125 -0
  123. revengai/models/basic.py +116 -0
  124. revengai/models/binary_additional_details_data_response.py +112 -0
  125. revengai/models/binary_additional_response.py +105 -0
  126. revengai/models/binary_config.py +108 -0
  127. revengai/models/binary_details_response.py +125 -0
  128. revengai/models/binary_externals_response.py +95 -0
  129. revengai/models/binary_search_response.py +94 -0
  130. revengai/models/binary_search_result.py +108 -0
  131. revengai/models/binary_task_status.py +39 -0
  132. revengai/models/block.py +86 -0
  133. revengai/models/block_comments_generation_for_function_response.py +86 -0
  134. revengai/models/callee_function_info.py +106 -0
  135. revengai/models/callees_caller_functions_response.py +106 -0
  136. revengai/models/caller_function_info.py +106 -0
  137. revengai/models/capabilities.py +94 -0
  138. revengai/models/capability.py +90 -0
  139. revengai/models/check_security_checks_task_response.py +87 -0
  140. revengai/models/child_binaries_response.py +104 -0
  141. revengai/models/code_signature_model.py +98 -0
  142. revengai/models/collection_binaries_update_request.py +86 -0
  143. revengai/models/collection_binaries_update_response.py +94 -0
  144. revengai/models/collection_binary_response.py +97 -0
  145. revengai/models/collection_create_request.py +107 -0
  146. revengai/models/collection_list_item.py +112 -0
  147. revengai/models/collection_response.py +131 -0
  148. revengai/models/collection_response_binaries_inner.py +135 -0
  149. revengai/models/collection_scope.py +38 -0
  150. revengai/models/collection_search_response.py +94 -0
  151. revengai/models/collection_search_result.py +124 -0
  152. revengai/models/collection_tags_update_request.py +86 -0
  153. revengai/models/collection_tags_update_response.py +86 -0
  154. revengai/models/collection_update_request.py +106 -0
  155. revengai/models/comment_base.py +86 -0
  156. revengai/models/comment_response.py +110 -0
  157. revengai/models/comment_update_request.py +86 -0
  158. revengai/models/communities.py +100 -0
  159. revengai/models/community_match_percentages.py +92 -0
  160. revengai/models/confidence_type.py +39 -0
  161. revengai/models/context.py +141 -0
  162. revengai/models/created.py +90 -0
  163. revengai/models/decompilation_comment_context.py +98 -0
  164. revengai/models/die_match.py +92 -0
  165. revengai/models/dynamic_execution_status_input.py +38 -0
  166. revengai/models/elf_dynamic_entry.py +88 -0
  167. revengai/models/elf_import_model.py +88 -0
  168. revengai/models/elf_model.py +179 -0
  169. revengai/models/elf_relocation.py +98 -0
  170. revengai/models/elf_section.py +104 -0
  171. revengai/models/elf_security.py +94 -0
  172. revengai/models/elf_segment.py +102 -0
  173. revengai/models/elf_symbol.py +98 -0
  174. revengai/models/entrypoint_model.py +88 -0
  175. revengai/models/enumeration.py +97 -0
  176. revengai/models/error_model.py +88 -0
  177. revengai/models/export_model.py +88 -0
  178. revengai/models/external_response.py +91 -0
  179. revengai/models/file_format.py +37 -0
  180. revengai/models/file_hashes.py +140 -0
  181. revengai/models/file_metadata.py +96 -0
  182. revengai/models/filters.py +39 -0
  183. revengai/models/function_block_destination_response.py +95 -0
  184. revengai/models/function_block_response.py +109 -0
  185. revengai/models/function_blocks_response.py +121 -0
  186. revengai/models/function_boundary.py +90 -0
  187. revengai/models/function_capability_response.py +86 -0
  188. revengai/models/function_comment_create_request.py +92 -0
  189. revengai/models/function_data_types.py +106 -0
  190. revengai/models/function_data_types_list.py +98 -0
  191. revengai/models/function_data_types_list_item.py +108 -0
  192. revengai/models/function_data_types_params.py +86 -0
  193. revengai/models/function_data_types_status.py +90 -0
  194. revengai/models/function_header.py +112 -0
  195. revengai/models/function_info_input.py +105 -0
  196. revengai/models/function_info_input_func_deps_inner.py +163 -0
  197. revengai/models/function_info_output.py +105 -0
  198. revengai/models/function_list_item.py +96 -0
  199. revengai/models/function_local_variable_response.py +94 -0
  200. revengai/models/function_mapping.py +90 -0
  201. revengai/models/function_mapping_full.py +275 -0
  202. revengai/models/function_match.py +111 -0
  203. revengai/models/function_matching_filters.py +103 -0
  204. revengai/models/function_matching_request.py +114 -0
  205. revengai/models/function_matching_response.py +157 -0
  206. revengai/models/function_name_history.py +99 -0
  207. revengai/models/function_param_response.py +94 -0
  208. revengai/models/function_rename.py +88 -0
  209. revengai/models/function_rename_map.py +90 -0
  210. revengai/models/function_search_response.py +94 -0
  211. revengai/models/function_search_result.py +99 -0
  212. revengai/models/function_source_type.py +39 -0
  213. revengai/models/function_string.py +88 -0
  214. revengai/models/function_strings_response.py +96 -0
  215. revengai/models/function_task_response.py +94 -0
  216. revengai/models/function_task_status.py +39 -0
  217. revengai/models/function_type_input.py +127 -0
  218. revengai/models/function_type_output.py +127 -0
  219. revengai/models/functions_detail_response.py +125 -0
  220. revengai/models/functions_list_rename.py +94 -0
  221. revengai/models/generate_function_data_types.py +94 -0
  222. revengai/models/generation_status_list.py +98 -0
  223. revengai/models/get_ai_decompilation_rating_response.py +94 -0
  224. revengai/models/get_ai_decompilation_task.py +159 -0
  225. revengai/models/get_me_response.py +108 -0
  226. revengai/models/get_public_user_response.py +88 -0
  227. revengai/models/global_variable.py +101 -0
  228. revengai/models/icon_model.py +91 -0
  229. revengai/models/import_model.py +88 -0
  230. revengai/models/inverse_function_map_item.py +99 -0
  231. revengai/models/inverse_string_map_item.py +93 -0
  232. revengai/models/inverse_value.py +86 -0
  233. revengai/models/isa.py +37 -0
  234. revengai/models/list_collection_results.py +94 -0
  235. revengai/models/login_request.py +89 -0
  236. revengai/models/login_response.py +86 -0
  237. revengai/models/logs.py +86 -0
  238. revengai/models/matched_function.py +116 -0
  239. revengai/models/matched_function_suggestion.py +97 -0
  240. revengai/models/meta_model.py +95 -0
  241. revengai/models/model_name.py +40 -0
  242. revengai/models/models_response.py +86 -0
  243. revengai/models/name_confidence.py +89 -0
  244. revengai/models/network_overview_dns.py +98 -0
  245. revengai/models/network_overview_dns_answer.py +88 -0
  246. revengai/models/network_overview_metadata.py +99 -0
  247. revengai/models/network_overview_response.py +104 -0
  248. revengai/models/order.py +36 -0
  249. revengai/models/pagination_model.py +90 -0
  250. revengai/models/params.py +103 -0
  251. revengai/models/pdb_debug_model.py +94 -0
  252. revengai/models/pe_model.py +215 -0
  253. revengai/models/platform.py +36 -0
  254. revengai/models/process.py +103 -0
  255. revengai/models/process_dump.py +96 -0
  256. revengai/models/process_dump_metadata.py +90 -0
  257. revengai/models/process_dumps.py +92 -0
  258. revengai/models/process_dumps_data.py +96 -0
  259. revengai/models/process_registry.py +105 -0
  260. revengai/models/process_tree.py +96 -0
  261. revengai/models/queued_security_checks_task_response.py +86 -0
  262. revengai/models/re_analysis_form.py +101 -0
  263. revengai/models/recent.py +94 -0
  264. revengai/models/registry.py +102 -0
  265. revengai/models/relative_binary_response.py +90 -0
  266. revengai/models/sandbox_options.py +88 -0
  267. revengai/models/sbom.py +96 -0
  268. revengai/models/sbom_package.py +88 -0
  269. revengai/models/scrape_third_party_config.py +86 -0
  270. revengai/models/section_model.py +96 -0
  271. revengai/models/security_checks_response.py +98 -0
  272. revengai/models/security_checks_result.py +103 -0
  273. revengai/models/security_model.py +106 -0
  274. revengai/models/severity_type.py +40 -0
  275. revengai/models/single_code_certificate_model.py +96 -0
  276. revengai/models/single_code_signature_model.py +96 -0
  277. revengai/models/single_pdb_entry_model.py +90 -0
  278. revengai/models/single_section_model.py +98 -0
  279. revengai/models/stack_variable.py +101 -0
  280. revengai/models/status_input.py +40 -0
  281. revengai/models/status_output.py +88 -0
  282. revengai/models/string_functions.py +96 -0
  283. revengai/models/structure.py +117 -0
  284. revengai/models/structure_member.py +99 -0
  285. revengai/models/symbols.py +96 -0
  286. revengai/models/tag.py +86 -0
  287. revengai/models/tag_item.py +95 -0
  288. revengai/models/tag_response.py +88 -0
  289. revengai/models/tag_search_response.py +94 -0
  290. revengai/models/tag_search_result.py +88 -0
  291. revengai/models/task_response.py +94 -0
  292. revengai/models/task_status.py +39 -0
  293. revengai/models/timestamp_model.py +90 -0
  294. revengai/models/ttps.py +92 -0
  295. revengai/models/ttps_attack.py +88 -0
  296. revengai/models/ttps_data.py +96 -0
  297. revengai/models/ttps_element.py +108 -0
  298. revengai/models/ttps_occurance.py +88 -0
  299. revengai/models/type_definition.py +97 -0
  300. revengai/models/update_function_data_types.py +92 -0
  301. revengai/models/upload_file_type.py +38 -0
  302. revengai/models/upload_response.py +91 -0
  303. revengai/models/upsert_ai_decomplation_rating_request.py +94 -0
  304. revengai/models/user_activity_response.py +97 -0
  305. revengai/models/vulnerabilities.py +94 -0
  306. revengai/models/vulnerability.py +113 -0
  307. revengai/models/vulnerability_type.py +40 -0
  308. revengai/models/workspace.py +37 -0
  309. revengai/py.typed +0 -0
  310. revengai/rest.py +257 -0
  311. revengai-2.74.0.dist-info/METADATA +447 -0
  312. revengai-2.74.0.dist-info/RECORD +314 -0
  313. revengai-2.74.0.dist-info/WHEEL +4 -0
  314. revengai-2.74.0.dist-info/licenses/LICENSE.md +19 -0
@@ -0,0 +1,3430 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ RevEng.AI API
5
+
6
+ RevEng.AI is Similarity Search Engine for executable binaries
7
+
8
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
9
+
10
+ Do not edit the class manually.
11
+ """ # noqa: E501
12
+
13
+ import warnings
14
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
15
+ from typing import Any, Dict, List, Optional, Tuple, Union
16
+ from typing_extensions import Annotated
17
+
18
+ from pydantic import Field, StrictInt, StrictStr
19
+ from typing import Optional
20
+ from typing_extensions import Annotated
21
+ from revengai.models.ai_unstrip_request import AiUnstripRequest
22
+ from revengai.models.analysis_function_matching_request import AnalysisFunctionMatchingRequest
23
+ from revengai.models.auto_unstrip_request import AutoUnstripRequest
24
+ from revengai.models.auto_unstrip_response import AutoUnstripResponse
25
+ from revengai.models.base_response_analysis_strings_response import BaseResponseAnalysisStringsResponse
26
+ from revengai.models.base_response_callees_caller_functions_response import BaseResponseCalleesCallerFunctionsResponse
27
+ from revengai.models.base_response_function_blocks_response import BaseResponseFunctionBlocksResponse
28
+ from revengai.models.base_response_function_capability_response import BaseResponseFunctionCapabilityResponse
29
+ from revengai.models.base_response_function_strings_response import BaseResponseFunctionStringsResponse
30
+ from revengai.models.base_response_functions_detail_response import BaseResponseFunctionsDetailResponse
31
+ from revengai.models.function_matching_request import FunctionMatchingRequest
32
+ from revengai.models.function_matching_response import FunctionMatchingResponse
33
+
34
+ from revengai.api_client import ApiClient, RequestSerialized
35
+ from revengai.api_response import ApiResponse
36
+ from revengai.rest import RESTResponseType
37
+
38
+
39
+ class FunctionsCoreApi:
40
+ """NOTE: This class is auto generated by OpenAPI Generator
41
+ Ref: https://openapi-generator.tech
42
+
43
+ Do not edit the class manually.
44
+ """
45
+
46
+ def __init__(self, api_client=None) -> None:
47
+ if api_client is None:
48
+ api_client = ApiClient.get_default()
49
+ self.api_client = api_client
50
+
51
+
52
+ @validate_call
53
+ def ai_unstrip(
54
+ self,
55
+ analysis_id: StrictInt,
56
+ ai_unstrip_request: AiUnstripRequest,
57
+ _request_timeout: Union[
58
+ None,
59
+ Annotated[StrictFloat, Field(gt=0)],
60
+ Tuple[
61
+ Annotated[StrictFloat, Field(gt=0)],
62
+ Annotated[StrictFloat, Field(gt=0)]
63
+ ]
64
+ ] = None,
65
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
66
+ _content_type: Optional[StrictStr] = None,
67
+ _headers: Optional[Dict[StrictStr, Any]] = None,
68
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
69
+ ) -> AutoUnstripResponse:
70
+ """Performs matching and auto-unstrip for an analysis and its functions
71
+
72
+ Takes in the analysis ID, uses the functions ID's from it and settings to find the nearest function groups for each function that's within the system
73
+
74
+ :param analysis_id: (required)
75
+ :type analysis_id: int
76
+ :param ai_unstrip_request: (required)
77
+ :type ai_unstrip_request: AiUnstripRequest
78
+ :param _request_timeout: timeout setting for this request. If one
79
+ number provided, it will be total request
80
+ timeout. It can also be a pair (tuple) of
81
+ (connection, read) timeouts.
82
+ :type _request_timeout: int, tuple(int, int), optional
83
+ :param _request_auth: set to override the auth_settings for an a single
84
+ request; this effectively ignores the
85
+ authentication in the spec for a single request.
86
+ :type _request_auth: dict, optional
87
+ :param _content_type: force content-type for the request.
88
+ :type _content_type: str, Optional
89
+ :param _headers: set to override the headers for a single
90
+ request; this effectively ignores the headers
91
+ in the spec for a single request.
92
+ :type _headers: dict, optional
93
+ :param _host_index: set to override the host_index for a single
94
+ request; this effectively ignores the host_index
95
+ in the spec for a single request.
96
+ :type _host_index: int, optional
97
+ :return: Returns the result object.
98
+ """ # noqa: E501
99
+
100
+ _param = self._ai_unstrip_serialize(
101
+ analysis_id=analysis_id,
102
+ ai_unstrip_request=ai_unstrip_request,
103
+ _request_auth=_request_auth,
104
+ _content_type=_content_type,
105
+ _headers=_headers,
106
+ _host_index=_host_index
107
+ )
108
+
109
+ _response_types_map: Dict[str, Optional[str]] = {
110
+ '200': "AutoUnstripResponse",
111
+ '422': "BaseResponse",
112
+ }
113
+ response_data = self.api_client.call_api(
114
+ *_param,
115
+ _request_timeout=_request_timeout
116
+ )
117
+ response_data.read()
118
+ return self.api_client.response_deserialize(
119
+ response_data=response_data,
120
+ response_types_map=_response_types_map,
121
+ ).data
122
+
123
+
124
+ @validate_call
125
+ def ai_unstrip_with_http_info(
126
+ self,
127
+ analysis_id: StrictInt,
128
+ ai_unstrip_request: AiUnstripRequest,
129
+ _request_timeout: Union[
130
+ None,
131
+ Annotated[StrictFloat, Field(gt=0)],
132
+ Tuple[
133
+ Annotated[StrictFloat, Field(gt=0)],
134
+ Annotated[StrictFloat, Field(gt=0)]
135
+ ]
136
+ ] = None,
137
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
138
+ _content_type: Optional[StrictStr] = None,
139
+ _headers: Optional[Dict[StrictStr, Any]] = None,
140
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
141
+ ) -> ApiResponse[AutoUnstripResponse]:
142
+ """Performs matching and auto-unstrip for an analysis and its functions
143
+
144
+ Takes in the analysis ID, uses the functions ID's from it and settings to find the nearest function groups for each function that's within the system
145
+
146
+ :param analysis_id: (required)
147
+ :type analysis_id: int
148
+ :param ai_unstrip_request: (required)
149
+ :type ai_unstrip_request: AiUnstripRequest
150
+ :param _request_timeout: timeout setting for this request. If one
151
+ number provided, it will be total request
152
+ timeout. It can also be a pair (tuple) of
153
+ (connection, read) timeouts.
154
+ :type _request_timeout: int, tuple(int, int), optional
155
+ :param _request_auth: set to override the auth_settings for an a single
156
+ request; this effectively ignores the
157
+ authentication in the spec for a single request.
158
+ :type _request_auth: dict, optional
159
+ :param _content_type: force content-type for the request.
160
+ :type _content_type: str, Optional
161
+ :param _headers: set to override the headers for a single
162
+ request; this effectively ignores the headers
163
+ in the spec for a single request.
164
+ :type _headers: dict, optional
165
+ :param _host_index: set to override the host_index for a single
166
+ request; this effectively ignores the host_index
167
+ in the spec for a single request.
168
+ :type _host_index: int, optional
169
+ :return: Returns the result object.
170
+ """ # noqa: E501
171
+
172
+ _param = self._ai_unstrip_serialize(
173
+ analysis_id=analysis_id,
174
+ ai_unstrip_request=ai_unstrip_request,
175
+ _request_auth=_request_auth,
176
+ _content_type=_content_type,
177
+ _headers=_headers,
178
+ _host_index=_host_index
179
+ )
180
+
181
+ _response_types_map: Dict[str, Optional[str]] = {
182
+ '200': "AutoUnstripResponse",
183
+ '422': "BaseResponse",
184
+ }
185
+ response_data = self.api_client.call_api(
186
+ *_param,
187
+ _request_timeout=_request_timeout
188
+ )
189
+ response_data.read()
190
+ return self.api_client.response_deserialize(
191
+ response_data=response_data,
192
+ response_types_map=_response_types_map,
193
+ )
194
+
195
+
196
+ @validate_call
197
+ def ai_unstrip_without_preload_content(
198
+ self,
199
+ analysis_id: StrictInt,
200
+ ai_unstrip_request: AiUnstripRequest,
201
+ _request_timeout: Union[
202
+ None,
203
+ Annotated[StrictFloat, Field(gt=0)],
204
+ Tuple[
205
+ Annotated[StrictFloat, Field(gt=0)],
206
+ Annotated[StrictFloat, Field(gt=0)]
207
+ ]
208
+ ] = None,
209
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
210
+ _content_type: Optional[StrictStr] = None,
211
+ _headers: Optional[Dict[StrictStr, Any]] = None,
212
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
213
+ ) -> RESTResponseType:
214
+ """Performs matching and auto-unstrip for an analysis and its functions
215
+
216
+ Takes in the analysis ID, uses the functions ID's from it and settings to find the nearest function groups for each function that's within the system
217
+
218
+ :param analysis_id: (required)
219
+ :type analysis_id: int
220
+ :param ai_unstrip_request: (required)
221
+ :type ai_unstrip_request: AiUnstripRequest
222
+ :param _request_timeout: timeout setting for this request. If one
223
+ number provided, it will be total request
224
+ timeout. It can also be a pair (tuple) of
225
+ (connection, read) timeouts.
226
+ :type _request_timeout: int, tuple(int, int), optional
227
+ :param _request_auth: set to override the auth_settings for an a single
228
+ request; this effectively ignores the
229
+ authentication in the spec for a single request.
230
+ :type _request_auth: dict, optional
231
+ :param _content_type: force content-type for the request.
232
+ :type _content_type: str, Optional
233
+ :param _headers: set to override the headers for a single
234
+ request; this effectively ignores the headers
235
+ in the spec for a single request.
236
+ :type _headers: dict, optional
237
+ :param _host_index: set to override the host_index for a single
238
+ request; this effectively ignores the host_index
239
+ in the spec for a single request.
240
+ :type _host_index: int, optional
241
+ :return: Returns the result object.
242
+ """ # noqa: E501
243
+
244
+ _param = self._ai_unstrip_serialize(
245
+ analysis_id=analysis_id,
246
+ ai_unstrip_request=ai_unstrip_request,
247
+ _request_auth=_request_auth,
248
+ _content_type=_content_type,
249
+ _headers=_headers,
250
+ _host_index=_host_index
251
+ )
252
+
253
+ _response_types_map: Dict[str, Optional[str]] = {
254
+ '200': "AutoUnstripResponse",
255
+ '422': "BaseResponse",
256
+ }
257
+ response_data = self.api_client.call_api(
258
+ *_param,
259
+ _request_timeout=_request_timeout
260
+ )
261
+ return response_data.response
262
+
263
+
264
+ def _ai_unstrip_serialize(
265
+ self,
266
+ analysis_id,
267
+ ai_unstrip_request,
268
+ _request_auth,
269
+ _content_type,
270
+ _headers,
271
+ _host_index,
272
+ ) -> RequestSerialized:
273
+
274
+ _host = None
275
+
276
+ _collection_formats: Dict[str, str] = {
277
+ }
278
+
279
+ _path_params: Dict[str, str] = {}
280
+ _query_params: List[Tuple[str, str]] = []
281
+ _header_params: Dict[str, Optional[str]] = _headers or {}
282
+ _form_params: List[Tuple[str, str]] = []
283
+ _files: Dict[
284
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
285
+ ] = {}
286
+ _body_params: Optional[bytes] = None
287
+
288
+ # process the path parameters
289
+ if analysis_id is not None:
290
+ _path_params['analysis_id'] = analysis_id
291
+ # process the query parameters
292
+ # process the header parameters
293
+ # process the form parameters
294
+ # process the body parameter
295
+ if ai_unstrip_request is not None:
296
+ _body_params = ai_unstrip_request
297
+
298
+
299
+ # set the HTTP header `Accept`
300
+ if 'Accept' not in _header_params:
301
+ _header_params['Accept'] = self.api_client.select_header_accept(
302
+ [
303
+ 'application/json'
304
+ ]
305
+ )
306
+
307
+ # set the HTTP header `Content-Type`
308
+ if _content_type:
309
+ _header_params['Content-Type'] = _content_type
310
+ else:
311
+ _default_content_type = (
312
+ self.api_client.select_header_content_type(
313
+ [
314
+ 'application/json'
315
+ ]
316
+ )
317
+ )
318
+ if _default_content_type is not None:
319
+ _header_params['Content-Type'] = _default_content_type
320
+
321
+ # authentication setting
322
+ _auth_settings: List[str] = [
323
+ 'APIKey'
324
+ ]
325
+
326
+ return self.api_client.param_serialize(
327
+ method='POST',
328
+ resource_path='/v2/analyses/{analysis_id}/functions/ai-unstrip',
329
+ path_params=_path_params,
330
+ query_params=_query_params,
331
+ header_params=_header_params,
332
+ body=_body_params,
333
+ post_params=_form_params,
334
+ files=_files,
335
+ auth_settings=_auth_settings,
336
+ collection_formats=_collection_formats,
337
+ _host=_host,
338
+ _request_auth=_request_auth
339
+ )
340
+
341
+
342
+
343
+
344
+ @validate_call
345
+ def analysis_function_matching(
346
+ self,
347
+ analysis_id: StrictInt,
348
+ analysis_function_matching_request: AnalysisFunctionMatchingRequest,
349
+ _request_timeout: Union[
350
+ None,
351
+ Annotated[StrictFloat, Field(gt=0)],
352
+ Tuple[
353
+ Annotated[StrictFloat, Field(gt=0)],
354
+ Annotated[StrictFloat, Field(gt=0)]
355
+ ]
356
+ ] = None,
357
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
358
+ _content_type: Optional[StrictStr] = None,
359
+ _headers: Optional[Dict[StrictStr, Any]] = None,
360
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
361
+ ) -> FunctionMatchingResponse:
362
+ """Perform matching for the functions of an analysis
363
+
364
+ Takes in an analysis id and settings and matches the nearest functions to the ones associated with it. Results can optionally be filtered by collection, binary, debug type or (other) function ids
365
+
366
+ :param analysis_id: (required)
367
+ :type analysis_id: int
368
+ :param analysis_function_matching_request: (required)
369
+ :type analysis_function_matching_request: AnalysisFunctionMatchingRequest
370
+ :param _request_timeout: timeout setting for this request. If one
371
+ number provided, it will be total request
372
+ timeout. It can also be a pair (tuple) of
373
+ (connection, read) timeouts.
374
+ :type _request_timeout: int, tuple(int, int), optional
375
+ :param _request_auth: set to override the auth_settings for an a single
376
+ request; this effectively ignores the
377
+ authentication in the spec for a single request.
378
+ :type _request_auth: dict, optional
379
+ :param _content_type: force content-type for the request.
380
+ :type _content_type: str, Optional
381
+ :param _headers: set to override the headers for a single
382
+ request; this effectively ignores the headers
383
+ in the spec for a single request.
384
+ :type _headers: dict, optional
385
+ :param _host_index: set to override the host_index for a single
386
+ request; this effectively ignores the host_index
387
+ in the spec for a single request.
388
+ :type _host_index: int, optional
389
+ :return: Returns the result object.
390
+ """ # noqa: E501
391
+
392
+ _param = self._analysis_function_matching_serialize(
393
+ analysis_id=analysis_id,
394
+ analysis_function_matching_request=analysis_function_matching_request,
395
+ _request_auth=_request_auth,
396
+ _content_type=_content_type,
397
+ _headers=_headers,
398
+ _host_index=_host_index
399
+ )
400
+
401
+ _response_types_map: Dict[str, Optional[str]] = {
402
+ '200': "FunctionMatchingResponse",
403
+ '422': "BaseResponse",
404
+ }
405
+ response_data = self.api_client.call_api(
406
+ *_param,
407
+ _request_timeout=_request_timeout
408
+ )
409
+ response_data.read()
410
+ return self.api_client.response_deserialize(
411
+ response_data=response_data,
412
+ response_types_map=_response_types_map,
413
+ ).data
414
+
415
+
416
+ @validate_call
417
+ def analysis_function_matching_with_http_info(
418
+ self,
419
+ analysis_id: StrictInt,
420
+ analysis_function_matching_request: AnalysisFunctionMatchingRequest,
421
+ _request_timeout: Union[
422
+ None,
423
+ Annotated[StrictFloat, Field(gt=0)],
424
+ Tuple[
425
+ Annotated[StrictFloat, Field(gt=0)],
426
+ Annotated[StrictFloat, Field(gt=0)]
427
+ ]
428
+ ] = None,
429
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
430
+ _content_type: Optional[StrictStr] = None,
431
+ _headers: Optional[Dict[StrictStr, Any]] = None,
432
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
433
+ ) -> ApiResponse[FunctionMatchingResponse]:
434
+ """Perform matching for the functions of an analysis
435
+
436
+ Takes in an analysis id and settings and matches the nearest functions to the ones associated with it. Results can optionally be filtered by collection, binary, debug type or (other) function ids
437
+
438
+ :param analysis_id: (required)
439
+ :type analysis_id: int
440
+ :param analysis_function_matching_request: (required)
441
+ :type analysis_function_matching_request: AnalysisFunctionMatchingRequest
442
+ :param _request_timeout: timeout setting for this request. If one
443
+ number provided, it will be total request
444
+ timeout. It can also be a pair (tuple) of
445
+ (connection, read) timeouts.
446
+ :type _request_timeout: int, tuple(int, int), optional
447
+ :param _request_auth: set to override the auth_settings for an a single
448
+ request; this effectively ignores the
449
+ authentication in the spec for a single request.
450
+ :type _request_auth: dict, optional
451
+ :param _content_type: force content-type for the request.
452
+ :type _content_type: str, Optional
453
+ :param _headers: set to override the headers for a single
454
+ request; this effectively ignores the headers
455
+ in the spec for a single request.
456
+ :type _headers: dict, optional
457
+ :param _host_index: set to override the host_index for a single
458
+ request; this effectively ignores the host_index
459
+ in the spec for a single request.
460
+ :type _host_index: int, optional
461
+ :return: Returns the result object.
462
+ """ # noqa: E501
463
+
464
+ _param = self._analysis_function_matching_serialize(
465
+ analysis_id=analysis_id,
466
+ analysis_function_matching_request=analysis_function_matching_request,
467
+ _request_auth=_request_auth,
468
+ _content_type=_content_type,
469
+ _headers=_headers,
470
+ _host_index=_host_index
471
+ )
472
+
473
+ _response_types_map: Dict[str, Optional[str]] = {
474
+ '200': "FunctionMatchingResponse",
475
+ '422': "BaseResponse",
476
+ }
477
+ response_data = self.api_client.call_api(
478
+ *_param,
479
+ _request_timeout=_request_timeout
480
+ )
481
+ response_data.read()
482
+ return self.api_client.response_deserialize(
483
+ response_data=response_data,
484
+ response_types_map=_response_types_map,
485
+ )
486
+
487
+
488
+ @validate_call
489
+ def analysis_function_matching_without_preload_content(
490
+ self,
491
+ analysis_id: StrictInt,
492
+ analysis_function_matching_request: AnalysisFunctionMatchingRequest,
493
+ _request_timeout: Union[
494
+ None,
495
+ Annotated[StrictFloat, Field(gt=0)],
496
+ Tuple[
497
+ Annotated[StrictFloat, Field(gt=0)],
498
+ Annotated[StrictFloat, Field(gt=0)]
499
+ ]
500
+ ] = None,
501
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
502
+ _content_type: Optional[StrictStr] = None,
503
+ _headers: Optional[Dict[StrictStr, Any]] = None,
504
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
505
+ ) -> RESTResponseType:
506
+ """Perform matching for the functions of an analysis
507
+
508
+ Takes in an analysis id and settings and matches the nearest functions to the ones associated with it. Results can optionally be filtered by collection, binary, debug type or (other) function ids
509
+
510
+ :param analysis_id: (required)
511
+ :type analysis_id: int
512
+ :param analysis_function_matching_request: (required)
513
+ :type analysis_function_matching_request: AnalysisFunctionMatchingRequest
514
+ :param _request_timeout: timeout setting for this request. If one
515
+ number provided, it will be total request
516
+ timeout. It can also be a pair (tuple) of
517
+ (connection, read) timeouts.
518
+ :type _request_timeout: int, tuple(int, int), optional
519
+ :param _request_auth: set to override the auth_settings for an a single
520
+ request; this effectively ignores the
521
+ authentication in the spec for a single request.
522
+ :type _request_auth: dict, optional
523
+ :param _content_type: force content-type for the request.
524
+ :type _content_type: str, Optional
525
+ :param _headers: set to override the headers for a single
526
+ request; this effectively ignores the headers
527
+ in the spec for a single request.
528
+ :type _headers: dict, optional
529
+ :param _host_index: set to override the host_index for a single
530
+ request; this effectively ignores the host_index
531
+ in the spec for a single request.
532
+ :type _host_index: int, optional
533
+ :return: Returns the result object.
534
+ """ # noqa: E501
535
+
536
+ _param = self._analysis_function_matching_serialize(
537
+ analysis_id=analysis_id,
538
+ analysis_function_matching_request=analysis_function_matching_request,
539
+ _request_auth=_request_auth,
540
+ _content_type=_content_type,
541
+ _headers=_headers,
542
+ _host_index=_host_index
543
+ )
544
+
545
+ _response_types_map: Dict[str, Optional[str]] = {
546
+ '200': "FunctionMatchingResponse",
547
+ '422': "BaseResponse",
548
+ }
549
+ response_data = self.api_client.call_api(
550
+ *_param,
551
+ _request_timeout=_request_timeout
552
+ )
553
+ return response_data.response
554
+
555
+
556
+ def _analysis_function_matching_serialize(
557
+ self,
558
+ analysis_id,
559
+ analysis_function_matching_request,
560
+ _request_auth,
561
+ _content_type,
562
+ _headers,
563
+ _host_index,
564
+ ) -> RequestSerialized:
565
+
566
+ _host = None
567
+
568
+ _collection_formats: Dict[str, str] = {
569
+ }
570
+
571
+ _path_params: Dict[str, str] = {}
572
+ _query_params: List[Tuple[str, str]] = []
573
+ _header_params: Dict[str, Optional[str]] = _headers or {}
574
+ _form_params: List[Tuple[str, str]] = []
575
+ _files: Dict[
576
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
577
+ ] = {}
578
+ _body_params: Optional[bytes] = None
579
+
580
+ # process the path parameters
581
+ if analysis_id is not None:
582
+ _path_params['analysis_id'] = analysis_id
583
+ # process the query parameters
584
+ # process the header parameters
585
+ # process the form parameters
586
+ # process the body parameter
587
+ if analysis_function_matching_request is not None:
588
+ _body_params = analysis_function_matching_request
589
+
590
+
591
+ # set the HTTP header `Accept`
592
+ if 'Accept' not in _header_params:
593
+ _header_params['Accept'] = self.api_client.select_header_accept(
594
+ [
595
+ 'application/json'
596
+ ]
597
+ )
598
+
599
+ # set the HTTP header `Content-Type`
600
+ if _content_type:
601
+ _header_params['Content-Type'] = _content_type
602
+ else:
603
+ _default_content_type = (
604
+ self.api_client.select_header_content_type(
605
+ [
606
+ 'application/json'
607
+ ]
608
+ )
609
+ )
610
+ if _default_content_type is not None:
611
+ _header_params['Content-Type'] = _default_content_type
612
+
613
+ # authentication setting
614
+ _auth_settings: List[str] = [
615
+ 'APIKey'
616
+ ]
617
+
618
+ return self.api_client.param_serialize(
619
+ method='POST',
620
+ resource_path='/v2/analyses/{analysis_id}/functions/matches',
621
+ path_params=_path_params,
622
+ query_params=_query_params,
623
+ header_params=_header_params,
624
+ body=_body_params,
625
+ post_params=_form_params,
626
+ files=_files,
627
+ auth_settings=_auth_settings,
628
+ collection_formats=_collection_formats,
629
+ _host=_host,
630
+ _request_auth=_request_auth
631
+ )
632
+
633
+
634
+
635
+
636
+ @validate_call
637
+ def auto_unstrip(
638
+ self,
639
+ analysis_id: StrictInt,
640
+ auto_unstrip_request: AutoUnstripRequest,
641
+ _request_timeout: Union[
642
+ None,
643
+ Annotated[StrictFloat, Field(gt=0)],
644
+ Tuple[
645
+ Annotated[StrictFloat, Field(gt=0)],
646
+ Annotated[StrictFloat, Field(gt=0)]
647
+ ]
648
+ ] = None,
649
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
650
+ _content_type: Optional[StrictStr] = None,
651
+ _headers: Optional[Dict[StrictStr, Any]] = None,
652
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
653
+ ) -> AutoUnstripResponse:
654
+ """Performs matching and auto-unstrip for an analysis and its functions
655
+
656
+ Takes in the analysis ID, uses the functions ID's from it and settings to find the nearest function for each function that's within the system
657
+
658
+ :param analysis_id: (required)
659
+ :type analysis_id: int
660
+ :param auto_unstrip_request: (required)
661
+ :type auto_unstrip_request: AutoUnstripRequest
662
+ :param _request_timeout: timeout setting for this request. If one
663
+ number provided, it will be total request
664
+ timeout. It can also be a pair (tuple) of
665
+ (connection, read) timeouts.
666
+ :type _request_timeout: int, tuple(int, int), optional
667
+ :param _request_auth: set to override the auth_settings for an a single
668
+ request; this effectively ignores the
669
+ authentication in the spec for a single request.
670
+ :type _request_auth: dict, optional
671
+ :param _content_type: force content-type for the request.
672
+ :type _content_type: str, Optional
673
+ :param _headers: set to override the headers for a single
674
+ request; this effectively ignores the headers
675
+ in the spec for a single request.
676
+ :type _headers: dict, optional
677
+ :param _host_index: set to override the host_index for a single
678
+ request; this effectively ignores the host_index
679
+ in the spec for a single request.
680
+ :type _host_index: int, optional
681
+ :return: Returns the result object.
682
+ """ # noqa: E501
683
+
684
+ _param = self._auto_unstrip_serialize(
685
+ analysis_id=analysis_id,
686
+ auto_unstrip_request=auto_unstrip_request,
687
+ _request_auth=_request_auth,
688
+ _content_type=_content_type,
689
+ _headers=_headers,
690
+ _host_index=_host_index
691
+ )
692
+
693
+ _response_types_map: Dict[str, Optional[str]] = {
694
+ '200': "AutoUnstripResponse",
695
+ '422': "BaseResponse",
696
+ }
697
+ response_data = self.api_client.call_api(
698
+ *_param,
699
+ _request_timeout=_request_timeout
700
+ )
701
+ response_data.read()
702
+ return self.api_client.response_deserialize(
703
+ response_data=response_data,
704
+ response_types_map=_response_types_map,
705
+ ).data
706
+
707
+
708
+ @validate_call
709
+ def auto_unstrip_with_http_info(
710
+ self,
711
+ analysis_id: StrictInt,
712
+ auto_unstrip_request: AutoUnstripRequest,
713
+ _request_timeout: Union[
714
+ None,
715
+ Annotated[StrictFloat, Field(gt=0)],
716
+ Tuple[
717
+ Annotated[StrictFloat, Field(gt=0)],
718
+ Annotated[StrictFloat, Field(gt=0)]
719
+ ]
720
+ ] = None,
721
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
722
+ _content_type: Optional[StrictStr] = None,
723
+ _headers: Optional[Dict[StrictStr, Any]] = None,
724
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
725
+ ) -> ApiResponse[AutoUnstripResponse]:
726
+ """Performs matching and auto-unstrip for an analysis and its functions
727
+
728
+ Takes in the analysis ID, uses the functions ID's from it and settings to find the nearest function for each function that's within the system
729
+
730
+ :param analysis_id: (required)
731
+ :type analysis_id: int
732
+ :param auto_unstrip_request: (required)
733
+ :type auto_unstrip_request: AutoUnstripRequest
734
+ :param _request_timeout: timeout setting for this request. If one
735
+ number provided, it will be total request
736
+ timeout. It can also be a pair (tuple) of
737
+ (connection, read) timeouts.
738
+ :type _request_timeout: int, tuple(int, int), optional
739
+ :param _request_auth: set to override the auth_settings for an a single
740
+ request; this effectively ignores the
741
+ authentication in the spec for a single request.
742
+ :type _request_auth: dict, optional
743
+ :param _content_type: force content-type for the request.
744
+ :type _content_type: str, Optional
745
+ :param _headers: set to override the headers for a single
746
+ request; this effectively ignores the headers
747
+ in the spec for a single request.
748
+ :type _headers: dict, optional
749
+ :param _host_index: set to override the host_index for a single
750
+ request; this effectively ignores the host_index
751
+ in the spec for a single request.
752
+ :type _host_index: int, optional
753
+ :return: Returns the result object.
754
+ """ # noqa: E501
755
+
756
+ _param = self._auto_unstrip_serialize(
757
+ analysis_id=analysis_id,
758
+ auto_unstrip_request=auto_unstrip_request,
759
+ _request_auth=_request_auth,
760
+ _content_type=_content_type,
761
+ _headers=_headers,
762
+ _host_index=_host_index
763
+ )
764
+
765
+ _response_types_map: Dict[str, Optional[str]] = {
766
+ '200': "AutoUnstripResponse",
767
+ '422': "BaseResponse",
768
+ }
769
+ response_data = self.api_client.call_api(
770
+ *_param,
771
+ _request_timeout=_request_timeout
772
+ )
773
+ response_data.read()
774
+ return self.api_client.response_deserialize(
775
+ response_data=response_data,
776
+ response_types_map=_response_types_map,
777
+ )
778
+
779
+
780
+ @validate_call
781
+ def auto_unstrip_without_preload_content(
782
+ self,
783
+ analysis_id: StrictInt,
784
+ auto_unstrip_request: AutoUnstripRequest,
785
+ _request_timeout: Union[
786
+ None,
787
+ Annotated[StrictFloat, Field(gt=0)],
788
+ Tuple[
789
+ Annotated[StrictFloat, Field(gt=0)],
790
+ Annotated[StrictFloat, Field(gt=0)]
791
+ ]
792
+ ] = None,
793
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
794
+ _content_type: Optional[StrictStr] = None,
795
+ _headers: Optional[Dict[StrictStr, Any]] = None,
796
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
797
+ ) -> RESTResponseType:
798
+ """Performs matching and auto-unstrip for an analysis and its functions
799
+
800
+ Takes in the analysis ID, uses the functions ID's from it and settings to find the nearest function for each function that's within the system
801
+
802
+ :param analysis_id: (required)
803
+ :type analysis_id: int
804
+ :param auto_unstrip_request: (required)
805
+ :type auto_unstrip_request: AutoUnstripRequest
806
+ :param _request_timeout: timeout setting for this request. If one
807
+ number provided, it will be total request
808
+ timeout. It can also be a pair (tuple) of
809
+ (connection, read) timeouts.
810
+ :type _request_timeout: int, tuple(int, int), optional
811
+ :param _request_auth: set to override the auth_settings for an a single
812
+ request; this effectively ignores the
813
+ authentication in the spec for a single request.
814
+ :type _request_auth: dict, optional
815
+ :param _content_type: force content-type for the request.
816
+ :type _content_type: str, Optional
817
+ :param _headers: set to override the headers for a single
818
+ request; this effectively ignores the headers
819
+ in the spec for a single request.
820
+ :type _headers: dict, optional
821
+ :param _host_index: set to override the host_index for a single
822
+ request; this effectively ignores the host_index
823
+ in the spec for a single request.
824
+ :type _host_index: int, optional
825
+ :return: Returns the result object.
826
+ """ # noqa: E501
827
+
828
+ _param = self._auto_unstrip_serialize(
829
+ analysis_id=analysis_id,
830
+ auto_unstrip_request=auto_unstrip_request,
831
+ _request_auth=_request_auth,
832
+ _content_type=_content_type,
833
+ _headers=_headers,
834
+ _host_index=_host_index
835
+ )
836
+
837
+ _response_types_map: Dict[str, Optional[str]] = {
838
+ '200': "AutoUnstripResponse",
839
+ '422': "BaseResponse",
840
+ }
841
+ response_data = self.api_client.call_api(
842
+ *_param,
843
+ _request_timeout=_request_timeout
844
+ )
845
+ return response_data.response
846
+
847
+
848
+ def _auto_unstrip_serialize(
849
+ self,
850
+ analysis_id,
851
+ auto_unstrip_request,
852
+ _request_auth,
853
+ _content_type,
854
+ _headers,
855
+ _host_index,
856
+ ) -> RequestSerialized:
857
+
858
+ _host = None
859
+
860
+ _collection_formats: Dict[str, str] = {
861
+ }
862
+
863
+ _path_params: Dict[str, str] = {}
864
+ _query_params: List[Tuple[str, str]] = []
865
+ _header_params: Dict[str, Optional[str]] = _headers or {}
866
+ _form_params: List[Tuple[str, str]] = []
867
+ _files: Dict[
868
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
869
+ ] = {}
870
+ _body_params: Optional[bytes] = None
871
+
872
+ # process the path parameters
873
+ if analysis_id is not None:
874
+ _path_params['analysis_id'] = analysis_id
875
+ # process the query parameters
876
+ # process the header parameters
877
+ # process the form parameters
878
+ # process the body parameter
879
+ if auto_unstrip_request is not None:
880
+ _body_params = auto_unstrip_request
881
+
882
+
883
+ # set the HTTP header `Accept`
884
+ if 'Accept' not in _header_params:
885
+ _header_params['Accept'] = self.api_client.select_header_accept(
886
+ [
887
+ 'application/json'
888
+ ]
889
+ )
890
+
891
+ # set the HTTP header `Content-Type`
892
+ if _content_type:
893
+ _header_params['Content-Type'] = _content_type
894
+ else:
895
+ _default_content_type = (
896
+ self.api_client.select_header_content_type(
897
+ [
898
+ 'application/json'
899
+ ]
900
+ )
901
+ )
902
+ if _default_content_type is not None:
903
+ _header_params['Content-Type'] = _default_content_type
904
+
905
+ # authentication setting
906
+ _auth_settings: List[str] = [
907
+ 'APIKey'
908
+ ]
909
+
910
+ return self.api_client.param_serialize(
911
+ method='POST',
912
+ resource_path='/v2/analyses/{analysis_id}/functions/auto-unstrip',
913
+ path_params=_path_params,
914
+ query_params=_query_params,
915
+ header_params=_header_params,
916
+ body=_body_params,
917
+ post_params=_form_params,
918
+ files=_files,
919
+ auth_settings=_auth_settings,
920
+ collection_formats=_collection_formats,
921
+ _host=_host,
922
+ _request_auth=_request_auth
923
+ )
924
+
925
+
926
+
927
+
928
+ @validate_call
929
+ def batch_function_matching(
930
+ self,
931
+ function_matching_request: FunctionMatchingRequest,
932
+ _request_timeout: Union[
933
+ None,
934
+ Annotated[StrictFloat, Field(gt=0)],
935
+ Tuple[
936
+ Annotated[StrictFloat, Field(gt=0)],
937
+ Annotated[StrictFloat, Field(gt=0)]
938
+ ]
939
+ ] = None,
940
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
941
+ _content_type: Optional[StrictStr] = None,
942
+ _headers: Optional[Dict[StrictStr, Any]] = None,
943
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
944
+ ) -> FunctionMatchingResponse:
945
+ """Perform function matching for an arbitrary batch of functions, binaries or collections
946
+
947
+ Takes in an input of functions ID's and settings and finds the nearest functions for each function that's within the system
948
+
949
+ :param function_matching_request: (required)
950
+ :type function_matching_request: FunctionMatchingRequest
951
+ :param _request_timeout: timeout setting for this request. If one
952
+ number provided, it will be total request
953
+ timeout. It can also be a pair (tuple) of
954
+ (connection, read) timeouts.
955
+ :type _request_timeout: int, tuple(int, int), optional
956
+ :param _request_auth: set to override the auth_settings for an a single
957
+ request; this effectively ignores the
958
+ authentication in the spec for a single request.
959
+ :type _request_auth: dict, optional
960
+ :param _content_type: force content-type for the request.
961
+ :type _content_type: str, Optional
962
+ :param _headers: set to override the headers for a single
963
+ request; this effectively ignores the headers
964
+ in the spec for a single request.
965
+ :type _headers: dict, optional
966
+ :param _host_index: set to override the host_index for a single
967
+ request; this effectively ignores the host_index
968
+ in the spec for a single request.
969
+ :type _host_index: int, optional
970
+ :return: Returns the result object.
971
+ """ # noqa: E501
972
+
973
+ _param = self._batch_function_matching_serialize(
974
+ function_matching_request=function_matching_request,
975
+ _request_auth=_request_auth,
976
+ _content_type=_content_type,
977
+ _headers=_headers,
978
+ _host_index=_host_index
979
+ )
980
+
981
+ _response_types_map: Dict[str, Optional[str]] = {
982
+ '200': "FunctionMatchingResponse",
983
+ '422': "BaseResponse",
984
+ }
985
+ response_data = self.api_client.call_api(
986
+ *_param,
987
+ _request_timeout=_request_timeout
988
+ )
989
+ response_data.read()
990
+ return self.api_client.response_deserialize(
991
+ response_data=response_data,
992
+ response_types_map=_response_types_map,
993
+ ).data
994
+
995
+
996
+ @validate_call
997
+ def batch_function_matching_with_http_info(
998
+ self,
999
+ function_matching_request: FunctionMatchingRequest,
1000
+ _request_timeout: Union[
1001
+ None,
1002
+ Annotated[StrictFloat, Field(gt=0)],
1003
+ Tuple[
1004
+ Annotated[StrictFloat, Field(gt=0)],
1005
+ Annotated[StrictFloat, Field(gt=0)]
1006
+ ]
1007
+ ] = None,
1008
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1009
+ _content_type: Optional[StrictStr] = None,
1010
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1011
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1012
+ ) -> ApiResponse[FunctionMatchingResponse]:
1013
+ """Perform function matching for an arbitrary batch of functions, binaries or collections
1014
+
1015
+ Takes in an input of functions ID's and settings and finds the nearest functions for each function that's within the system
1016
+
1017
+ :param function_matching_request: (required)
1018
+ :type function_matching_request: FunctionMatchingRequest
1019
+ :param _request_timeout: timeout setting for this request. If one
1020
+ number provided, it will be total request
1021
+ timeout. It can also be a pair (tuple) of
1022
+ (connection, read) timeouts.
1023
+ :type _request_timeout: int, tuple(int, int), optional
1024
+ :param _request_auth: set to override the auth_settings for an a single
1025
+ request; this effectively ignores the
1026
+ authentication in the spec for a single request.
1027
+ :type _request_auth: dict, optional
1028
+ :param _content_type: force content-type for the request.
1029
+ :type _content_type: str, Optional
1030
+ :param _headers: set to override the headers for a single
1031
+ request; this effectively ignores the headers
1032
+ in the spec for a single request.
1033
+ :type _headers: dict, optional
1034
+ :param _host_index: set to override the host_index for a single
1035
+ request; this effectively ignores the host_index
1036
+ in the spec for a single request.
1037
+ :type _host_index: int, optional
1038
+ :return: Returns the result object.
1039
+ """ # noqa: E501
1040
+
1041
+ _param = self._batch_function_matching_serialize(
1042
+ function_matching_request=function_matching_request,
1043
+ _request_auth=_request_auth,
1044
+ _content_type=_content_type,
1045
+ _headers=_headers,
1046
+ _host_index=_host_index
1047
+ )
1048
+
1049
+ _response_types_map: Dict[str, Optional[str]] = {
1050
+ '200': "FunctionMatchingResponse",
1051
+ '422': "BaseResponse",
1052
+ }
1053
+ response_data = self.api_client.call_api(
1054
+ *_param,
1055
+ _request_timeout=_request_timeout
1056
+ )
1057
+ response_data.read()
1058
+ return self.api_client.response_deserialize(
1059
+ response_data=response_data,
1060
+ response_types_map=_response_types_map,
1061
+ )
1062
+
1063
+
1064
+ @validate_call
1065
+ def batch_function_matching_without_preload_content(
1066
+ self,
1067
+ function_matching_request: FunctionMatchingRequest,
1068
+ _request_timeout: Union[
1069
+ None,
1070
+ Annotated[StrictFloat, Field(gt=0)],
1071
+ Tuple[
1072
+ Annotated[StrictFloat, Field(gt=0)],
1073
+ Annotated[StrictFloat, Field(gt=0)]
1074
+ ]
1075
+ ] = None,
1076
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1077
+ _content_type: Optional[StrictStr] = None,
1078
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1079
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1080
+ ) -> RESTResponseType:
1081
+ """Perform function matching for an arbitrary batch of functions, binaries or collections
1082
+
1083
+ Takes in an input of functions ID's and settings and finds the nearest functions for each function that's within the system
1084
+
1085
+ :param function_matching_request: (required)
1086
+ :type function_matching_request: FunctionMatchingRequest
1087
+ :param _request_timeout: timeout setting for this request. If one
1088
+ number provided, it will be total request
1089
+ timeout. It can also be a pair (tuple) of
1090
+ (connection, read) timeouts.
1091
+ :type _request_timeout: int, tuple(int, int), optional
1092
+ :param _request_auth: set to override the auth_settings for an a single
1093
+ request; this effectively ignores the
1094
+ authentication in the spec for a single request.
1095
+ :type _request_auth: dict, optional
1096
+ :param _content_type: force content-type for the request.
1097
+ :type _content_type: str, Optional
1098
+ :param _headers: set to override the headers for a single
1099
+ request; this effectively ignores the headers
1100
+ in the spec for a single request.
1101
+ :type _headers: dict, optional
1102
+ :param _host_index: set to override the host_index for a single
1103
+ request; this effectively ignores the host_index
1104
+ in the spec for a single request.
1105
+ :type _host_index: int, optional
1106
+ :return: Returns the result object.
1107
+ """ # noqa: E501
1108
+
1109
+ _param = self._batch_function_matching_serialize(
1110
+ function_matching_request=function_matching_request,
1111
+ _request_auth=_request_auth,
1112
+ _content_type=_content_type,
1113
+ _headers=_headers,
1114
+ _host_index=_host_index
1115
+ )
1116
+
1117
+ _response_types_map: Dict[str, Optional[str]] = {
1118
+ '200': "FunctionMatchingResponse",
1119
+ '422': "BaseResponse",
1120
+ }
1121
+ response_data = self.api_client.call_api(
1122
+ *_param,
1123
+ _request_timeout=_request_timeout
1124
+ )
1125
+ return response_data.response
1126
+
1127
+
1128
+ def _batch_function_matching_serialize(
1129
+ self,
1130
+ function_matching_request,
1131
+ _request_auth,
1132
+ _content_type,
1133
+ _headers,
1134
+ _host_index,
1135
+ ) -> RequestSerialized:
1136
+
1137
+ _host = None
1138
+
1139
+ _collection_formats: Dict[str, str] = {
1140
+ }
1141
+
1142
+ _path_params: Dict[str, str] = {}
1143
+ _query_params: List[Tuple[str, str]] = []
1144
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1145
+ _form_params: List[Tuple[str, str]] = []
1146
+ _files: Dict[
1147
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1148
+ ] = {}
1149
+ _body_params: Optional[bytes] = None
1150
+
1151
+ # process the path parameters
1152
+ # process the query parameters
1153
+ # process the header parameters
1154
+ # process the form parameters
1155
+ # process the body parameter
1156
+ if function_matching_request is not None:
1157
+ _body_params = function_matching_request
1158
+
1159
+
1160
+ # set the HTTP header `Accept`
1161
+ if 'Accept' not in _header_params:
1162
+ _header_params['Accept'] = self.api_client.select_header_accept(
1163
+ [
1164
+ 'application/json'
1165
+ ]
1166
+ )
1167
+
1168
+ # set the HTTP header `Content-Type`
1169
+ if _content_type:
1170
+ _header_params['Content-Type'] = _content_type
1171
+ else:
1172
+ _default_content_type = (
1173
+ self.api_client.select_header_content_type(
1174
+ [
1175
+ 'application/json'
1176
+ ]
1177
+ )
1178
+ )
1179
+ if _default_content_type is not None:
1180
+ _header_params['Content-Type'] = _default_content_type
1181
+
1182
+ # authentication setting
1183
+ _auth_settings: List[str] = [
1184
+ 'APIKey'
1185
+ ]
1186
+
1187
+ return self.api_client.param_serialize(
1188
+ method='POST',
1189
+ resource_path='/v2/functions/matches',
1190
+ path_params=_path_params,
1191
+ query_params=_query_params,
1192
+ header_params=_header_params,
1193
+ body=_body_params,
1194
+ post_params=_form_params,
1195
+ files=_files,
1196
+ auth_settings=_auth_settings,
1197
+ collection_formats=_collection_formats,
1198
+ _host=_host,
1199
+ _request_auth=_request_auth
1200
+ )
1201
+
1202
+
1203
+
1204
+
1205
+ @validate_call
1206
+ def cancel_ai_unstrip(
1207
+ self,
1208
+ analysis_id: StrictInt,
1209
+ _request_timeout: Union[
1210
+ None,
1211
+ Annotated[StrictFloat, Field(gt=0)],
1212
+ Tuple[
1213
+ Annotated[StrictFloat, Field(gt=0)],
1214
+ Annotated[StrictFloat, Field(gt=0)]
1215
+ ]
1216
+ ] = None,
1217
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1218
+ _content_type: Optional[StrictStr] = None,
1219
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1220
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1221
+ ) -> AutoUnstripResponse:
1222
+ """Cancels a running ai-unstrip
1223
+
1224
+ Takes in the analysis ID and cancels a running ai-unstrip operation
1225
+
1226
+ :param analysis_id: (required)
1227
+ :type analysis_id: int
1228
+ :param _request_timeout: timeout setting for this request. If one
1229
+ number provided, it will be total request
1230
+ timeout. It can also be a pair (tuple) of
1231
+ (connection, read) timeouts.
1232
+ :type _request_timeout: int, tuple(int, int), optional
1233
+ :param _request_auth: set to override the auth_settings for an a single
1234
+ request; this effectively ignores the
1235
+ authentication in the spec for a single request.
1236
+ :type _request_auth: dict, optional
1237
+ :param _content_type: force content-type for the request.
1238
+ :type _content_type: str, Optional
1239
+ :param _headers: set to override the headers for a single
1240
+ request; this effectively ignores the headers
1241
+ in the spec for a single request.
1242
+ :type _headers: dict, optional
1243
+ :param _host_index: set to override the host_index for a single
1244
+ request; this effectively ignores the host_index
1245
+ in the spec for a single request.
1246
+ :type _host_index: int, optional
1247
+ :return: Returns the result object.
1248
+ """ # noqa: E501
1249
+
1250
+ _param = self._cancel_ai_unstrip_serialize(
1251
+ analysis_id=analysis_id,
1252
+ _request_auth=_request_auth,
1253
+ _content_type=_content_type,
1254
+ _headers=_headers,
1255
+ _host_index=_host_index
1256
+ )
1257
+
1258
+ _response_types_map: Dict[str, Optional[str]] = {
1259
+ '200': "AutoUnstripResponse",
1260
+ '422': "BaseResponse",
1261
+ }
1262
+ response_data = self.api_client.call_api(
1263
+ *_param,
1264
+ _request_timeout=_request_timeout
1265
+ )
1266
+ response_data.read()
1267
+ return self.api_client.response_deserialize(
1268
+ response_data=response_data,
1269
+ response_types_map=_response_types_map,
1270
+ ).data
1271
+
1272
+
1273
+ @validate_call
1274
+ def cancel_ai_unstrip_with_http_info(
1275
+ self,
1276
+ analysis_id: StrictInt,
1277
+ _request_timeout: Union[
1278
+ None,
1279
+ Annotated[StrictFloat, Field(gt=0)],
1280
+ Tuple[
1281
+ Annotated[StrictFloat, Field(gt=0)],
1282
+ Annotated[StrictFloat, Field(gt=0)]
1283
+ ]
1284
+ ] = None,
1285
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1286
+ _content_type: Optional[StrictStr] = None,
1287
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1288
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1289
+ ) -> ApiResponse[AutoUnstripResponse]:
1290
+ """Cancels a running ai-unstrip
1291
+
1292
+ Takes in the analysis ID and cancels a running ai-unstrip operation
1293
+
1294
+ :param analysis_id: (required)
1295
+ :type analysis_id: int
1296
+ :param _request_timeout: timeout setting for this request. If one
1297
+ number provided, it will be total request
1298
+ timeout. It can also be a pair (tuple) of
1299
+ (connection, read) timeouts.
1300
+ :type _request_timeout: int, tuple(int, int), optional
1301
+ :param _request_auth: set to override the auth_settings for an a single
1302
+ request; this effectively ignores the
1303
+ authentication in the spec for a single request.
1304
+ :type _request_auth: dict, optional
1305
+ :param _content_type: force content-type for the request.
1306
+ :type _content_type: str, Optional
1307
+ :param _headers: set to override the headers for a single
1308
+ request; this effectively ignores the headers
1309
+ in the spec for a single request.
1310
+ :type _headers: dict, optional
1311
+ :param _host_index: set to override the host_index for a single
1312
+ request; this effectively ignores the host_index
1313
+ in the spec for a single request.
1314
+ :type _host_index: int, optional
1315
+ :return: Returns the result object.
1316
+ """ # noqa: E501
1317
+
1318
+ _param = self._cancel_ai_unstrip_serialize(
1319
+ analysis_id=analysis_id,
1320
+ _request_auth=_request_auth,
1321
+ _content_type=_content_type,
1322
+ _headers=_headers,
1323
+ _host_index=_host_index
1324
+ )
1325
+
1326
+ _response_types_map: Dict[str, Optional[str]] = {
1327
+ '200': "AutoUnstripResponse",
1328
+ '422': "BaseResponse",
1329
+ }
1330
+ response_data = self.api_client.call_api(
1331
+ *_param,
1332
+ _request_timeout=_request_timeout
1333
+ )
1334
+ response_data.read()
1335
+ return self.api_client.response_deserialize(
1336
+ response_data=response_data,
1337
+ response_types_map=_response_types_map,
1338
+ )
1339
+
1340
+
1341
+ @validate_call
1342
+ def cancel_ai_unstrip_without_preload_content(
1343
+ self,
1344
+ analysis_id: StrictInt,
1345
+ _request_timeout: Union[
1346
+ None,
1347
+ Annotated[StrictFloat, Field(gt=0)],
1348
+ Tuple[
1349
+ Annotated[StrictFloat, Field(gt=0)],
1350
+ Annotated[StrictFloat, Field(gt=0)]
1351
+ ]
1352
+ ] = None,
1353
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1354
+ _content_type: Optional[StrictStr] = None,
1355
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1356
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1357
+ ) -> RESTResponseType:
1358
+ """Cancels a running ai-unstrip
1359
+
1360
+ Takes in the analysis ID and cancels a running ai-unstrip operation
1361
+
1362
+ :param analysis_id: (required)
1363
+ :type analysis_id: int
1364
+ :param _request_timeout: timeout setting for this request. If one
1365
+ number provided, it will be total request
1366
+ timeout. It can also be a pair (tuple) of
1367
+ (connection, read) timeouts.
1368
+ :type _request_timeout: int, tuple(int, int), optional
1369
+ :param _request_auth: set to override the auth_settings for an a single
1370
+ request; this effectively ignores the
1371
+ authentication in the spec for a single request.
1372
+ :type _request_auth: dict, optional
1373
+ :param _content_type: force content-type for the request.
1374
+ :type _content_type: str, Optional
1375
+ :param _headers: set to override the headers for a single
1376
+ request; this effectively ignores the headers
1377
+ in the spec for a single request.
1378
+ :type _headers: dict, optional
1379
+ :param _host_index: set to override the host_index for a single
1380
+ request; this effectively ignores the host_index
1381
+ in the spec for a single request.
1382
+ :type _host_index: int, optional
1383
+ :return: Returns the result object.
1384
+ """ # noqa: E501
1385
+
1386
+ _param = self._cancel_ai_unstrip_serialize(
1387
+ analysis_id=analysis_id,
1388
+ _request_auth=_request_auth,
1389
+ _content_type=_content_type,
1390
+ _headers=_headers,
1391
+ _host_index=_host_index
1392
+ )
1393
+
1394
+ _response_types_map: Dict[str, Optional[str]] = {
1395
+ '200': "AutoUnstripResponse",
1396
+ '422': "BaseResponse",
1397
+ }
1398
+ response_data = self.api_client.call_api(
1399
+ *_param,
1400
+ _request_timeout=_request_timeout
1401
+ )
1402
+ return response_data.response
1403
+
1404
+
1405
+ def _cancel_ai_unstrip_serialize(
1406
+ self,
1407
+ analysis_id,
1408
+ _request_auth,
1409
+ _content_type,
1410
+ _headers,
1411
+ _host_index,
1412
+ ) -> RequestSerialized:
1413
+
1414
+ _host = None
1415
+
1416
+ _collection_formats: Dict[str, str] = {
1417
+ }
1418
+
1419
+ _path_params: Dict[str, str] = {}
1420
+ _query_params: List[Tuple[str, str]] = []
1421
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1422
+ _form_params: List[Tuple[str, str]] = []
1423
+ _files: Dict[
1424
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1425
+ ] = {}
1426
+ _body_params: Optional[bytes] = None
1427
+
1428
+ # process the path parameters
1429
+ if analysis_id is not None:
1430
+ _path_params['analysis_id'] = analysis_id
1431
+ # process the query parameters
1432
+ # process the header parameters
1433
+ # process the form parameters
1434
+ # process the body parameter
1435
+
1436
+
1437
+ # set the HTTP header `Accept`
1438
+ if 'Accept' not in _header_params:
1439
+ _header_params['Accept'] = self.api_client.select_header_accept(
1440
+ [
1441
+ 'application/json'
1442
+ ]
1443
+ )
1444
+
1445
+
1446
+ # authentication setting
1447
+ _auth_settings: List[str] = [
1448
+ 'APIKey'
1449
+ ]
1450
+
1451
+ return self.api_client.param_serialize(
1452
+ method='DELETE',
1453
+ resource_path='/v2/analyses/{analysis_id}/functions/ai-unstrip/cancel',
1454
+ path_params=_path_params,
1455
+ query_params=_query_params,
1456
+ header_params=_header_params,
1457
+ body=_body_params,
1458
+ post_params=_form_params,
1459
+ files=_files,
1460
+ auth_settings=_auth_settings,
1461
+ collection_formats=_collection_formats,
1462
+ _host=_host,
1463
+ _request_auth=_request_auth
1464
+ )
1465
+
1466
+
1467
+
1468
+
1469
+ @validate_call
1470
+ def cancel_auto_unstrip(
1471
+ self,
1472
+ analysis_id: StrictInt,
1473
+ _request_timeout: Union[
1474
+ None,
1475
+ Annotated[StrictFloat, Field(gt=0)],
1476
+ Tuple[
1477
+ Annotated[StrictFloat, Field(gt=0)],
1478
+ Annotated[StrictFloat, Field(gt=0)]
1479
+ ]
1480
+ ] = None,
1481
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1482
+ _content_type: Optional[StrictStr] = None,
1483
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1484
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1485
+ ) -> AutoUnstripResponse:
1486
+ """Cancels a running auto-unstrip
1487
+
1488
+ Takes in the analysis ID and cancels a running auto-unstrip operation
1489
+
1490
+ :param analysis_id: (required)
1491
+ :type analysis_id: int
1492
+ :param _request_timeout: timeout setting for this request. If one
1493
+ number provided, it will be total request
1494
+ timeout. It can also be a pair (tuple) of
1495
+ (connection, read) timeouts.
1496
+ :type _request_timeout: int, tuple(int, int), optional
1497
+ :param _request_auth: set to override the auth_settings for an a single
1498
+ request; this effectively ignores the
1499
+ authentication in the spec for a single request.
1500
+ :type _request_auth: dict, optional
1501
+ :param _content_type: force content-type for the request.
1502
+ :type _content_type: str, Optional
1503
+ :param _headers: set to override the headers for a single
1504
+ request; this effectively ignores the headers
1505
+ in the spec for a single request.
1506
+ :type _headers: dict, optional
1507
+ :param _host_index: set to override the host_index for a single
1508
+ request; this effectively ignores the host_index
1509
+ in the spec for a single request.
1510
+ :type _host_index: int, optional
1511
+ :return: Returns the result object.
1512
+ """ # noqa: E501
1513
+
1514
+ _param = self._cancel_auto_unstrip_serialize(
1515
+ analysis_id=analysis_id,
1516
+ _request_auth=_request_auth,
1517
+ _content_type=_content_type,
1518
+ _headers=_headers,
1519
+ _host_index=_host_index
1520
+ )
1521
+
1522
+ _response_types_map: Dict[str, Optional[str]] = {
1523
+ '200': "AutoUnstripResponse",
1524
+ '422': "BaseResponse",
1525
+ }
1526
+ response_data = self.api_client.call_api(
1527
+ *_param,
1528
+ _request_timeout=_request_timeout
1529
+ )
1530
+ response_data.read()
1531
+ return self.api_client.response_deserialize(
1532
+ response_data=response_data,
1533
+ response_types_map=_response_types_map,
1534
+ ).data
1535
+
1536
+
1537
+ @validate_call
1538
+ def cancel_auto_unstrip_with_http_info(
1539
+ self,
1540
+ analysis_id: StrictInt,
1541
+ _request_timeout: Union[
1542
+ None,
1543
+ Annotated[StrictFloat, Field(gt=0)],
1544
+ Tuple[
1545
+ Annotated[StrictFloat, Field(gt=0)],
1546
+ Annotated[StrictFloat, Field(gt=0)]
1547
+ ]
1548
+ ] = None,
1549
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1550
+ _content_type: Optional[StrictStr] = None,
1551
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1552
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1553
+ ) -> ApiResponse[AutoUnstripResponse]:
1554
+ """Cancels a running auto-unstrip
1555
+
1556
+ Takes in the analysis ID and cancels a running auto-unstrip operation
1557
+
1558
+ :param analysis_id: (required)
1559
+ :type analysis_id: int
1560
+ :param _request_timeout: timeout setting for this request. If one
1561
+ number provided, it will be total request
1562
+ timeout. It can also be a pair (tuple) of
1563
+ (connection, read) timeouts.
1564
+ :type _request_timeout: int, tuple(int, int), optional
1565
+ :param _request_auth: set to override the auth_settings for an a single
1566
+ request; this effectively ignores the
1567
+ authentication in the spec for a single request.
1568
+ :type _request_auth: dict, optional
1569
+ :param _content_type: force content-type for the request.
1570
+ :type _content_type: str, Optional
1571
+ :param _headers: set to override the headers for a single
1572
+ request; this effectively ignores the headers
1573
+ in the spec for a single request.
1574
+ :type _headers: dict, optional
1575
+ :param _host_index: set to override the host_index for a single
1576
+ request; this effectively ignores the host_index
1577
+ in the spec for a single request.
1578
+ :type _host_index: int, optional
1579
+ :return: Returns the result object.
1580
+ """ # noqa: E501
1581
+
1582
+ _param = self._cancel_auto_unstrip_serialize(
1583
+ analysis_id=analysis_id,
1584
+ _request_auth=_request_auth,
1585
+ _content_type=_content_type,
1586
+ _headers=_headers,
1587
+ _host_index=_host_index
1588
+ )
1589
+
1590
+ _response_types_map: Dict[str, Optional[str]] = {
1591
+ '200': "AutoUnstripResponse",
1592
+ '422': "BaseResponse",
1593
+ }
1594
+ response_data = self.api_client.call_api(
1595
+ *_param,
1596
+ _request_timeout=_request_timeout
1597
+ )
1598
+ response_data.read()
1599
+ return self.api_client.response_deserialize(
1600
+ response_data=response_data,
1601
+ response_types_map=_response_types_map,
1602
+ )
1603
+
1604
+
1605
+ @validate_call
1606
+ def cancel_auto_unstrip_without_preload_content(
1607
+ self,
1608
+ analysis_id: StrictInt,
1609
+ _request_timeout: Union[
1610
+ None,
1611
+ Annotated[StrictFloat, Field(gt=0)],
1612
+ Tuple[
1613
+ Annotated[StrictFloat, Field(gt=0)],
1614
+ Annotated[StrictFloat, Field(gt=0)]
1615
+ ]
1616
+ ] = None,
1617
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1618
+ _content_type: Optional[StrictStr] = None,
1619
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1620
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1621
+ ) -> RESTResponseType:
1622
+ """Cancels a running auto-unstrip
1623
+
1624
+ Takes in the analysis ID and cancels a running auto-unstrip operation
1625
+
1626
+ :param analysis_id: (required)
1627
+ :type analysis_id: int
1628
+ :param _request_timeout: timeout setting for this request. If one
1629
+ number provided, it will be total request
1630
+ timeout. It can also be a pair (tuple) of
1631
+ (connection, read) timeouts.
1632
+ :type _request_timeout: int, tuple(int, int), optional
1633
+ :param _request_auth: set to override the auth_settings for an a single
1634
+ request; this effectively ignores the
1635
+ authentication in the spec for a single request.
1636
+ :type _request_auth: dict, optional
1637
+ :param _content_type: force content-type for the request.
1638
+ :type _content_type: str, Optional
1639
+ :param _headers: set to override the headers for a single
1640
+ request; this effectively ignores the headers
1641
+ in the spec for a single request.
1642
+ :type _headers: dict, optional
1643
+ :param _host_index: set to override the host_index for a single
1644
+ request; this effectively ignores the host_index
1645
+ in the spec for a single request.
1646
+ :type _host_index: int, optional
1647
+ :return: Returns the result object.
1648
+ """ # noqa: E501
1649
+
1650
+ _param = self._cancel_auto_unstrip_serialize(
1651
+ analysis_id=analysis_id,
1652
+ _request_auth=_request_auth,
1653
+ _content_type=_content_type,
1654
+ _headers=_headers,
1655
+ _host_index=_host_index
1656
+ )
1657
+
1658
+ _response_types_map: Dict[str, Optional[str]] = {
1659
+ '200': "AutoUnstripResponse",
1660
+ '422': "BaseResponse",
1661
+ }
1662
+ response_data = self.api_client.call_api(
1663
+ *_param,
1664
+ _request_timeout=_request_timeout
1665
+ )
1666
+ return response_data.response
1667
+
1668
+
1669
+ def _cancel_auto_unstrip_serialize(
1670
+ self,
1671
+ analysis_id,
1672
+ _request_auth,
1673
+ _content_type,
1674
+ _headers,
1675
+ _host_index,
1676
+ ) -> RequestSerialized:
1677
+
1678
+ _host = None
1679
+
1680
+ _collection_formats: Dict[str, str] = {
1681
+ }
1682
+
1683
+ _path_params: Dict[str, str] = {}
1684
+ _query_params: List[Tuple[str, str]] = []
1685
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1686
+ _form_params: List[Tuple[str, str]] = []
1687
+ _files: Dict[
1688
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1689
+ ] = {}
1690
+ _body_params: Optional[bytes] = None
1691
+
1692
+ # process the path parameters
1693
+ if analysis_id is not None:
1694
+ _path_params['analysis_id'] = analysis_id
1695
+ # process the query parameters
1696
+ # process the header parameters
1697
+ # process the form parameters
1698
+ # process the body parameter
1699
+
1700
+
1701
+ # set the HTTP header `Accept`
1702
+ if 'Accept' not in _header_params:
1703
+ _header_params['Accept'] = self.api_client.select_header_accept(
1704
+ [
1705
+ 'application/json'
1706
+ ]
1707
+ )
1708
+
1709
+
1710
+ # authentication setting
1711
+ _auth_settings: List[str] = [
1712
+ 'APIKey'
1713
+ ]
1714
+
1715
+ return self.api_client.param_serialize(
1716
+ method='DELETE',
1717
+ resource_path='/v2/analyses/{analysis_id}/functions/unstrip/cancel',
1718
+ path_params=_path_params,
1719
+ query_params=_query_params,
1720
+ header_params=_header_params,
1721
+ body=_body_params,
1722
+ post_params=_form_params,
1723
+ files=_files,
1724
+ auth_settings=_auth_settings,
1725
+ collection_formats=_collection_formats,
1726
+ _host=_host,
1727
+ _request_auth=_request_auth
1728
+ )
1729
+
1730
+
1731
+
1732
+
1733
+ @validate_call
1734
+ def get_analysis_strings(
1735
+ self,
1736
+ analysis_id: StrictInt,
1737
+ page: Annotated[Optional[Annotated[int, Field(le=100000, strict=True, ge=1)]], Field(description="The page number to retrieve.")] = None,
1738
+ page_size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="Number of items per page.")] = None,
1739
+ search: Annotated[Optional[StrictStr], Field(description="Search is applied to string value")] = None,
1740
+ function_search: Annotated[Optional[StrictStr], Field(description="Search is applied to function names")] = None,
1741
+ _request_timeout: Union[
1742
+ None,
1743
+ Annotated[StrictFloat, Field(gt=0)],
1744
+ Tuple[
1745
+ Annotated[StrictFloat, Field(gt=0)],
1746
+ Annotated[StrictFloat, Field(gt=0)]
1747
+ ]
1748
+ ] = None,
1749
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1750
+ _content_type: Optional[StrictStr] = None,
1751
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1752
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1753
+ ) -> BaseResponseAnalysisStringsResponse:
1754
+ """Get string information found in the Analysis
1755
+
1756
+ Get string information found in the analysis
1757
+
1758
+ :param analysis_id: (required)
1759
+ :type analysis_id: int
1760
+ :param page: The page number to retrieve.
1761
+ :type page: int
1762
+ :param page_size: Number of items per page.
1763
+ :type page_size: int
1764
+ :param search: Search is applied to string value
1765
+ :type search: str
1766
+ :param function_search: Search is applied to function names
1767
+ :type function_search: str
1768
+ :param _request_timeout: timeout setting for this request. If one
1769
+ number provided, it will be total request
1770
+ timeout. It can also be a pair (tuple) of
1771
+ (connection, read) timeouts.
1772
+ :type _request_timeout: int, tuple(int, int), optional
1773
+ :param _request_auth: set to override the auth_settings for an a single
1774
+ request; this effectively ignores the
1775
+ authentication in the spec for a single request.
1776
+ :type _request_auth: dict, optional
1777
+ :param _content_type: force content-type for the request.
1778
+ :type _content_type: str, Optional
1779
+ :param _headers: set to override the headers for a single
1780
+ request; this effectively ignores the headers
1781
+ in the spec for a single request.
1782
+ :type _headers: dict, optional
1783
+ :param _host_index: set to override the host_index for a single
1784
+ request; this effectively ignores the host_index
1785
+ in the spec for a single request.
1786
+ :type _host_index: int, optional
1787
+ :return: Returns the result object.
1788
+ """ # noqa: E501
1789
+
1790
+ _param = self._get_analysis_strings_serialize(
1791
+ analysis_id=analysis_id,
1792
+ page=page,
1793
+ page_size=page_size,
1794
+ search=search,
1795
+ function_search=function_search,
1796
+ _request_auth=_request_auth,
1797
+ _content_type=_content_type,
1798
+ _headers=_headers,
1799
+ _host_index=_host_index
1800
+ )
1801
+
1802
+ _response_types_map: Dict[str, Optional[str]] = {
1803
+ '200': "BaseResponseAnalysisStringsResponse",
1804
+ '422': "BaseResponse",
1805
+ }
1806
+ response_data = self.api_client.call_api(
1807
+ *_param,
1808
+ _request_timeout=_request_timeout
1809
+ )
1810
+ response_data.read()
1811
+ return self.api_client.response_deserialize(
1812
+ response_data=response_data,
1813
+ response_types_map=_response_types_map,
1814
+ ).data
1815
+
1816
+
1817
+ @validate_call
1818
+ def get_analysis_strings_with_http_info(
1819
+ self,
1820
+ analysis_id: StrictInt,
1821
+ page: Annotated[Optional[Annotated[int, Field(le=100000, strict=True, ge=1)]], Field(description="The page number to retrieve.")] = None,
1822
+ page_size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="Number of items per page.")] = None,
1823
+ search: Annotated[Optional[StrictStr], Field(description="Search is applied to string value")] = None,
1824
+ function_search: Annotated[Optional[StrictStr], Field(description="Search is applied to function names")] = None,
1825
+ _request_timeout: Union[
1826
+ None,
1827
+ Annotated[StrictFloat, Field(gt=0)],
1828
+ Tuple[
1829
+ Annotated[StrictFloat, Field(gt=0)],
1830
+ Annotated[StrictFloat, Field(gt=0)]
1831
+ ]
1832
+ ] = None,
1833
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1834
+ _content_type: Optional[StrictStr] = None,
1835
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1836
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1837
+ ) -> ApiResponse[BaseResponseAnalysisStringsResponse]:
1838
+ """Get string information found in the Analysis
1839
+
1840
+ Get string information found in the analysis
1841
+
1842
+ :param analysis_id: (required)
1843
+ :type analysis_id: int
1844
+ :param page: The page number to retrieve.
1845
+ :type page: int
1846
+ :param page_size: Number of items per page.
1847
+ :type page_size: int
1848
+ :param search: Search is applied to string value
1849
+ :type search: str
1850
+ :param function_search: Search is applied to function names
1851
+ :type function_search: str
1852
+ :param _request_timeout: timeout setting for this request. If one
1853
+ number provided, it will be total request
1854
+ timeout. It can also be a pair (tuple) of
1855
+ (connection, read) timeouts.
1856
+ :type _request_timeout: int, tuple(int, int), optional
1857
+ :param _request_auth: set to override the auth_settings for an a single
1858
+ request; this effectively ignores the
1859
+ authentication in the spec for a single request.
1860
+ :type _request_auth: dict, optional
1861
+ :param _content_type: force content-type for the request.
1862
+ :type _content_type: str, Optional
1863
+ :param _headers: set to override the headers for a single
1864
+ request; this effectively ignores the headers
1865
+ in the spec for a single request.
1866
+ :type _headers: dict, optional
1867
+ :param _host_index: set to override the host_index for a single
1868
+ request; this effectively ignores the host_index
1869
+ in the spec for a single request.
1870
+ :type _host_index: int, optional
1871
+ :return: Returns the result object.
1872
+ """ # noqa: E501
1873
+
1874
+ _param = self._get_analysis_strings_serialize(
1875
+ analysis_id=analysis_id,
1876
+ page=page,
1877
+ page_size=page_size,
1878
+ search=search,
1879
+ function_search=function_search,
1880
+ _request_auth=_request_auth,
1881
+ _content_type=_content_type,
1882
+ _headers=_headers,
1883
+ _host_index=_host_index
1884
+ )
1885
+
1886
+ _response_types_map: Dict[str, Optional[str]] = {
1887
+ '200': "BaseResponseAnalysisStringsResponse",
1888
+ '422': "BaseResponse",
1889
+ }
1890
+ response_data = self.api_client.call_api(
1891
+ *_param,
1892
+ _request_timeout=_request_timeout
1893
+ )
1894
+ response_data.read()
1895
+ return self.api_client.response_deserialize(
1896
+ response_data=response_data,
1897
+ response_types_map=_response_types_map,
1898
+ )
1899
+
1900
+
1901
+ @validate_call
1902
+ def get_analysis_strings_without_preload_content(
1903
+ self,
1904
+ analysis_id: StrictInt,
1905
+ page: Annotated[Optional[Annotated[int, Field(le=100000, strict=True, ge=1)]], Field(description="The page number to retrieve.")] = None,
1906
+ page_size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="Number of items per page.")] = None,
1907
+ search: Annotated[Optional[StrictStr], Field(description="Search is applied to string value")] = None,
1908
+ function_search: Annotated[Optional[StrictStr], Field(description="Search is applied to function names")] = None,
1909
+ _request_timeout: Union[
1910
+ None,
1911
+ Annotated[StrictFloat, Field(gt=0)],
1912
+ Tuple[
1913
+ Annotated[StrictFloat, Field(gt=0)],
1914
+ Annotated[StrictFloat, Field(gt=0)]
1915
+ ]
1916
+ ] = None,
1917
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1918
+ _content_type: Optional[StrictStr] = None,
1919
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1920
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1921
+ ) -> RESTResponseType:
1922
+ """Get string information found in the Analysis
1923
+
1924
+ Get string information found in the analysis
1925
+
1926
+ :param analysis_id: (required)
1927
+ :type analysis_id: int
1928
+ :param page: The page number to retrieve.
1929
+ :type page: int
1930
+ :param page_size: Number of items per page.
1931
+ :type page_size: int
1932
+ :param search: Search is applied to string value
1933
+ :type search: str
1934
+ :param function_search: Search is applied to function names
1935
+ :type function_search: str
1936
+ :param _request_timeout: timeout setting for this request. If one
1937
+ number provided, it will be total request
1938
+ timeout. It can also be a pair (tuple) of
1939
+ (connection, read) timeouts.
1940
+ :type _request_timeout: int, tuple(int, int), optional
1941
+ :param _request_auth: set to override the auth_settings for an a single
1942
+ request; this effectively ignores the
1943
+ authentication in the spec for a single request.
1944
+ :type _request_auth: dict, optional
1945
+ :param _content_type: force content-type for the request.
1946
+ :type _content_type: str, Optional
1947
+ :param _headers: set to override the headers for a single
1948
+ request; this effectively ignores the headers
1949
+ in the spec for a single request.
1950
+ :type _headers: dict, optional
1951
+ :param _host_index: set to override the host_index for a single
1952
+ request; this effectively ignores the host_index
1953
+ in the spec for a single request.
1954
+ :type _host_index: int, optional
1955
+ :return: Returns the result object.
1956
+ """ # noqa: E501
1957
+
1958
+ _param = self._get_analysis_strings_serialize(
1959
+ analysis_id=analysis_id,
1960
+ page=page,
1961
+ page_size=page_size,
1962
+ search=search,
1963
+ function_search=function_search,
1964
+ _request_auth=_request_auth,
1965
+ _content_type=_content_type,
1966
+ _headers=_headers,
1967
+ _host_index=_host_index
1968
+ )
1969
+
1970
+ _response_types_map: Dict[str, Optional[str]] = {
1971
+ '200': "BaseResponseAnalysisStringsResponse",
1972
+ '422': "BaseResponse",
1973
+ }
1974
+ response_data = self.api_client.call_api(
1975
+ *_param,
1976
+ _request_timeout=_request_timeout
1977
+ )
1978
+ return response_data.response
1979
+
1980
+
1981
+ def _get_analysis_strings_serialize(
1982
+ self,
1983
+ analysis_id,
1984
+ page,
1985
+ page_size,
1986
+ search,
1987
+ function_search,
1988
+ _request_auth,
1989
+ _content_type,
1990
+ _headers,
1991
+ _host_index,
1992
+ ) -> RequestSerialized:
1993
+
1994
+ _host = None
1995
+
1996
+ _collection_formats: Dict[str, str] = {
1997
+ }
1998
+
1999
+ _path_params: Dict[str, str] = {}
2000
+ _query_params: List[Tuple[str, str]] = []
2001
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2002
+ _form_params: List[Tuple[str, str]] = []
2003
+ _files: Dict[
2004
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2005
+ ] = {}
2006
+ _body_params: Optional[bytes] = None
2007
+
2008
+ # process the path parameters
2009
+ if analysis_id is not None:
2010
+ _path_params['analysis_id'] = analysis_id
2011
+ # process the query parameters
2012
+ if page is not None:
2013
+
2014
+ _query_params.append(('page', page))
2015
+
2016
+ if page_size is not None:
2017
+
2018
+ _query_params.append(('page_size', page_size))
2019
+
2020
+ if search is not None:
2021
+
2022
+ _query_params.append(('search', search))
2023
+
2024
+ if function_search is not None:
2025
+
2026
+ _query_params.append(('function_search', function_search))
2027
+
2028
+ # process the header parameters
2029
+ # process the form parameters
2030
+ # process the body parameter
2031
+
2032
+
2033
+ # set the HTTP header `Accept`
2034
+ if 'Accept' not in _header_params:
2035
+ _header_params['Accept'] = self.api_client.select_header_accept(
2036
+ [
2037
+ 'application/json'
2038
+ ]
2039
+ )
2040
+
2041
+
2042
+ # authentication setting
2043
+ _auth_settings: List[str] = [
2044
+ 'APIKey'
2045
+ ]
2046
+
2047
+ return self.api_client.param_serialize(
2048
+ method='GET',
2049
+ resource_path='/v2/analyses/{analysis_id}/functions/strings',
2050
+ path_params=_path_params,
2051
+ query_params=_query_params,
2052
+ header_params=_header_params,
2053
+ body=_body_params,
2054
+ post_params=_form_params,
2055
+ files=_files,
2056
+ auth_settings=_auth_settings,
2057
+ collection_formats=_collection_formats,
2058
+ _host=_host,
2059
+ _request_auth=_request_auth
2060
+ )
2061
+
2062
+
2063
+
2064
+
2065
+ @validate_call
2066
+ def get_function_blocks(
2067
+ self,
2068
+ function_id: StrictInt,
2069
+ _request_timeout: Union[
2070
+ None,
2071
+ Annotated[StrictFloat, Field(gt=0)],
2072
+ Tuple[
2073
+ Annotated[StrictFloat, Field(gt=0)],
2074
+ Annotated[StrictFloat, Field(gt=0)]
2075
+ ]
2076
+ ] = None,
2077
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2078
+ _content_type: Optional[StrictStr] = None,
2079
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2080
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2081
+ ) -> BaseResponseFunctionBlocksResponse:
2082
+ """Get disassembly blocks related to the function
2083
+
2084
+ Get disassembly blocks related to the function
2085
+
2086
+ :param function_id: (required)
2087
+ :type function_id: int
2088
+ :param _request_timeout: timeout setting for this request. If one
2089
+ number provided, it will be total request
2090
+ timeout. It can also be a pair (tuple) of
2091
+ (connection, read) timeouts.
2092
+ :type _request_timeout: int, tuple(int, int), optional
2093
+ :param _request_auth: set to override the auth_settings for an a single
2094
+ request; this effectively ignores the
2095
+ authentication in the spec for a single request.
2096
+ :type _request_auth: dict, optional
2097
+ :param _content_type: force content-type for the request.
2098
+ :type _content_type: str, Optional
2099
+ :param _headers: set to override the headers for a single
2100
+ request; this effectively ignores the headers
2101
+ in the spec for a single request.
2102
+ :type _headers: dict, optional
2103
+ :param _host_index: set to override the host_index for a single
2104
+ request; this effectively ignores the host_index
2105
+ in the spec for a single request.
2106
+ :type _host_index: int, optional
2107
+ :return: Returns the result object.
2108
+ """ # noqa: E501
2109
+
2110
+ _param = self._get_function_blocks_serialize(
2111
+ function_id=function_id,
2112
+ _request_auth=_request_auth,
2113
+ _content_type=_content_type,
2114
+ _headers=_headers,
2115
+ _host_index=_host_index
2116
+ )
2117
+
2118
+ _response_types_map: Dict[str, Optional[str]] = {
2119
+ '200': "BaseResponseFunctionBlocksResponse",
2120
+ '422': "BaseResponse",
2121
+ '404': "BaseResponse",
2122
+ }
2123
+ response_data = self.api_client.call_api(
2124
+ *_param,
2125
+ _request_timeout=_request_timeout
2126
+ )
2127
+ response_data.read()
2128
+ return self.api_client.response_deserialize(
2129
+ response_data=response_data,
2130
+ response_types_map=_response_types_map,
2131
+ ).data
2132
+
2133
+
2134
+ @validate_call
2135
+ def get_function_blocks_with_http_info(
2136
+ self,
2137
+ function_id: StrictInt,
2138
+ _request_timeout: Union[
2139
+ None,
2140
+ Annotated[StrictFloat, Field(gt=0)],
2141
+ Tuple[
2142
+ Annotated[StrictFloat, Field(gt=0)],
2143
+ Annotated[StrictFloat, Field(gt=0)]
2144
+ ]
2145
+ ] = None,
2146
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2147
+ _content_type: Optional[StrictStr] = None,
2148
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2149
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2150
+ ) -> ApiResponse[BaseResponseFunctionBlocksResponse]:
2151
+ """Get disassembly blocks related to the function
2152
+
2153
+ Get disassembly blocks related to the function
2154
+
2155
+ :param function_id: (required)
2156
+ :type function_id: int
2157
+ :param _request_timeout: timeout setting for this request. If one
2158
+ number provided, it will be total request
2159
+ timeout. It can also be a pair (tuple) of
2160
+ (connection, read) timeouts.
2161
+ :type _request_timeout: int, tuple(int, int), optional
2162
+ :param _request_auth: set to override the auth_settings for an a single
2163
+ request; this effectively ignores the
2164
+ authentication in the spec for a single request.
2165
+ :type _request_auth: dict, optional
2166
+ :param _content_type: force content-type for the request.
2167
+ :type _content_type: str, Optional
2168
+ :param _headers: set to override the headers for a single
2169
+ request; this effectively ignores the headers
2170
+ in the spec for a single request.
2171
+ :type _headers: dict, optional
2172
+ :param _host_index: set to override the host_index for a single
2173
+ request; this effectively ignores the host_index
2174
+ in the spec for a single request.
2175
+ :type _host_index: int, optional
2176
+ :return: Returns the result object.
2177
+ """ # noqa: E501
2178
+
2179
+ _param = self._get_function_blocks_serialize(
2180
+ function_id=function_id,
2181
+ _request_auth=_request_auth,
2182
+ _content_type=_content_type,
2183
+ _headers=_headers,
2184
+ _host_index=_host_index
2185
+ )
2186
+
2187
+ _response_types_map: Dict[str, Optional[str]] = {
2188
+ '200': "BaseResponseFunctionBlocksResponse",
2189
+ '422': "BaseResponse",
2190
+ '404': "BaseResponse",
2191
+ }
2192
+ response_data = self.api_client.call_api(
2193
+ *_param,
2194
+ _request_timeout=_request_timeout
2195
+ )
2196
+ response_data.read()
2197
+ return self.api_client.response_deserialize(
2198
+ response_data=response_data,
2199
+ response_types_map=_response_types_map,
2200
+ )
2201
+
2202
+
2203
+ @validate_call
2204
+ def get_function_blocks_without_preload_content(
2205
+ self,
2206
+ function_id: StrictInt,
2207
+ _request_timeout: Union[
2208
+ None,
2209
+ Annotated[StrictFloat, Field(gt=0)],
2210
+ Tuple[
2211
+ Annotated[StrictFloat, Field(gt=0)],
2212
+ Annotated[StrictFloat, Field(gt=0)]
2213
+ ]
2214
+ ] = None,
2215
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2216
+ _content_type: Optional[StrictStr] = None,
2217
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2218
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2219
+ ) -> RESTResponseType:
2220
+ """Get disassembly blocks related to the function
2221
+
2222
+ Get disassembly blocks related to the function
2223
+
2224
+ :param function_id: (required)
2225
+ :type function_id: int
2226
+ :param _request_timeout: timeout setting for this request. If one
2227
+ number provided, it will be total request
2228
+ timeout. It can also be a pair (tuple) of
2229
+ (connection, read) timeouts.
2230
+ :type _request_timeout: int, tuple(int, int), optional
2231
+ :param _request_auth: set to override the auth_settings for an a single
2232
+ request; this effectively ignores the
2233
+ authentication in the spec for a single request.
2234
+ :type _request_auth: dict, optional
2235
+ :param _content_type: force content-type for the request.
2236
+ :type _content_type: str, Optional
2237
+ :param _headers: set to override the headers for a single
2238
+ request; this effectively ignores the headers
2239
+ in the spec for a single request.
2240
+ :type _headers: dict, optional
2241
+ :param _host_index: set to override the host_index for a single
2242
+ request; this effectively ignores the host_index
2243
+ in the spec for a single request.
2244
+ :type _host_index: int, optional
2245
+ :return: Returns the result object.
2246
+ """ # noqa: E501
2247
+
2248
+ _param = self._get_function_blocks_serialize(
2249
+ function_id=function_id,
2250
+ _request_auth=_request_auth,
2251
+ _content_type=_content_type,
2252
+ _headers=_headers,
2253
+ _host_index=_host_index
2254
+ )
2255
+
2256
+ _response_types_map: Dict[str, Optional[str]] = {
2257
+ '200': "BaseResponseFunctionBlocksResponse",
2258
+ '422': "BaseResponse",
2259
+ '404': "BaseResponse",
2260
+ }
2261
+ response_data = self.api_client.call_api(
2262
+ *_param,
2263
+ _request_timeout=_request_timeout
2264
+ )
2265
+ return response_data.response
2266
+
2267
+
2268
+ def _get_function_blocks_serialize(
2269
+ self,
2270
+ function_id,
2271
+ _request_auth,
2272
+ _content_type,
2273
+ _headers,
2274
+ _host_index,
2275
+ ) -> RequestSerialized:
2276
+
2277
+ _host = None
2278
+
2279
+ _collection_formats: Dict[str, str] = {
2280
+ }
2281
+
2282
+ _path_params: Dict[str, str] = {}
2283
+ _query_params: List[Tuple[str, str]] = []
2284
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2285
+ _form_params: List[Tuple[str, str]] = []
2286
+ _files: Dict[
2287
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2288
+ ] = {}
2289
+ _body_params: Optional[bytes] = None
2290
+
2291
+ # process the path parameters
2292
+ if function_id is not None:
2293
+ _path_params['function_id'] = function_id
2294
+ # process the query parameters
2295
+ # process the header parameters
2296
+ # process the form parameters
2297
+ # process the body parameter
2298
+
2299
+
2300
+ # set the HTTP header `Accept`
2301
+ if 'Accept' not in _header_params:
2302
+ _header_params['Accept'] = self.api_client.select_header_accept(
2303
+ [
2304
+ 'application/json'
2305
+ ]
2306
+ )
2307
+
2308
+
2309
+ # authentication setting
2310
+ _auth_settings: List[str] = [
2311
+ 'APIKey'
2312
+ ]
2313
+
2314
+ return self.api_client.param_serialize(
2315
+ method='GET',
2316
+ resource_path='/v2/functions/{function_id}/blocks',
2317
+ path_params=_path_params,
2318
+ query_params=_query_params,
2319
+ header_params=_header_params,
2320
+ body=_body_params,
2321
+ post_params=_form_params,
2322
+ files=_files,
2323
+ auth_settings=_auth_settings,
2324
+ collection_formats=_collection_formats,
2325
+ _host=_host,
2326
+ _request_auth=_request_auth
2327
+ )
2328
+
2329
+
2330
+
2331
+
2332
+ @validate_call
2333
+ def get_function_callees_callers(
2334
+ self,
2335
+ function_id: StrictInt,
2336
+ _request_timeout: Union[
2337
+ None,
2338
+ Annotated[StrictFloat, Field(gt=0)],
2339
+ Tuple[
2340
+ Annotated[StrictFloat, Field(gt=0)],
2341
+ Annotated[StrictFloat, Field(gt=0)]
2342
+ ]
2343
+ ] = None,
2344
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2345
+ _content_type: Optional[StrictStr] = None,
2346
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2347
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2348
+ ) -> BaseResponseCalleesCallerFunctionsResponse:
2349
+ """Get list of functions that call or are called by the specified function
2350
+
2351
+
2352
+ :param function_id: (required)
2353
+ :type function_id: int
2354
+ :param _request_timeout: timeout setting for this request. If one
2355
+ number provided, it will be total request
2356
+ timeout. It can also be a pair (tuple) of
2357
+ (connection, read) timeouts.
2358
+ :type _request_timeout: int, tuple(int, int), optional
2359
+ :param _request_auth: set to override the auth_settings for an a single
2360
+ request; this effectively ignores the
2361
+ authentication in the spec for a single request.
2362
+ :type _request_auth: dict, optional
2363
+ :param _content_type: force content-type for the request.
2364
+ :type _content_type: str, Optional
2365
+ :param _headers: set to override the headers for a single
2366
+ request; this effectively ignores the headers
2367
+ in the spec for a single request.
2368
+ :type _headers: dict, optional
2369
+ :param _host_index: set to override the host_index for a single
2370
+ request; this effectively ignores the host_index
2371
+ in the spec for a single request.
2372
+ :type _host_index: int, optional
2373
+ :return: Returns the result object.
2374
+ """ # noqa: E501
2375
+
2376
+ _param = self._get_function_callees_callers_serialize(
2377
+ function_id=function_id,
2378
+ _request_auth=_request_auth,
2379
+ _content_type=_content_type,
2380
+ _headers=_headers,
2381
+ _host_index=_host_index
2382
+ )
2383
+
2384
+ _response_types_map: Dict[str, Optional[str]] = {
2385
+ '200': "BaseResponseCalleesCallerFunctionsResponse",
2386
+ '422': "BaseResponse",
2387
+ }
2388
+ response_data = self.api_client.call_api(
2389
+ *_param,
2390
+ _request_timeout=_request_timeout
2391
+ )
2392
+ response_data.read()
2393
+ return self.api_client.response_deserialize(
2394
+ response_data=response_data,
2395
+ response_types_map=_response_types_map,
2396
+ ).data
2397
+
2398
+
2399
+ @validate_call
2400
+ def get_function_callees_callers_with_http_info(
2401
+ self,
2402
+ function_id: StrictInt,
2403
+ _request_timeout: Union[
2404
+ None,
2405
+ Annotated[StrictFloat, Field(gt=0)],
2406
+ Tuple[
2407
+ Annotated[StrictFloat, Field(gt=0)],
2408
+ Annotated[StrictFloat, Field(gt=0)]
2409
+ ]
2410
+ ] = None,
2411
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2412
+ _content_type: Optional[StrictStr] = None,
2413
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2414
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2415
+ ) -> ApiResponse[BaseResponseCalleesCallerFunctionsResponse]:
2416
+ """Get list of functions that call or are called by the specified function
2417
+
2418
+
2419
+ :param function_id: (required)
2420
+ :type function_id: int
2421
+ :param _request_timeout: timeout setting for this request. If one
2422
+ number provided, it will be total request
2423
+ timeout. It can also be a pair (tuple) of
2424
+ (connection, read) timeouts.
2425
+ :type _request_timeout: int, tuple(int, int), optional
2426
+ :param _request_auth: set to override the auth_settings for an a single
2427
+ request; this effectively ignores the
2428
+ authentication in the spec for a single request.
2429
+ :type _request_auth: dict, optional
2430
+ :param _content_type: force content-type for the request.
2431
+ :type _content_type: str, Optional
2432
+ :param _headers: set to override the headers for a single
2433
+ request; this effectively ignores the headers
2434
+ in the spec for a single request.
2435
+ :type _headers: dict, optional
2436
+ :param _host_index: set to override the host_index for a single
2437
+ request; this effectively ignores the host_index
2438
+ in the spec for a single request.
2439
+ :type _host_index: int, optional
2440
+ :return: Returns the result object.
2441
+ """ # noqa: E501
2442
+
2443
+ _param = self._get_function_callees_callers_serialize(
2444
+ function_id=function_id,
2445
+ _request_auth=_request_auth,
2446
+ _content_type=_content_type,
2447
+ _headers=_headers,
2448
+ _host_index=_host_index
2449
+ )
2450
+
2451
+ _response_types_map: Dict[str, Optional[str]] = {
2452
+ '200': "BaseResponseCalleesCallerFunctionsResponse",
2453
+ '422': "BaseResponse",
2454
+ }
2455
+ response_data = self.api_client.call_api(
2456
+ *_param,
2457
+ _request_timeout=_request_timeout
2458
+ )
2459
+ response_data.read()
2460
+ return self.api_client.response_deserialize(
2461
+ response_data=response_data,
2462
+ response_types_map=_response_types_map,
2463
+ )
2464
+
2465
+
2466
+ @validate_call
2467
+ def get_function_callees_callers_without_preload_content(
2468
+ self,
2469
+ function_id: StrictInt,
2470
+ _request_timeout: Union[
2471
+ None,
2472
+ Annotated[StrictFloat, Field(gt=0)],
2473
+ Tuple[
2474
+ Annotated[StrictFloat, Field(gt=0)],
2475
+ Annotated[StrictFloat, Field(gt=0)]
2476
+ ]
2477
+ ] = None,
2478
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2479
+ _content_type: Optional[StrictStr] = None,
2480
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2481
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2482
+ ) -> RESTResponseType:
2483
+ """Get list of functions that call or are called by the specified function
2484
+
2485
+
2486
+ :param function_id: (required)
2487
+ :type function_id: int
2488
+ :param _request_timeout: timeout setting for this request. If one
2489
+ number provided, it will be total request
2490
+ timeout. It can also be a pair (tuple) of
2491
+ (connection, read) timeouts.
2492
+ :type _request_timeout: int, tuple(int, int), optional
2493
+ :param _request_auth: set to override the auth_settings for an a single
2494
+ request; this effectively ignores the
2495
+ authentication in the spec for a single request.
2496
+ :type _request_auth: dict, optional
2497
+ :param _content_type: force content-type for the request.
2498
+ :type _content_type: str, Optional
2499
+ :param _headers: set to override the headers for a single
2500
+ request; this effectively ignores the headers
2501
+ in the spec for a single request.
2502
+ :type _headers: dict, optional
2503
+ :param _host_index: set to override the host_index for a single
2504
+ request; this effectively ignores the host_index
2505
+ in the spec for a single request.
2506
+ :type _host_index: int, optional
2507
+ :return: Returns the result object.
2508
+ """ # noqa: E501
2509
+
2510
+ _param = self._get_function_callees_callers_serialize(
2511
+ function_id=function_id,
2512
+ _request_auth=_request_auth,
2513
+ _content_type=_content_type,
2514
+ _headers=_headers,
2515
+ _host_index=_host_index
2516
+ )
2517
+
2518
+ _response_types_map: Dict[str, Optional[str]] = {
2519
+ '200': "BaseResponseCalleesCallerFunctionsResponse",
2520
+ '422': "BaseResponse",
2521
+ }
2522
+ response_data = self.api_client.call_api(
2523
+ *_param,
2524
+ _request_timeout=_request_timeout
2525
+ )
2526
+ return response_data.response
2527
+
2528
+
2529
+ def _get_function_callees_callers_serialize(
2530
+ self,
2531
+ function_id,
2532
+ _request_auth,
2533
+ _content_type,
2534
+ _headers,
2535
+ _host_index,
2536
+ ) -> RequestSerialized:
2537
+
2538
+ _host = None
2539
+
2540
+ _collection_formats: Dict[str, str] = {
2541
+ }
2542
+
2543
+ _path_params: Dict[str, str] = {}
2544
+ _query_params: List[Tuple[str, str]] = []
2545
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2546
+ _form_params: List[Tuple[str, str]] = []
2547
+ _files: Dict[
2548
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2549
+ ] = {}
2550
+ _body_params: Optional[bytes] = None
2551
+
2552
+ # process the path parameters
2553
+ if function_id is not None:
2554
+ _path_params['function_id'] = function_id
2555
+ # process the query parameters
2556
+ # process the header parameters
2557
+ # process the form parameters
2558
+ # process the body parameter
2559
+
2560
+
2561
+ # set the HTTP header `Accept`
2562
+ if 'Accept' not in _header_params:
2563
+ _header_params['Accept'] = self.api_client.select_header_accept(
2564
+ [
2565
+ 'application/json'
2566
+ ]
2567
+ )
2568
+
2569
+
2570
+ # authentication setting
2571
+ _auth_settings: List[str] = [
2572
+ 'APIKey'
2573
+ ]
2574
+
2575
+ return self.api_client.param_serialize(
2576
+ method='GET',
2577
+ resource_path='/v2/functions/{function_id}/callees_callers',
2578
+ path_params=_path_params,
2579
+ query_params=_query_params,
2580
+ header_params=_header_params,
2581
+ body=_body_params,
2582
+ post_params=_form_params,
2583
+ files=_files,
2584
+ auth_settings=_auth_settings,
2585
+ collection_formats=_collection_formats,
2586
+ _host=_host,
2587
+ _request_auth=_request_auth
2588
+ )
2589
+
2590
+
2591
+
2592
+
2593
+ @validate_call
2594
+ def get_function_capabilities(
2595
+ self,
2596
+ function_id: StrictInt,
2597
+ _request_timeout: Union[
2598
+ None,
2599
+ Annotated[StrictFloat, Field(gt=0)],
2600
+ Tuple[
2601
+ Annotated[StrictFloat, Field(gt=0)],
2602
+ Annotated[StrictFloat, Field(gt=0)]
2603
+ ]
2604
+ ] = None,
2605
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2606
+ _content_type: Optional[StrictStr] = None,
2607
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2608
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2609
+ ) -> BaseResponseFunctionCapabilityResponse:
2610
+ """Retrieve a functions capabilities
2611
+
2612
+
2613
+ :param function_id: (required)
2614
+ :type function_id: int
2615
+ :param _request_timeout: timeout setting for this request. If one
2616
+ number provided, it will be total request
2617
+ timeout. It can also be a pair (tuple) of
2618
+ (connection, read) timeouts.
2619
+ :type _request_timeout: int, tuple(int, int), optional
2620
+ :param _request_auth: set to override the auth_settings for an a single
2621
+ request; this effectively ignores the
2622
+ authentication in the spec for a single request.
2623
+ :type _request_auth: dict, optional
2624
+ :param _content_type: force content-type for the request.
2625
+ :type _content_type: str, Optional
2626
+ :param _headers: set to override the headers for a single
2627
+ request; this effectively ignores the headers
2628
+ in the spec for a single request.
2629
+ :type _headers: dict, optional
2630
+ :param _host_index: set to override the host_index for a single
2631
+ request; this effectively ignores the host_index
2632
+ in the spec for a single request.
2633
+ :type _host_index: int, optional
2634
+ :return: Returns the result object.
2635
+ """ # noqa: E501
2636
+
2637
+ _param = self._get_function_capabilities_serialize(
2638
+ function_id=function_id,
2639
+ _request_auth=_request_auth,
2640
+ _content_type=_content_type,
2641
+ _headers=_headers,
2642
+ _host_index=_host_index
2643
+ )
2644
+
2645
+ _response_types_map: Dict[str, Optional[str]] = {
2646
+ '200': "BaseResponseFunctionCapabilityResponse",
2647
+ '422': "BaseResponse",
2648
+ '404': "BaseResponse",
2649
+ }
2650
+ response_data = self.api_client.call_api(
2651
+ *_param,
2652
+ _request_timeout=_request_timeout
2653
+ )
2654
+ response_data.read()
2655
+ return self.api_client.response_deserialize(
2656
+ response_data=response_data,
2657
+ response_types_map=_response_types_map,
2658
+ ).data
2659
+
2660
+
2661
+ @validate_call
2662
+ def get_function_capabilities_with_http_info(
2663
+ self,
2664
+ function_id: StrictInt,
2665
+ _request_timeout: Union[
2666
+ None,
2667
+ Annotated[StrictFloat, Field(gt=0)],
2668
+ Tuple[
2669
+ Annotated[StrictFloat, Field(gt=0)],
2670
+ Annotated[StrictFloat, Field(gt=0)]
2671
+ ]
2672
+ ] = None,
2673
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2674
+ _content_type: Optional[StrictStr] = None,
2675
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2676
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2677
+ ) -> ApiResponse[BaseResponseFunctionCapabilityResponse]:
2678
+ """Retrieve a functions capabilities
2679
+
2680
+
2681
+ :param function_id: (required)
2682
+ :type function_id: int
2683
+ :param _request_timeout: timeout setting for this request. If one
2684
+ number provided, it will be total request
2685
+ timeout. It can also be a pair (tuple) of
2686
+ (connection, read) timeouts.
2687
+ :type _request_timeout: int, tuple(int, int), optional
2688
+ :param _request_auth: set to override the auth_settings for an a single
2689
+ request; this effectively ignores the
2690
+ authentication in the spec for a single request.
2691
+ :type _request_auth: dict, optional
2692
+ :param _content_type: force content-type for the request.
2693
+ :type _content_type: str, Optional
2694
+ :param _headers: set to override the headers for a single
2695
+ request; this effectively ignores the headers
2696
+ in the spec for a single request.
2697
+ :type _headers: dict, optional
2698
+ :param _host_index: set to override the host_index for a single
2699
+ request; this effectively ignores the host_index
2700
+ in the spec for a single request.
2701
+ :type _host_index: int, optional
2702
+ :return: Returns the result object.
2703
+ """ # noqa: E501
2704
+
2705
+ _param = self._get_function_capabilities_serialize(
2706
+ function_id=function_id,
2707
+ _request_auth=_request_auth,
2708
+ _content_type=_content_type,
2709
+ _headers=_headers,
2710
+ _host_index=_host_index
2711
+ )
2712
+
2713
+ _response_types_map: Dict[str, Optional[str]] = {
2714
+ '200': "BaseResponseFunctionCapabilityResponse",
2715
+ '422': "BaseResponse",
2716
+ '404': "BaseResponse",
2717
+ }
2718
+ response_data = self.api_client.call_api(
2719
+ *_param,
2720
+ _request_timeout=_request_timeout
2721
+ )
2722
+ response_data.read()
2723
+ return self.api_client.response_deserialize(
2724
+ response_data=response_data,
2725
+ response_types_map=_response_types_map,
2726
+ )
2727
+
2728
+
2729
+ @validate_call
2730
+ def get_function_capabilities_without_preload_content(
2731
+ self,
2732
+ function_id: StrictInt,
2733
+ _request_timeout: Union[
2734
+ None,
2735
+ Annotated[StrictFloat, Field(gt=0)],
2736
+ Tuple[
2737
+ Annotated[StrictFloat, Field(gt=0)],
2738
+ Annotated[StrictFloat, Field(gt=0)]
2739
+ ]
2740
+ ] = None,
2741
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2742
+ _content_type: Optional[StrictStr] = None,
2743
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2744
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2745
+ ) -> RESTResponseType:
2746
+ """Retrieve a functions capabilities
2747
+
2748
+
2749
+ :param function_id: (required)
2750
+ :type function_id: int
2751
+ :param _request_timeout: timeout setting for this request. If one
2752
+ number provided, it will be total request
2753
+ timeout. It can also be a pair (tuple) of
2754
+ (connection, read) timeouts.
2755
+ :type _request_timeout: int, tuple(int, int), optional
2756
+ :param _request_auth: set to override the auth_settings for an a single
2757
+ request; this effectively ignores the
2758
+ authentication in the spec for a single request.
2759
+ :type _request_auth: dict, optional
2760
+ :param _content_type: force content-type for the request.
2761
+ :type _content_type: str, Optional
2762
+ :param _headers: set to override the headers for a single
2763
+ request; this effectively ignores the headers
2764
+ in the spec for a single request.
2765
+ :type _headers: dict, optional
2766
+ :param _host_index: set to override the host_index for a single
2767
+ request; this effectively ignores the host_index
2768
+ in the spec for a single request.
2769
+ :type _host_index: int, optional
2770
+ :return: Returns the result object.
2771
+ """ # noqa: E501
2772
+
2773
+ _param = self._get_function_capabilities_serialize(
2774
+ function_id=function_id,
2775
+ _request_auth=_request_auth,
2776
+ _content_type=_content_type,
2777
+ _headers=_headers,
2778
+ _host_index=_host_index
2779
+ )
2780
+
2781
+ _response_types_map: Dict[str, Optional[str]] = {
2782
+ '200': "BaseResponseFunctionCapabilityResponse",
2783
+ '422': "BaseResponse",
2784
+ '404': "BaseResponse",
2785
+ }
2786
+ response_data = self.api_client.call_api(
2787
+ *_param,
2788
+ _request_timeout=_request_timeout
2789
+ )
2790
+ return response_data.response
2791
+
2792
+
2793
+ def _get_function_capabilities_serialize(
2794
+ self,
2795
+ function_id,
2796
+ _request_auth,
2797
+ _content_type,
2798
+ _headers,
2799
+ _host_index,
2800
+ ) -> RequestSerialized:
2801
+
2802
+ _host = None
2803
+
2804
+ _collection_formats: Dict[str, str] = {
2805
+ }
2806
+
2807
+ _path_params: Dict[str, str] = {}
2808
+ _query_params: List[Tuple[str, str]] = []
2809
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2810
+ _form_params: List[Tuple[str, str]] = []
2811
+ _files: Dict[
2812
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2813
+ ] = {}
2814
+ _body_params: Optional[bytes] = None
2815
+
2816
+ # process the path parameters
2817
+ if function_id is not None:
2818
+ _path_params['function_id'] = function_id
2819
+ # process the query parameters
2820
+ # process the header parameters
2821
+ # process the form parameters
2822
+ # process the body parameter
2823
+
2824
+
2825
+ # set the HTTP header `Accept`
2826
+ if 'Accept' not in _header_params:
2827
+ _header_params['Accept'] = self.api_client.select_header_accept(
2828
+ [
2829
+ 'application/json'
2830
+ ]
2831
+ )
2832
+
2833
+
2834
+ # authentication setting
2835
+ _auth_settings: List[str] = [
2836
+ 'APIKey'
2837
+ ]
2838
+
2839
+ return self.api_client.param_serialize(
2840
+ method='GET',
2841
+ resource_path='/v2/functions/{function_id}/capabilities',
2842
+ path_params=_path_params,
2843
+ query_params=_query_params,
2844
+ header_params=_header_params,
2845
+ body=_body_params,
2846
+ post_params=_form_params,
2847
+ files=_files,
2848
+ auth_settings=_auth_settings,
2849
+ collection_formats=_collection_formats,
2850
+ _host=_host,
2851
+ _request_auth=_request_auth
2852
+ )
2853
+
2854
+
2855
+
2856
+
2857
+ @validate_call
2858
+ def get_function_details(
2859
+ self,
2860
+ function_id: StrictInt,
2861
+ _request_timeout: Union[
2862
+ None,
2863
+ Annotated[StrictFloat, Field(gt=0)],
2864
+ Tuple[
2865
+ Annotated[StrictFloat, Field(gt=0)],
2866
+ Annotated[StrictFloat, Field(gt=0)]
2867
+ ]
2868
+ ] = None,
2869
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2870
+ _content_type: Optional[StrictStr] = None,
2871
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2872
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2873
+ ) -> BaseResponseFunctionsDetailResponse:
2874
+ """Get function details
2875
+
2876
+
2877
+ :param function_id: (required)
2878
+ :type function_id: int
2879
+ :param _request_timeout: timeout setting for this request. If one
2880
+ number provided, it will be total request
2881
+ timeout. It can also be a pair (tuple) of
2882
+ (connection, read) timeouts.
2883
+ :type _request_timeout: int, tuple(int, int), optional
2884
+ :param _request_auth: set to override the auth_settings for an a single
2885
+ request; this effectively ignores the
2886
+ authentication in the spec for a single request.
2887
+ :type _request_auth: dict, optional
2888
+ :param _content_type: force content-type for the request.
2889
+ :type _content_type: str, Optional
2890
+ :param _headers: set to override the headers for a single
2891
+ request; this effectively ignores the headers
2892
+ in the spec for a single request.
2893
+ :type _headers: dict, optional
2894
+ :param _host_index: set to override the host_index for a single
2895
+ request; this effectively ignores the host_index
2896
+ in the spec for a single request.
2897
+ :type _host_index: int, optional
2898
+ :return: Returns the result object.
2899
+ """ # noqa: E501
2900
+
2901
+ _param = self._get_function_details_serialize(
2902
+ function_id=function_id,
2903
+ _request_auth=_request_auth,
2904
+ _content_type=_content_type,
2905
+ _headers=_headers,
2906
+ _host_index=_host_index
2907
+ )
2908
+
2909
+ _response_types_map: Dict[str, Optional[str]] = {
2910
+ '200': "BaseResponseFunctionsDetailResponse",
2911
+ '422': "BaseResponse",
2912
+ }
2913
+ response_data = self.api_client.call_api(
2914
+ *_param,
2915
+ _request_timeout=_request_timeout
2916
+ )
2917
+ response_data.read()
2918
+ return self.api_client.response_deserialize(
2919
+ response_data=response_data,
2920
+ response_types_map=_response_types_map,
2921
+ ).data
2922
+
2923
+
2924
+ @validate_call
2925
+ def get_function_details_with_http_info(
2926
+ self,
2927
+ function_id: StrictInt,
2928
+ _request_timeout: Union[
2929
+ None,
2930
+ Annotated[StrictFloat, Field(gt=0)],
2931
+ Tuple[
2932
+ Annotated[StrictFloat, Field(gt=0)],
2933
+ Annotated[StrictFloat, Field(gt=0)]
2934
+ ]
2935
+ ] = None,
2936
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2937
+ _content_type: Optional[StrictStr] = None,
2938
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2939
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2940
+ ) -> ApiResponse[BaseResponseFunctionsDetailResponse]:
2941
+ """Get function details
2942
+
2943
+
2944
+ :param function_id: (required)
2945
+ :type function_id: int
2946
+ :param _request_timeout: timeout setting for this request. If one
2947
+ number provided, it will be total request
2948
+ timeout. It can also be a pair (tuple) of
2949
+ (connection, read) timeouts.
2950
+ :type _request_timeout: int, tuple(int, int), optional
2951
+ :param _request_auth: set to override the auth_settings for an a single
2952
+ request; this effectively ignores the
2953
+ authentication in the spec for a single request.
2954
+ :type _request_auth: dict, optional
2955
+ :param _content_type: force content-type for the request.
2956
+ :type _content_type: str, Optional
2957
+ :param _headers: set to override the headers for a single
2958
+ request; this effectively ignores the headers
2959
+ in the spec for a single request.
2960
+ :type _headers: dict, optional
2961
+ :param _host_index: set to override the host_index for a single
2962
+ request; this effectively ignores the host_index
2963
+ in the spec for a single request.
2964
+ :type _host_index: int, optional
2965
+ :return: Returns the result object.
2966
+ """ # noqa: E501
2967
+
2968
+ _param = self._get_function_details_serialize(
2969
+ function_id=function_id,
2970
+ _request_auth=_request_auth,
2971
+ _content_type=_content_type,
2972
+ _headers=_headers,
2973
+ _host_index=_host_index
2974
+ )
2975
+
2976
+ _response_types_map: Dict[str, Optional[str]] = {
2977
+ '200': "BaseResponseFunctionsDetailResponse",
2978
+ '422': "BaseResponse",
2979
+ }
2980
+ response_data = self.api_client.call_api(
2981
+ *_param,
2982
+ _request_timeout=_request_timeout
2983
+ )
2984
+ response_data.read()
2985
+ return self.api_client.response_deserialize(
2986
+ response_data=response_data,
2987
+ response_types_map=_response_types_map,
2988
+ )
2989
+
2990
+
2991
+ @validate_call
2992
+ def get_function_details_without_preload_content(
2993
+ self,
2994
+ function_id: StrictInt,
2995
+ _request_timeout: Union[
2996
+ None,
2997
+ Annotated[StrictFloat, Field(gt=0)],
2998
+ Tuple[
2999
+ Annotated[StrictFloat, Field(gt=0)],
3000
+ Annotated[StrictFloat, Field(gt=0)]
3001
+ ]
3002
+ ] = None,
3003
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3004
+ _content_type: Optional[StrictStr] = None,
3005
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3006
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3007
+ ) -> RESTResponseType:
3008
+ """Get function details
3009
+
3010
+
3011
+ :param function_id: (required)
3012
+ :type function_id: int
3013
+ :param _request_timeout: timeout setting for this request. If one
3014
+ number provided, it will be total request
3015
+ timeout. It can also be a pair (tuple) of
3016
+ (connection, read) timeouts.
3017
+ :type _request_timeout: int, tuple(int, int), optional
3018
+ :param _request_auth: set to override the auth_settings for an a single
3019
+ request; this effectively ignores the
3020
+ authentication in the spec for a single request.
3021
+ :type _request_auth: dict, optional
3022
+ :param _content_type: force content-type for the request.
3023
+ :type _content_type: str, Optional
3024
+ :param _headers: set to override the headers for a single
3025
+ request; this effectively ignores the headers
3026
+ in the spec for a single request.
3027
+ :type _headers: dict, optional
3028
+ :param _host_index: set to override the host_index for a single
3029
+ request; this effectively ignores the host_index
3030
+ in the spec for a single request.
3031
+ :type _host_index: int, optional
3032
+ :return: Returns the result object.
3033
+ """ # noqa: E501
3034
+
3035
+ _param = self._get_function_details_serialize(
3036
+ function_id=function_id,
3037
+ _request_auth=_request_auth,
3038
+ _content_type=_content_type,
3039
+ _headers=_headers,
3040
+ _host_index=_host_index
3041
+ )
3042
+
3043
+ _response_types_map: Dict[str, Optional[str]] = {
3044
+ '200': "BaseResponseFunctionsDetailResponse",
3045
+ '422': "BaseResponse",
3046
+ }
3047
+ response_data = self.api_client.call_api(
3048
+ *_param,
3049
+ _request_timeout=_request_timeout
3050
+ )
3051
+ return response_data.response
3052
+
3053
+
3054
+ def _get_function_details_serialize(
3055
+ self,
3056
+ function_id,
3057
+ _request_auth,
3058
+ _content_type,
3059
+ _headers,
3060
+ _host_index,
3061
+ ) -> RequestSerialized:
3062
+
3063
+ _host = None
3064
+
3065
+ _collection_formats: Dict[str, str] = {
3066
+ }
3067
+
3068
+ _path_params: Dict[str, str] = {}
3069
+ _query_params: List[Tuple[str, str]] = []
3070
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3071
+ _form_params: List[Tuple[str, str]] = []
3072
+ _files: Dict[
3073
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
3074
+ ] = {}
3075
+ _body_params: Optional[bytes] = None
3076
+
3077
+ # process the path parameters
3078
+ if function_id is not None:
3079
+ _path_params['function_id'] = function_id
3080
+ # process the query parameters
3081
+ # process the header parameters
3082
+ # process the form parameters
3083
+ # process the body parameter
3084
+
3085
+
3086
+ # set the HTTP header `Accept`
3087
+ if 'Accept' not in _header_params:
3088
+ _header_params['Accept'] = self.api_client.select_header_accept(
3089
+ [
3090
+ 'application/json'
3091
+ ]
3092
+ )
3093
+
3094
+
3095
+ # authentication setting
3096
+ _auth_settings: List[str] = [
3097
+ 'APIKey'
3098
+ ]
3099
+
3100
+ return self.api_client.param_serialize(
3101
+ method='GET',
3102
+ resource_path='/v2/functions/{function_id}',
3103
+ path_params=_path_params,
3104
+ query_params=_query_params,
3105
+ header_params=_header_params,
3106
+ body=_body_params,
3107
+ post_params=_form_params,
3108
+ files=_files,
3109
+ auth_settings=_auth_settings,
3110
+ collection_formats=_collection_formats,
3111
+ _host=_host,
3112
+ _request_auth=_request_auth
3113
+ )
3114
+
3115
+
3116
+
3117
+
3118
+ @validate_call
3119
+ def get_function_strings(
3120
+ self,
3121
+ function_id: StrictInt,
3122
+ page: Annotated[Optional[Annotated[int, Field(le=100000, strict=True, ge=1)]], Field(description="The page number to retrieve.")] = None,
3123
+ page_size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="Number of items per page.")] = None,
3124
+ search: Annotated[Optional[StrictStr], Field(description="Search is applied to string value")] = None,
3125
+ _request_timeout: Union[
3126
+ None,
3127
+ Annotated[StrictFloat, Field(gt=0)],
3128
+ Tuple[
3129
+ Annotated[StrictFloat, Field(gt=0)],
3130
+ Annotated[StrictFloat, Field(gt=0)]
3131
+ ]
3132
+ ] = None,
3133
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3134
+ _content_type: Optional[StrictStr] = None,
3135
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3136
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3137
+ ) -> BaseResponseFunctionStringsResponse:
3138
+ """Get string information found in the function
3139
+
3140
+ Get string information found in the function
3141
+
3142
+ :param function_id: (required)
3143
+ :type function_id: int
3144
+ :param page: The page number to retrieve.
3145
+ :type page: int
3146
+ :param page_size: Number of items per page.
3147
+ :type page_size: int
3148
+ :param search: Search is applied to string value
3149
+ :type search: str
3150
+ :param _request_timeout: timeout setting for this request. If one
3151
+ number provided, it will be total request
3152
+ timeout. It can also be a pair (tuple) of
3153
+ (connection, read) timeouts.
3154
+ :type _request_timeout: int, tuple(int, int), optional
3155
+ :param _request_auth: set to override the auth_settings for an a single
3156
+ request; this effectively ignores the
3157
+ authentication in the spec for a single request.
3158
+ :type _request_auth: dict, optional
3159
+ :param _content_type: force content-type for the request.
3160
+ :type _content_type: str, Optional
3161
+ :param _headers: set to override the headers for a single
3162
+ request; this effectively ignores the headers
3163
+ in the spec for a single request.
3164
+ :type _headers: dict, optional
3165
+ :param _host_index: set to override the host_index for a single
3166
+ request; this effectively ignores the host_index
3167
+ in the spec for a single request.
3168
+ :type _host_index: int, optional
3169
+ :return: Returns the result object.
3170
+ """ # noqa: E501
3171
+
3172
+ _param = self._get_function_strings_serialize(
3173
+ function_id=function_id,
3174
+ page=page,
3175
+ page_size=page_size,
3176
+ search=search,
3177
+ _request_auth=_request_auth,
3178
+ _content_type=_content_type,
3179
+ _headers=_headers,
3180
+ _host_index=_host_index
3181
+ )
3182
+
3183
+ _response_types_map: Dict[str, Optional[str]] = {
3184
+ '200': "BaseResponseFunctionStringsResponse",
3185
+ '422': "BaseResponse",
3186
+ }
3187
+ response_data = self.api_client.call_api(
3188
+ *_param,
3189
+ _request_timeout=_request_timeout
3190
+ )
3191
+ response_data.read()
3192
+ return self.api_client.response_deserialize(
3193
+ response_data=response_data,
3194
+ response_types_map=_response_types_map,
3195
+ ).data
3196
+
3197
+
3198
+ @validate_call
3199
+ def get_function_strings_with_http_info(
3200
+ self,
3201
+ function_id: StrictInt,
3202
+ page: Annotated[Optional[Annotated[int, Field(le=100000, strict=True, ge=1)]], Field(description="The page number to retrieve.")] = None,
3203
+ page_size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="Number of items per page.")] = None,
3204
+ search: Annotated[Optional[StrictStr], Field(description="Search is applied to string value")] = None,
3205
+ _request_timeout: Union[
3206
+ None,
3207
+ Annotated[StrictFloat, Field(gt=0)],
3208
+ Tuple[
3209
+ Annotated[StrictFloat, Field(gt=0)],
3210
+ Annotated[StrictFloat, Field(gt=0)]
3211
+ ]
3212
+ ] = None,
3213
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3214
+ _content_type: Optional[StrictStr] = None,
3215
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3216
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3217
+ ) -> ApiResponse[BaseResponseFunctionStringsResponse]:
3218
+ """Get string information found in the function
3219
+
3220
+ Get string information found in the function
3221
+
3222
+ :param function_id: (required)
3223
+ :type function_id: int
3224
+ :param page: The page number to retrieve.
3225
+ :type page: int
3226
+ :param page_size: Number of items per page.
3227
+ :type page_size: int
3228
+ :param search: Search is applied to string value
3229
+ :type search: str
3230
+ :param _request_timeout: timeout setting for this request. If one
3231
+ number provided, it will be total request
3232
+ timeout. It can also be a pair (tuple) of
3233
+ (connection, read) timeouts.
3234
+ :type _request_timeout: int, tuple(int, int), optional
3235
+ :param _request_auth: set to override the auth_settings for an a single
3236
+ request; this effectively ignores the
3237
+ authentication in the spec for a single request.
3238
+ :type _request_auth: dict, optional
3239
+ :param _content_type: force content-type for the request.
3240
+ :type _content_type: str, Optional
3241
+ :param _headers: set to override the headers for a single
3242
+ request; this effectively ignores the headers
3243
+ in the spec for a single request.
3244
+ :type _headers: dict, optional
3245
+ :param _host_index: set to override the host_index for a single
3246
+ request; this effectively ignores the host_index
3247
+ in the spec for a single request.
3248
+ :type _host_index: int, optional
3249
+ :return: Returns the result object.
3250
+ """ # noqa: E501
3251
+
3252
+ _param = self._get_function_strings_serialize(
3253
+ function_id=function_id,
3254
+ page=page,
3255
+ page_size=page_size,
3256
+ search=search,
3257
+ _request_auth=_request_auth,
3258
+ _content_type=_content_type,
3259
+ _headers=_headers,
3260
+ _host_index=_host_index
3261
+ )
3262
+
3263
+ _response_types_map: Dict[str, Optional[str]] = {
3264
+ '200': "BaseResponseFunctionStringsResponse",
3265
+ '422': "BaseResponse",
3266
+ }
3267
+ response_data = self.api_client.call_api(
3268
+ *_param,
3269
+ _request_timeout=_request_timeout
3270
+ )
3271
+ response_data.read()
3272
+ return self.api_client.response_deserialize(
3273
+ response_data=response_data,
3274
+ response_types_map=_response_types_map,
3275
+ )
3276
+
3277
+
3278
+ @validate_call
3279
+ def get_function_strings_without_preload_content(
3280
+ self,
3281
+ function_id: StrictInt,
3282
+ page: Annotated[Optional[Annotated[int, Field(le=100000, strict=True, ge=1)]], Field(description="The page number to retrieve.")] = None,
3283
+ page_size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="Number of items per page.")] = None,
3284
+ search: Annotated[Optional[StrictStr], Field(description="Search is applied to string value")] = None,
3285
+ _request_timeout: Union[
3286
+ None,
3287
+ Annotated[StrictFloat, Field(gt=0)],
3288
+ Tuple[
3289
+ Annotated[StrictFloat, Field(gt=0)],
3290
+ Annotated[StrictFloat, Field(gt=0)]
3291
+ ]
3292
+ ] = None,
3293
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3294
+ _content_type: Optional[StrictStr] = None,
3295
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3296
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3297
+ ) -> RESTResponseType:
3298
+ """Get string information found in the function
3299
+
3300
+ Get string information found in the function
3301
+
3302
+ :param function_id: (required)
3303
+ :type function_id: int
3304
+ :param page: The page number to retrieve.
3305
+ :type page: int
3306
+ :param page_size: Number of items per page.
3307
+ :type page_size: int
3308
+ :param search: Search is applied to string value
3309
+ :type search: str
3310
+ :param _request_timeout: timeout setting for this request. If one
3311
+ number provided, it will be total request
3312
+ timeout. It can also be a pair (tuple) of
3313
+ (connection, read) timeouts.
3314
+ :type _request_timeout: int, tuple(int, int), optional
3315
+ :param _request_auth: set to override the auth_settings for an a single
3316
+ request; this effectively ignores the
3317
+ authentication in the spec for a single request.
3318
+ :type _request_auth: dict, optional
3319
+ :param _content_type: force content-type for the request.
3320
+ :type _content_type: str, Optional
3321
+ :param _headers: set to override the headers for a single
3322
+ request; this effectively ignores the headers
3323
+ in the spec for a single request.
3324
+ :type _headers: dict, optional
3325
+ :param _host_index: set to override the host_index for a single
3326
+ request; this effectively ignores the host_index
3327
+ in the spec for a single request.
3328
+ :type _host_index: int, optional
3329
+ :return: Returns the result object.
3330
+ """ # noqa: E501
3331
+
3332
+ _param = self._get_function_strings_serialize(
3333
+ function_id=function_id,
3334
+ page=page,
3335
+ page_size=page_size,
3336
+ search=search,
3337
+ _request_auth=_request_auth,
3338
+ _content_type=_content_type,
3339
+ _headers=_headers,
3340
+ _host_index=_host_index
3341
+ )
3342
+
3343
+ _response_types_map: Dict[str, Optional[str]] = {
3344
+ '200': "BaseResponseFunctionStringsResponse",
3345
+ '422': "BaseResponse",
3346
+ }
3347
+ response_data = self.api_client.call_api(
3348
+ *_param,
3349
+ _request_timeout=_request_timeout
3350
+ )
3351
+ return response_data.response
3352
+
3353
+
3354
+ def _get_function_strings_serialize(
3355
+ self,
3356
+ function_id,
3357
+ page,
3358
+ page_size,
3359
+ search,
3360
+ _request_auth,
3361
+ _content_type,
3362
+ _headers,
3363
+ _host_index,
3364
+ ) -> RequestSerialized:
3365
+
3366
+ _host = None
3367
+
3368
+ _collection_formats: Dict[str, str] = {
3369
+ }
3370
+
3371
+ _path_params: Dict[str, str] = {}
3372
+ _query_params: List[Tuple[str, str]] = []
3373
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3374
+ _form_params: List[Tuple[str, str]] = []
3375
+ _files: Dict[
3376
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
3377
+ ] = {}
3378
+ _body_params: Optional[bytes] = None
3379
+
3380
+ # process the path parameters
3381
+ if function_id is not None:
3382
+ _path_params['function_id'] = function_id
3383
+ # process the query parameters
3384
+ if page is not None:
3385
+
3386
+ _query_params.append(('page', page))
3387
+
3388
+ if page_size is not None:
3389
+
3390
+ _query_params.append(('page_size', page_size))
3391
+
3392
+ if search is not None:
3393
+
3394
+ _query_params.append(('search', search))
3395
+
3396
+ # process the header parameters
3397
+ # process the form parameters
3398
+ # process the body parameter
3399
+
3400
+
3401
+ # set the HTTP header `Accept`
3402
+ if 'Accept' not in _header_params:
3403
+ _header_params['Accept'] = self.api_client.select_header_accept(
3404
+ [
3405
+ 'application/json'
3406
+ ]
3407
+ )
3408
+
3409
+
3410
+ # authentication setting
3411
+ _auth_settings: List[str] = [
3412
+ 'APIKey'
3413
+ ]
3414
+
3415
+ return self.api_client.param_serialize(
3416
+ method='GET',
3417
+ resource_path='/v2/functions/{function_id}/strings',
3418
+ path_params=_path_params,
3419
+ query_params=_query_params,
3420
+ header_params=_header_params,
3421
+ body=_body_params,
3422
+ post_params=_form_params,
3423
+ files=_files,
3424
+ auth_settings=_auth_settings,
3425
+ collection_formats=_collection_formats,
3426
+ _host=_host,
3427
+ _request_auth=_request_auth
3428
+ )
3429
+
3430
+