crimson-falcon 0.5.0 → 1.0.1

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 (519) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2140 -1845
  3. data/lib/crimson-falcon/api/{alerts_api.rb → alerts.rb} +105 -39
  4. data/lib/crimson-falcon/api/{api_integrations_api.rb → api_integrations.rb} +12 -12
  5. data/lib/crimson-falcon/api/{aspm_api.rb → aspm.rb} +295 -96
  6. data/lib/crimson-falcon/api/{certificate_based_exclusions_api.rb → certificate_based_exclusions.rb} +25 -25
  7. data/lib/crimson-falcon/api/{default_api.rb → cloud_aws_registration.rb} +29 -29
  8. data/lib/crimson-falcon/api/cloud_azure_registration.rb +105 -0
  9. data/lib/crimson-falcon/api/{cloud_connect_aws_api.rb → cloud_connect_aws.rb} +35 -35
  10. data/lib/crimson-falcon/api/cloud_security_assets.rb +179 -0
  11. data/lib/crimson-falcon/api/{cloud_snapshots_api.rb → cloud_snapshots.rb} +22 -22
  12. data/lib/crimson-falcon/api/{compliance_assessments_api.rb → compliance_assessments.rb} +34 -34
  13. data/lib/crimson-falcon/api/{configuration_assessment_api.rb → configuration_assessment.rb} +11 -11
  14. data/lib/crimson-falcon/api/{configuration_assessment_evaluation_logic_api.rb → configuration_assessment_evaluation_logic.rb} +5 -5
  15. data/lib/crimson-falcon/api/{container_alerts_api.rb → container_alerts.rb} +20 -20
  16. data/lib/crimson-falcon/api/{container_detections_api.rb → container_detections.rb} +46 -46
  17. data/lib/crimson-falcon/api/{container_images_api.rb → container_images.rb} +116 -116
  18. data/lib/crimson-falcon/api/{container_packages_api.rb → container_packages.rb} +122 -52
  19. data/lib/crimson-falcon/api/{container_vulnerabilities_api.rb → container_vulnerabilities.rb} +93 -93
  20. data/lib/crimson-falcon/api/content_update_policies.rb +769 -0
  21. data/lib/crimson-falcon/api/correlation_rules.rb +505 -0
  22. data/lib/crimson-falcon/api/{cspg_iacapi_api.rb → cspg_iac.rb} +4 -4
  23. data/lib/crimson-falcon/api/{cspm_registration_api.rb → cspm_registration.rb} +473 -414
  24. data/lib/crimson-falcon/api/{custom_ioa_api.rb → custom_ioa.rb} +82 -82
  25. data/lib/crimson-falcon/api/{custom_storage_api.rb → custom_storage.rb} +136 -136
  26. data/lib/crimson-falcon/api/{d4c_registration_api.rb → d4c_registration.rb} +97 -178
  27. data/lib/crimson-falcon/api/{datascanner_api.rb → datascanner.rb} +13 -13
  28. data/lib/crimson-falcon/api/{delivery_settings_api.rb → delivery_settings.rb} +8 -8
  29. data/lib/crimson-falcon/api/deployments.rb +115 -0
  30. data/lib/crimson-falcon/api/{detects_api.rb → detects.rb} +18 -18
  31. data/lib/crimson-falcon/api/device_content.rb +176 -0
  32. data/lib/crimson-falcon/api/{device_control_policies_api.rb → device_control_policies.rb} +57 -57
  33. data/lib/crimson-falcon/api/{discover_api.rb → discover.rb} +119 -53
  34. data/lib/crimson-falcon/api/{discover_iot_api.rb → discover_iot.rb} +16 -16
  35. data/lib/crimson-falcon/api/downloads.rb +108 -0
  36. data/lib/crimson-falcon/api/{downloads_api_api.rb → downloads_api.rb} +4 -73
  37. data/lib/crimson-falcon/api/{drift_indicators_api.rb → drift_indicators.rb} +38 -38
  38. data/lib/crimson-falcon/api/{event_schema_api.rb → event_schema.rb} +10 -10
  39. data/lib/crimson-falcon/api/{event_streams_api.rb → event_streams.rb} +11 -11
  40. data/lib/crimson-falcon/api/{exposure_management_api.rb → exposure_management.rb} +47 -41
  41. data/lib/crimson-falcon/api/{falcon_complete_dashboard_api.rb → falcon_complete_dashboard.rb} +73 -73
  42. data/lib/crimson-falcon/api/{falcon_container_api.rb → falcon_container.rb} +4 -4
  43. data/lib/crimson-falcon/api/{falcon_container_cli_api.rb → falcon_container_cli.rb} +5 -5
  44. data/lib/crimson-falcon/api/{falcon_container_image_api.rb → falcon_container_image.rb} +46 -46
  45. data/lib/crimson-falcon/api/{falconx_sandbox_api.rb → falconx_sandbox.rb} +62 -62
  46. data/lib/crimson-falcon/api/{field_schema_api.rb → field_schema.rb} +7 -7
  47. data/lib/crimson-falcon/api/{filevantage_api.rb → filevantage.rb} +149 -149
  48. data/lib/crimson-falcon/api/{firewall_management_api.rb → firewall_management.rb} +138 -138
  49. data/lib/crimson-falcon/api/{firewall_policies_api.rb → firewall_policies.rb} +52 -52
  50. data/lib/crimson-falcon/api/{foundry_logscale_api.rb → foundry_logscale.rb} +65 -65
  51. data/lib/crimson-falcon/api/{handle_api.rb → handle.rb} +4 -4
  52. data/lib/crimson-falcon/api/{host_group_api.rb → host_group.rb} +46 -46
  53. data/lib/crimson-falcon/api/{host_migration_api.rb → host_migration.rb} +49 -49
  54. data/lib/crimson-falcon/api/{hosts_api.rb → hosts.rb} +50 -50
  55. data/lib/crimson-falcon/api/{humio_auth_proxy_api.rb → humio_auth_proxy.rb} +37 -37
  56. data/lib/crimson-falcon/api/{identity_entities_api.rb → identity_entities.rb} +12 -12
  57. data/lib/crimson-falcon/api/{identity_protection_api.rb → identity_protection.rb} +28 -28
  58. data/lib/crimson-falcon/api/{image_assessment_policies_api.rb → image_assessment_policies.rb} +44 -44
  59. data/lib/crimson-falcon/api/{incidents_api.rb → incidents.rb} +22 -22
  60. data/lib/crimson-falcon/api/{installation_tokens_api.rb → installation_tokens.rb} +29 -29
  61. data/lib/crimson-falcon/api/{installation_tokens_settings_api.rb → installation_tokens_settings.rb} +5 -5
  62. data/lib/crimson-falcon/api/{intel_api.rb → intel.rb} +85 -85
  63. data/lib/crimson-falcon/api/intelligence_indicator_graph.rb +118 -0
  64. data/lib/crimson-falcon/api/{ioa_exclusions_api.rb → ioa_exclusions.rb} +20 -20
  65. data/lib/crimson-falcon/api/{ioc_api.rb → ioc.rb} +61 -61
  66. data/lib/crimson-falcon/api/{iocs_api.rb → iocs.rb} +21 -21
  67. data/lib/crimson-falcon/api/{kubernetes_protection_api.rb → kubernetes_protection.rb} +370 -370
  68. data/lib/crimson-falcon/api/lookup_files.rb +239 -0
  69. data/lib/crimson-falcon/api/{malquery_api.rb → malquery.rb} +36 -36
  70. data/lib/crimson-falcon/api/{message_center_api.rb → message_center.rb} +42 -42
  71. data/lib/crimson-falcon/api/{ml_exclusions_api.rb → ml_exclusions.rb} +20 -20
  72. data/lib/crimson-falcon/api/{mobile_enrollment_api.rb → mobile_enrollment.rb} +9 -9
  73. data/lib/crimson-falcon/api/{mssp_api.rb → mssp.rb} +117 -117
  74. data/lib/crimson-falcon/api/{oauth2_api.rb → oauth2.rb} +10 -10
  75. data/lib/crimson-falcon/api/{ods_api.rb → ods.rb} +61 -61
  76. data/lib/crimson-falcon/api/{overwatch_dashboard_api.rb → overwatch_dashboard.rb} +21 -21
  77. data/lib/crimson-falcon/api/{prevention_policies_api.rb → prevention_policies.rb} +50 -50
  78. data/lib/crimson-falcon/api/{quarantine_api.rb → quarantine.rb} +24 -24
  79. data/lib/crimson-falcon/api/{quick_scan_api.rb → quick_scan.rb} +16 -16
  80. data/lib/crimson-falcon/api/{quick_scan_pro_api.rb → quick_scan_pro.rb} +25 -25
  81. data/lib/crimson-falcon/api/{real_time_response_api.rb → real_time_response.rb} +98 -98
  82. data/lib/crimson-falcon/api/{real_time_response_admin_api.rb → real_time_response_admin.rb} +72 -72
  83. data/lib/crimson-falcon/api/{real_time_response_audit_api.rb → real_time_response_audit.rb} +4 -4
  84. data/lib/crimson-falcon/api/{recon_api.rb → recon.rb} +109 -109
  85. data/lib/crimson-falcon/api/release_notes.rb +287 -0
  86. data/lib/crimson-falcon/api/releases.rb +125 -0
  87. data/lib/crimson-falcon/api/{report_executions_api.rb → report_executions.rb} +16 -16
  88. data/lib/crimson-falcon/api/{response_policies_api.rb → response_policies.rb} +50 -50
  89. data/lib/crimson-falcon/api/{runtime_detections_api.rb → runtime_detections.rb} +13 -13
  90. data/lib/crimson-falcon/api/{sample_uploads_api.rb → sample_uploads.rb} +49 -49
  91. data/lib/crimson-falcon/api/{scheduled_reports_api.rb → scheduled_reports.rb} +12 -12
  92. data/lib/crimson-falcon/api/{sensor_download_api.rb → sensor_download.rb} +32 -32
  93. data/lib/crimson-falcon/api/{sensor_update_policies_api.rb → sensor_update_policies.rb} +88 -88
  94. data/lib/crimson-falcon/api/{sensor_usage_api_api.rb → sensor_usage.rb} +4 -4
  95. data/lib/crimson-falcon/api/{sensor_visibility_exclusions_api.rb → sensor_visibility_exclusions.rb} +20 -20
  96. data/lib/crimson-falcon/api/{spotlight_evaluation_logic_api.rb → spotlight_evaluation_logic.rb} +13 -13
  97. data/lib/crimson-falcon/api/{spotlight_vulnerabilities_api.rb → spotlight_vulnerabilities.rb} +27 -27
  98. data/lib/crimson-falcon/api/{threatgraph_api.rb → threatgraph.rb} +42 -42
  99. data/lib/crimson-falcon/api/{unidentified_containers_api.rb → unidentified_containers.rb} +23 -23
  100. data/lib/crimson-falcon/api/{user_management_api.rb → user_management.rb} +94 -94
  101. data/lib/crimson-falcon/api/vulnerabilities.rb +106 -0
  102. data/lib/crimson-falcon/api/{workflows_api.rb → workflows.rb} +76 -76
  103. data/lib/crimson-falcon/api/{zero_trust_assessment_api.rb → zero_trust_assessment.rb} +12 -12
  104. data/lib/crimson-falcon/models/api_create_rule_operation_v1.rb +257 -0
  105. data/lib/crimson-falcon/models/api_get_entities_rules_response_v1.rb +266 -0
  106. data/lib/crimson-falcon/models/api_patch_rule_operation_v1.rb +257 -0
  107. data/lib/crimson-falcon/models/api_patch_rule_search_v1.rb +261 -0
  108. data/lib/crimson-falcon/models/api_rule_create_request_v1.rb +354 -0
  109. data/lib/crimson-falcon/models/api_rule_operation_v1.rb +266 -0
  110. data/lib/crimson-falcon/models/api_rule_patch_request_v1.rb +311 -0
  111. data/lib/crimson-falcon/models/api_rule_schedule_v1.rb +239 -0
  112. data/lib/crimson-falcon/models/api_rule_schedule_v1_patch.rb +239 -0
  113. data/lib/crimson-falcon/models/api_rule_search_v1.rb +276 -0
  114. data/lib/crimson-falcon/models/api_rule_v1.rb +132 -203
  115. data/lib/crimson-falcon/models/apidomain_saved_search_execute_request_v1.rb +1 -89
  116. data/lib/crimson-falcon/models/assets_get_resource_ids_response.rb +261 -0
  117. data/lib/crimson-falcon/models/assets_get_resources_response.rb +266 -0
  118. data/lib/crimson-falcon/models/base_set_content_update_policy_precedence_req_v1.rb +242 -0
  119. data/lib/crimson-falcon/models/content_update_create_policies_req_v1.rb +241 -0
  120. data/lib/crimson-falcon/models/content_update_create_policy_req_v1.rb +259 -0
  121. data/lib/crimson-falcon/models/content_update_ring_assignment_settings_v1.rb +253 -0
  122. data/lib/crimson-falcon/models/content_update_settings_v1.rb +241 -0
  123. data/lib/crimson-falcon/models/content_update_update_policies_req_v1.rb +241 -0
  124. data/lib/crimson-falcon/models/content_update_update_policy_req_v1.rb +269 -0
  125. data/lib/crimson-falcon/models/dataclassifications_label.rb +267 -0
  126. data/lib/crimson-falcon/models/dataclassifications_response.rb +284 -0
  127. data/lib/crimson-falcon/models/dataclassifications_tag.rb +283 -0
  128. data/lib/crimson-falcon/models/deployments_api_deployment_ring_view.rb +302 -0
  129. data/lib/crimson-falcon/models/deployments_api_deployment_view.rb +309 -0
  130. data/lib/crimson-falcon/models/deployments_api_deployment_view_wrapper.rb +271 -0
  131. data/lib/crimson-falcon/models/detectsapi_post_combined_alerts_v1_meta.rb +271 -0
  132. data/lib/crimson-falcon/models/detectsapi_post_combined_alerts_v1_paging.rb +262 -0
  133. data/lib/crimson-falcon/models/detectsapi_post_combined_alerts_v1_request_swagger.rb +261 -0
  134. data/lib/crimson-falcon/models/detectsapi_post_combined_alerts_v1_response_swagger.rb +272 -0
  135. data/lib/crimson-falcon/models/device_control_usb_class_exceptions_req_v1.rb +3 -3
  136. data/lib/crimson-falcon/models/device_control_usb_class_exceptions_response.rb +3 -3
  137. data/lib/crimson-falcon/models/devicecontent_content_category.rb +234 -0
  138. data/lib/crimson-falcon/models/devicecontent_state.rb +345 -0
  139. data/lib/crimson-falcon/models/devicecontentapi_entities_response_v1.rb +271 -0
  140. data/lib/crimson-falcon/models/devicecontentapi_query_response_v1.rb +271 -0
  141. data/lib/crimson-falcon/models/domain_aws_account_resource_metadata.rb +66 -1
  142. data/lib/crimson-falcon/models/domain_benchmark.rb +12 -1
  143. data/lib/crimson-falcon/models/domain_content_update_policy_resp_v1.rb +474 -0
  144. data/lib/crimson-falcon/models/domain_content_update_settings_v1.rb +241 -0
  145. data/lib/crimson-falcon/models/domain_discover_api_active_discovery_host.rb +21 -1
  146. data/lib/crimson-falcon/models/domain_discover_api_application_host.rb +13 -1
  147. data/lib/crimson-falcon/models/domain_discover_api_host.rb +33 -1
  148. data/lib/crimson-falcon/models/domain_discover_apiio_t_host.rb +33 -1
  149. data/lib/crimson-falcon/models/domain_kestrel_params.rb +239 -0
  150. data/lib/crimson-falcon/models/domain_lookup_file.rb +453 -0
  151. data/lib/crimson-falcon/models/domain_lookup_file_wrapper.rb +271 -0
  152. data/lib/crimson-falcon/models/domain_malicious_file.rb +1 -1
  153. data/lib/crimson-falcon/models/domain_report_metadata.rb +10 -1
  154. data/lib/crimson-falcon/models/domain_ring_assignment_settings_v1.rb +267 -0
  155. data/lib/crimson-falcon/models/domain_scheduled_report_v1.rb +15 -1
  156. data/lib/crimson-falcon/models/domain_update_rule_request_v1.rb +18 -1
  157. data/lib/crimson-falcon/models/figapi_adversary.rb +235 -0
  158. data/lib/crimson-falcon/models/figapi_country.rb +245 -0
  159. data/lib/crimson-falcon/models/figapi_domain.rb +345 -0
  160. data/lib/crimson-falcon/models/figapi_email_address.rb +252 -0
  161. data/lib/crimson-falcon/models/figapi_file.rb +299 -0
  162. data/lib/crimson-falcon/models/figapi_indicator.rb +458 -0
  163. data/lib/crimson-falcon/models/figapi_ipv4.rb +269 -0
  164. data/lib/crimson-falcon/models/figapi_ipv6.rb +269 -0
  165. data/lib/crimson-falcon/models/figapi_mx_record.rb +284 -0
  166. data/lib/crimson-falcon/models/figapi_name_server.rb +254 -0
  167. data/lib/crimson-falcon/models/figapi_report.rb +235 -0
  168. data/lib/crimson-falcon/models/figapi_sector.rb +245 -0
  169. data/lib/crimson-falcon/models/figapi_threat.rb +235 -0
  170. data/lib/crimson-falcon/models/figapi_url.rb +247 -0
  171. data/lib/crimson-falcon/models/figapi_vulnerability.rb +374 -0
  172. data/lib/crimson-falcon/models/figapi_who_is.rb +261 -0
  173. data/lib/crimson-falcon/models/figapi_whois_record.rb +306 -0
  174. data/lib/crimson-falcon/models/figapi_x509_certificate.rb +297 -0
  175. data/lib/crimson-falcon/models/graph_condition.rb +2 -12
  176. data/lib/crimson-falcon/models/help.rb +239 -0
  177. data/lib/crimson-falcon/models/ingestion_cve_exploit_reference.rb +267 -0
  178. data/lib/crimson-falcon/models/ingestion_cve_exploit_source.rb +283 -0
  179. data/lib/crimson-falcon/models/ingestion_ex_prt_rating_factors.rb +281 -0
  180. data/lib/crimson-falcon/models/ingestion_reference.rb +255 -0
  181. data/lib/crimson-falcon/models/inventoryapi_surface_error.rb +260 -0
  182. data/lib/crimson-falcon/models/{client_fql_statement.rb → inventoryapi_user_external_asset.rb} +16 -28
  183. data/lib/crimson-falcon/models/inventoryapi_user_external_asset_create.rb +257 -0
  184. data/lib/crimson-falcon/models/inventoryapi_user_external_asset_create_request_v1.rb +242 -0
  185. data/lib/crimson-falcon/models/inventoryapi_user_external_asset_create_response_v1.rb +266 -0
  186. data/lib/crimson-falcon/models/inventoryapi_user_external_asset_result.rb +322 -0
  187. data/lib/crimson-falcon/models/inventoryapidomain_subsidiary.rb +245 -0
  188. data/lib/crimson-falcon/models/jsonschema_pivot.rb +19 -1
  189. data/lib/crimson-falcon/models/jsonschema_signals_extensions.rb +22 -4
  190. data/lib/crimson-falcon/models/jsonschema_ui_extensions.rb +34 -4
  191. data/lib/crimson-falcon/models/models_api_customer_and_image.rb +15 -1
  192. data/lib/crimson-falcon/models/models_api_image_combined_export.rb +26 -1
  193. data/lib/crimson-falcon/models/models_api_package_combined.rb +15 -1
  194. data/lib/crimson-falcon/models/models_api_package_combined_v2.rb +381 -0
  195. data/lib/crimson-falcon/models/models_api_vulnerability_combined.rb +15 -1
  196. data/lib/crimson-falcon/models/models_application_library.rb +13 -4
  197. data/lib/crimson-falcon/models/models_container.rb +15 -1
  198. data/lib/crimson-falcon/models/models_detection.rb +1 -1
  199. data/lib/crimson-falcon/models/models_elf_binary.rb +1 -1
  200. data/lib/crimson-falcon/models/models_ext_api_image_combined.rb +15 -1
  201. data/lib/crimson-falcon/models/models_message.rb +239 -0
  202. data/lib/crimson-falcon/models/models_partial_fingerprints.rb +239 -0
  203. data/lib/crimson-falcon/models/models_result.rb +339 -0
  204. data/lib/crimson-falcon/models/models_result_location.rb +253 -0
  205. data/lib/crimson-falcon/models/models_result_location_properties.rb +253 -0
  206. data/lib/crimson-falcon/models/models_result_physical_location.rb +253 -0
  207. data/lib/crimson-falcon/models/models_result_physical_location_artifact_location.rb +239 -0
  208. data/lib/crimson-falcon/models/models_result_physical_location_region.rb +239 -0
  209. data/lib/crimson-falcon/models/models_result_properties.rb +365 -0
  210. data/lib/crimson-falcon/models/models_rule.rb +337 -0
  211. data/lib/crimson-falcon/models/models_rule_default_configuration.rb +239 -0
  212. data/lib/crimson-falcon/models/models_rule_properties.rb +669 -0
  213. data/lib/crimson-falcon/models/models_run.rb +255 -0
  214. data/lib/crimson-falcon/models/models_run_tool.rb +239 -0
  215. data/lib/crimson-falcon/models/models_run_tool_driver.rb +283 -0
  216. data/lib/crimson-falcon/models/models_vulnerability_sarif.rb +269 -0
  217. data/lib/crimson-falcon/models/packages_api_combined_package_v2.rb +266 -0
  218. data/lib/crimson-falcon/models/policyframework_benchmark.rb +253 -0
  219. data/lib/crimson-falcon/models/policyframework_control.rb +290 -0
  220. data/lib/crimson-falcon/models/quickscanpro_query_scan_results_response.rb +10 -1
  221. data/lib/crimson-falcon/models/registration_aws_account_ext_v2.rb +19 -1
  222. data/lib/crimson-falcon/models/registration_aws_account_patch.rb +19 -1
  223. data/lib/crimson-falcon/models/registration_aws_account_response_v2.rb +0 -5
  224. data/lib/crimson-falcon/models/registration_azure_download_certificate_response_v1.rb +0 -5
  225. data/lib/crimson-falcon/models/registration_iom_event_v2.rb +12 -1
  226. data/lib/crimson-falcon/models/releasecontents_release_content.rb +327 -0
  227. data/lib/crimson-falcon/models/releasecontents_release_content_version.rb +267 -0
  228. data/lib/crimson-falcon/models/releasenotes_entities_get_request.rb +241 -0
  229. data/lib/crimson-falcon/models/releasenotes_entities_get_response_wrapper.rb +269 -0
  230. data/lib/crimson-falcon/models/releasenotes_note_detail.rb +270 -0
  231. data/lib/crimson-falcon/models/releasenotes_release_note_v1.rb +303 -0
  232. data/lib/crimson-falcon/models/releasenotes_release_note_wrapper_v1.rb +271 -0
  233. data/lib/crimson-falcon/models/releases_release.rb +328 -0
  234. data/lib/crimson-falcon/models/releases_release_wrapper.rb +271 -0
  235. data/lib/crimson-falcon/models/resources_app.rb +243 -0
  236. data/lib/crimson-falcon/models/resources_asset_graph.rb +243 -0
  237. data/lib/crimson-falcon/models/resources_cloud_context.rb +378 -0
  238. data/lib/crimson-falcon/models/resources_cloud_resource.rb +604 -0
  239. data/lib/crimson-falcon/models/resources_compliance.rb +307 -0
  240. data/lib/crimson-falcon/models/resources_detections.rb +291 -0
  241. data/lib/crimson-falcon/models/resources_host.rb +390 -0
  242. data/lib/crimson-falcon/models/resources_relationship.rb +261 -0
  243. data/lib/crimson-falcon/models/resources_vulnerability.rb +262 -0
  244. data/lib/crimson-falcon/models/rest_azure_download_script_request_data.rb +239 -0
  245. data/lib/crimson-falcon/models/rest_azure_download_script_request_v1.rb +241 -0
  246. data/lib/crimson-falcon/models/rest_azure_provision_get_account_script_response_v1.rb +266 -0
  247. data/lib/crimson-falcon/models/rest_azure_script.rb +276 -0
  248. data/lib/crimson-falcon/models/rest_cursor_and_limit_meta_info.rb +289 -0
  249. data/lib/crimson-falcon/models/rest_cursor_meta_info.rb +280 -0
  250. data/lib/crimson-falcon/models/rest_cursor_response_fields.rb +250 -0
  251. data/lib/crimson-falcon/models/rest_paging.rb +262 -0
  252. data/lib/crimson-falcon/models/restapi_indicator_response.rb +271 -0
  253. data/lib/crimson-falcon/models/restapi_indicators_query_request.rb +255 -0
  254. data/lib/crimson-falcon/models/restapi_indicators_query_sort_request.rb +267 -0
  255. data/lib/crimson-falcon/models/sadomain_typosquatting_base_domain.rb +19 -1
  256. data/lib/crimson-falcon/models/sadomain_typosquatting_subdomain.rb +1 -15
  257. data/lib/crimson-falcon/models/string_wrapper.rb +266 -0
  258. data/lib/crimson-falcon/models/types_artifact.rb +1 -1
  259. data/lib/crimson-falcon/models/types_get_executor_nodes_metadata_response.rb +278 -0
  260. data/lib/crimson-falcon/models/types_get_integration_tasks_metadata_response.rb +267 -0
  261. data/lib/crimson-falcon/models/v2_for_loop.rb +10 -1
  262. data/lib/crimson-falcon/models/vulnerabilities_vulnerability_entity_sarif_response.rb +266 -0
  263. data/lib/crimson-falcon/version.rb +2 -2
  264. data/lib/crimson-falcon.rb +223 -90
  265. data/spec/api/{alerts_api_spec.rb → alerts_spec.rb} +21 -10
  266. data/spec/api/{api_integrations_api_spec.rb → api_integrations_spec.rb} +8 -8
  267. data/spec/api/{aspm_api_spec.rb → aspm_spec.rb} +51 -8
  268. data/spec/api/{certificate_based_exclusions_api_spec.rb → certificate_based_exclusions_spec.rb} +8 -8
  269. data/spec/api/{default_api_spec.rb → cloud_aws_registration_spec.rb} +8 -8
  270. data/spec/api/cloud_azure_registration_spec.rb +63 -0
  271. data/spec/api/{cloud_connect_aws_api_spec.rb → cloud_connect_aws_spec.rb} +8 -8
  272. data/spec/api/cloud_security_assets_spec.rb +78 -0
  273. data/spec/api/{cloud_snapshots_api_spec.rb → cloud_snapshots_spec.rb} +8 -8
  274. data/spec/api/{compliance_assessments_api_spec.rb → compliance_assessments_spec.rb} +8 -8
  275. data/spec/api/{configuration_assessment_evaluation_logic_api_spec.rb → configuration_assessment_evaluation_logic_spec.rb} +8 -8
  276. data/spec/api/{configuration_assessment_api_spec.rb → configuration_assessment_spec.rb} +8 -8
  277. data/spec/api/{container_alerts_api_spec.rb → container_alerts_spec.rb} +12 -12
  278. data/spec/api/{container_detections_api_spec.rb → container_detections_spec.rb} +18 -18
  279. data/spec/api/{container_images_api_spec.rb → container_images_spec.rb} +38 -38
  280. data/spec/api/{container_packages_api_spec.rb → container_packages_spec.rb} +36 -21
  281. data/spec/api/{container_vulnerabilities_api_spec.rb → container_vulnerabilities_spec.rb} +28 -28
  282. data/spec/api/content_update_policies_spec.rb +177 -0
  283. data/spec/api/correlation_rules_spec.rb +137 -0
  284. data/spec/api/{cspg_iacapi_api_spec.rb → cspg_iac_spec.rb} +8 -8
  285. data/spec/api/{cspm_registration_api_spec.rb → cspm_registration_spec.rb} +94 -84
  286. data/spec/api/{custom_ioa_api_spec.rb → custom_ioa_spec.rb} +12 -12
  287. data/spec/api/{custom_storage_api_spec.rb → custom_storage_spec.rb} +8 -8
  288. data/spec/api/{d4c_registration_api_spec.rb → d4c_registration_spec.rb} +9 -22
  289. data/spec/api/{datascanner_api_spec.rb → datascanner_spec.rb} +8 -8
  290. data/spec/api/{delivery_settings_api_spec.rb → delivery_settings_spec.rb} +8 -8
  291. data/spec/api/deployments_spec.rb +65 -0
  292. data/spec/api/{detects_api_spec.rb → detects_spec.rb} +8 -8
  293. data/spec/api/device_content_spec.rb +77 -0
  294. data/spec/api/{device_control_policies_api_spec.rb → device_control_policies_spec.rb} +8 -8
  295. data/spec/api/{discover_iot_api_spec.rb → discover_iot_spec.rb} +8 -8
  296. data/spec/api/{discover_api_spec.rb → discover_spec.rb} +19 -8
  297. data/spec/api/{downloads_api_api_spec.rb → downloads_spec.rb} +8 -20
  298. data/spec/api/{drift_indicators_api_spec.rb → drift_indicators_spec.rb} +16 -16
  299. data/spec/api/{event_schema_api_spec.rb → event_schema_spec.rb} +8 -8
  300. data/spec/api/{event_streams_api_spec.rb → event_streams_spec.rb} +8 -8
  301. data/spec/api/{exposure_management_api_spec.rb → exposure_management_spec.rb} +10 -8
  302. data/spec/api/{falcon_complete_dashboard_api_spec.rb → falcon_complete_dashboard_spec.rb} +8 -8
  303. data/spec/api/{falcon_container_cli_api_spec.rb → falcon_container_cli_spec.rb} +8 -8
  304. data/spec/api/{falcon_container_image_api_spec.rb → falcon_container_image_spec.rb} +13 -13
  305. data/spec/api/{falcon_container_api_spec.rb → falcon_container_spec.rb} +8 -8
  306. data/spec/api/{falconx_sandbox_api_spec.rb → falconx_sandbox_spec.rb} +8 -8
  307. data/spec/api/{field_schema_api_spec.rb → field_schema_spec.rb} +8 -8
  308. data/spec/api/{filevantage_api_spec.rb → filevantage_spec.rb} +14 -14
  309. data/spec/api/{firewall_management_api_spec.rb → firewall_management_spec.rb} +16 -16
  310. data/spec/api/{firewall_policies_api_spec.rb → firewall_policies_spec.rb} +8 -8
  311. data/spec/api/{foundry_logscale_api_spec.rb → foundry_logscale_spec.rb} +8 -8
  312. data/spec/api/{handle_api_spec.rb → handle_spec.rb} +8 -8
  313. data/spec/api/{host_group_api_spec.rb → host_group_spec.rb} +8 -8
  314. data/spec/api/{host_migration_api_spec.rb → host_migration_spec.rb} +10 -10
  315. data/spec/api/{hosts_api_spec.rb → hosts_spec.rb} +8 -8
  316. data/spec/api/{humio_auth_proxy_api_spec.rb → humio_auth_proxy_spec.rb} +8 -8
  317. data/spec/api/{identity_entities_api_spec.rb → identity_entities_spec.rb} +8 -8
  318. data/spec/api/{identity_protection_api_spec.rb → identity_protection_spec.rb} +8 -8
  319. data/spec/api/{image_assessment_policies_api_spec.rb → image_assessment_policies_spec.rb} +8 -8
  320. data/spec/api/{incidents_api_spec.rb → incidents_spec.rb} +8 -8
  321. data/spec/api/{installation_tokens_settings_api_spec.rb → installation_tokens_settings_spec.rb} +8 -8
  322. data/spec/api/{installation_tokens_api_spec.rb → installation_tokens_spec.rb} +8 -8
  323. data/spec/api/{intel_api_spec.rb → intel_spec.rb} +8 -8
  324. data/spec/api/intelligence_indicator_graph_spec.rb +66 -0
  325. data/spec/api/{ioa_exclusions_api_spec.rb → ioa_exclusions_spec.rb} +8 -8
  326. data/spec/api/{ioc_api_spec.rb → ioc_spec.rb} +8 -8
  327. data/spec/api/{iocs_api_spec.rb → iocs_spec.rb} +8 -8
  328. data/spec/api/{kubernetes_protection_api_spec.rb → kubernetes_protection_spec.rb} +66 -66
  329. data/spec/api/lookup_files_spec.rb +80 -0
  330. data/spec/api/{malquery_api_spec.rb → malquery_spec.rb} +8 -8
  331. data/spec/api/{message_center_api_spec.rb → message_center_spec.rb} +8 -8
  332. data/spec/api/{ml_exclusions_api_spec.rb → ml_exclusions_spec.rb} +8 -8
  333. data/spec/api/{mobile_enrollment_api_spec.rb → mobile_enrollment_spec.rb} +8 -8
  334. data/spec/api/{mssp_api_spec.rb → mssp_spec.rb} +8 -8
  335. data/spec/api/{oauth2_api_spec.rb → oauth2_spec.rb} +8 -8
  336. data/spec/api/{ods_api_spec.rb → ods_spec.rb} +8 -8
  337. data/spec/api/{overwatch_dashboard_api_spec.rb → overwatch_dashboard_spec.rb} +8 -8
  338. data/spec/api/{prevention_policies_api_spec.rb → prevention_policies_spec.rb} +8 -8
  339. data/spec/api/{quarantine_api_spec.rb → quarantine_spec.rb} +8 -8
  340. data/spec/api/{quick_scan_pro_api_spec.rb → quick_scan_pro_spec.rb} +8 -8
  341. data/spec/api/{quick_scan_api_spec.rb → quick_scan_spec.rb} +8 -8
  342. data/spec/api/{real_time_response_admin_api_spec.rb → real_time_response_admin_spec.rb} +8 -8
  343. data/spec/api/{real_time_response_audit_api_spec.rb → real_time_response_audit_spec.rb} +8 -8
  344. data/spec/api/{real_time_response_api_spec.rb → real_time_response_spec.rb} +8 -8
  345. data/spec/api/{recon_api_spec.rb → recon_spec.rb} +8 -8
  346. data/spec/api/release_notes_spec.rb +97 -0
  347. data/spec/api/releases_spec.rb +68 -0
  348. data/spec/api/{report_executions_api_spec.rb → report_executions_spec.rb} +8 -8
  349. data/spec/api/{response_policies_api_spec.rb → response_policies_spec.rb} +8 -8
  350. data/spec/api/{runtime_detections_api_spec.rb → runtime_detections_spec.rb} +11 -11
  351. data/spec/api/{sample_uploads_api_spec.rb → sample_uploads_spec.rb} +8 -8
  352. data/spec/api/{scheduled_reports_api_spec.rb → scheduled_reports_spec.rb} +8 -8
  353. data/spec/api/{sensor_download_api_spec.rb → sensor_download_spec.rb} +8 -8
  354. data/spec/api/{sensor_update_policies_api_spec.rb → sensor_update_policies_spec.rb} +8 -8
  355. data/spec/api/{sensor_usage_api_api_spec.rb → sensor_usage_spec.rb} +8 -8
  356. data/spec/api/{sensor_visibility_exclusions_api_spec.rb → sensor_visibility_exclusions_spec.rb} +8 -8
  357. data/spec/api/{spotlight_evaluation_logic_api_spec.rb → spotlight_evaluation_logic_spec.rb} +8 -8
  358. data/spec/api/{spotlight_vulnerabilities_api_spec.rb → spotlight_vulnerabilities_spec.rb} +12 -12
  359. data/spec/api/{threatgraph_api_spec.rb → threatgraph_spec.rb} +8 -8
  360. data/spec/api/{unidentified_containers_api_spec.rb → unidentified_containers_spec.rb} +13 -13
  361. data/spec/api/{user_management_api_spec.rb → user_management_spec.rb} +8 -8
  362. data/spec/api/vulnerabilities_spec.rb +66 -0
  363. data/spec/api/{workflows_api_spec.rb → workflows_spec.rb} +8 -8
  364. data/spec/api/{zero_trust_assessment_api_spec.rb → zero_trust_assessment_spec.rb} +8 -8
  365. data/spec/models/api_create_rule_operation_v1_spec.rb +63 -0
  366. data/spec/models/api_get_entities_rules_response_v1_spec.rb +63 -0
  367. data/spec/models/api_patch_rule_operation_v1_spec.rb +63 -0
  368. data/spec/models/api_patch_rule_search_v1_spec.rb +69 -0
  369. data/spec/models/api_rule_create_request_v1_spec.rb +111 -0
  370. data/spec/models/api_rule_operation_v1_spec.rb +69 -0
  371. data/spec/models/api_rule_patch_request_v1_spec.rb +99 -0
  372. data/spec/models/api_rule_schedule_v1_patch_spec.rb +51 -0
  373. data/spec/models/api_rule_schedule_v1_spec.rb +51 -0
  374. data/spec/models/api_rule_search_v1_spec.rb +69 -0
  375. data/spec/models/api_rule_v1_spec.rb +16 -34
  376. data/spec/models/apidomain_saved_search_execute_request_v1_spec.rb +0 -36
  377. data/spec/models/assets_get_resource_ids_response_spec.rb +63 -0
  378. data/spec/models/assets_get_resources_response_spec.rb +63 -0
  379. data/spec/models/base_set_content_update_policy_precedence_req_v1_spec.rb +51 -0
  380. data/spec/models/content_update_create_policies_req_v1_spec.rb +51 -0
  381. data/spec/models/content_update_create_policy_req_v1_spec.rb +63 -0
  382. data/spec/models/content_update_ring_assignment_settings_v1_spec.rb +57 -0
  383. data/spec/models/content_update_settings_v1_spec.rb +51 -0
  384. data/spec/models/content_update_update_policies_req_v1_spec.rb +51 -0
  385. data/spec/models/content_update_update_policy_req_v1_spec.rb +69 -0
  386. data/spec/models/dataclassifications_label_spec.rb +63 -0
  387. data/spec/models/dataclassifications_response_spec.rb +75 -0
  388. data/spec/models/dataclassifications_tag_spec.rb +69 -0
  389. data/spec/models/deployments_api_deployment_ring_view_spec.rb +87 -0
  390. data/spec/models/deployments_api_deployment_view_spec.rb +93 -0
  391. data/spec/models/deployments_api_deployment_view_wrapper_spec.rb +63 -0
  392. data/spec/models/detectsapi_post_combined_alerts_v1_meta_spec.rb +69 -0
  393. data/spec/models/detectsapi_post_combined_alerts_v1_paging_spec.rb +63 -0
  394. data/spec/models/detectsapi_post_combined_alerts_v1_request_swagger_spec.rb +69 -0
  395. data/spec/models/detectsapi_post_combined_alerts_v1_response_swagger_spec.rb +63 -0
  396. data/spec/models/device_control_usb_class_exceptions_req_v1_spec.rb +1 -1
  397. data/spec/models/device_control_usb_class_exceptions_response_spec.rb +1 -1
  398. data/spec/models/devicecontent_content_category_spec.rb +51 -0
  399. data/spec/models/devicecontent_state_spec.rb +117 -0
  400. data/spec/models/devicecontentapi_entities_response_v1_spec.rb +63 -0
  401. data/spec/models/devicecontentapi_query_response_v1_spec.rb +63 -0
  402. data/spec/models/domain_aws_account_resource_metadata_spec.rb +30 -0
  403. data/spec/models/domain_benchmark_spec.rb +6 -0
  404. data/spec/models/domain_content_update_policy_resp_v1_spec.rb +153 -0
  405. data/spec/models/domain_content_update_settings_v1_spec.rb +51 -0
  406. data/spec/models/domain_discover_api_active_discovery_host_spec.rb +12 -0
  407. data/spec/models/domain_discover_api_application_host_spec.rb +6 -0
  408. data/spec/models/domain_discover_api_host_spec.rb +18 -0
  409. data/spec/models/domain_discover_apiio_t_host_spec.rb +18 -0
  410. data/spec/models/domain_kestrel_params_spec.rb +51 -0
  411. data/spec/models/domain_lookup_file_spec.rb +147 -0
  412. data/spec/models/domain_lookup_file_wrapper_spec.rb +63 -0
  413. data/spec/models/domain_report_metadata_spec.rb +6 -0
  414. data/spec/models/domain_ring_assignment_settings_v1_spec.rb +63 -0
  415. data/spec/models/domain_scheduled_report_v1_spec.rb +6 -0
  416. data/spec/models/domain_update_rule_request_v1_spec.rb +6 -0
  417. data/spec/models/figapi_adversary_spec.rb +51 -0
  418. data/spec/models/figapi_country_spec.rb +57 -0
  419. data/spec/models/figapi_domain_spec.rb +117 -0
  420. data/spec/models/figapi_email_address_spec.rb +63 -0
  421. data/spec/models/figapi_file_spec.rb +87 -0
  422. data/spec/models/figapi_indicator_spec.rb +183 -0
  423. data/spec/models/figapi_ipv4_spec.rb +69 -0
  424. data/spec/models/figapi_ipv6_spec.rb +69 -0
  425. data/spec/models/figapi_mx_record_spec.rb +75 -0
  426. data/spec/models/figapi_name_server_spec.rb +63 -0
  427. data/spec/models/figapi_report_spec.rb +51 -0
  428. data/spec/models/figapi_sector_spec.rb +57 -0
  429. data/spec/models/figapi_threat_spec.rb +51 -0
  430. data/spec/models/figapi_url_spec.rb +57 -0
  431. data/spec/models/figapi_vulnerability_spec.rb +141 -0
  432. data/spec/models/figapi_who_is_spec.rb +69 -0
  433. data/spec/models/figapi_whois_record_spec.rb +99 -0
  434. data/spec/models/figapi_x509_certificate_spec.rb +93 -0
  435. data/spec/models/graph_condition_spec.rb +0 -6
  436. data/spec/models/help_spec.rb +51 -0
  437. data/spec/models/ingestion_cve_exploit_reference_spec.rb +63 -0
  438. data/spec/models/ingestion_cve_exploit_source_spec.rb +69 -0
  439. data/spec/models/ingestion_ex_prt_rating_factors_spec.rb +69 -0
  440. data/spec/models/ingestion_reference_spec.rb +57 -0
  441. data/spec/models/inventoryapi_surface_error_spec.rb +63 -0
  442. data/spec/models/inventoryapi_user_external_asset_create_request_v1_spec.rb +51 -0
  443. data/spec/models/inventoryapi_user_external_asset_create_response_v1_spec.rb +63 -0
  444. data/spec/models/inventoryapi_user_external_asset_create_spec.rb +57 -0
  445. data/spec/models/inventoryapi_user_external_asset_result_spec.rb +93 -0
  446. data/spec/models/inventoryapi_user_external_asset_spec.rb +57 -0
  447. data/spec/models/inventoryapidomain_subsidiary_spec.rb +57 -0
  448. data/spec/models/jsonschema_pivot_spec.rb +12 -0
  449. data/spec/models/jsonschema_signals_extensions_spec.rb +12 -0
  450. data/spec/models/jsonschema_ui_extensions_spec.rb +18 -0
  451. data/spec/models/models_api_customer_and_image_spec.rb +6 -0
  452. data/spec/models/models_api_image_combined_export_spec.rb +12 -0
  453. data/spec/models/models_api_package_combined_spec.rb +6 -0
  454. data/spec/models/models_api_package_combined_v2_spec.rb +111 -0
  455. data/spec/models/models_api_vulnerability_combined_spec.rb +6 -0
  456. data/spec/models/models_application_library_spec.rb +6 -0
  457. data/spec/models/models_container_spec.rb +6 -0
  458. data/spec/models/models_ext_api_image_combined_spec.rb +6 -0
  459. data/spec/models/models_message_spec.rb +51 -0
  460. data/spec/models/models_partial_fingerprints_spec.rb +51 -0
  461. data/spec/models/models_result_location_properties_spec.rb +57 -0
  462. data/spec/models/models_result_location_spec.rb +57 -0
  463. data/spec/models/models_result_physical_location_artifact_location_spec.rb +51 -0
  464. data/spec/models/models_result_physical_location_region_spec.rb +51 -0
  465. data/spec/models/models_result_physical_location_spec.rb +57 -0
  466. data/spec/models/models_result_properties_spec.rb +105 -0
  467. data/spec/models/models_result_spec.rb +93 -0
  468. data/spec/models/models_rule_default_configuration_spec.rb +51 -0
  469. data/spec/models/models_rule_properties_spec.rb +231 -0
  470. data/spec/models/models_rule_spec.rb +93 -0
  471. data/spec/models/models_run_spec.rb +57 -0
  472. data/spec/models/models_run_tool_driver_spec.rb +69 -0
  473. data/spec/models/models_run_tool_spec.rb +51 -0
  474. data/spec/models/models_vulnerability_sarif_spec.rb +63 -0
  475. data/spec/models/packages_api_combined_package_v2_spec.rb +63 -0
  476. data/spec/models/policyframework_benchmark_spec.rb +57 -0
  477. data/spec/models/policyframework_control_spec.rb +87 -0
  478. data/spec/models/quickscanpro_query_scan_results_response_spec.rb +6 -0
  479. data/spec/models/registration_aws_account_ext_v2_spec.rb +12 -0
  480. data/spec/models/registration_aws_account_patch_spec.rb +12 -0
  481. data/spec/models/registration_iom_event_v2_spec.rb +6 -0
  482. data/spec/models/releasecontents_release_content_spec.rb +93 -0
  483. data/spec/models/releasecontents_release_content_version_spec.rb +63 -0
  484. data/spec/models/releasenotes_entities_get_request_spec.rb +51 -0
  485. data/spec/models/releasenotes_entities_get_response_wrapper_spec.rb +63 -0
  486. data/spec/models/releasenotes_note_detail_spec.rb +69 -0
  487. data/spec/models/releasenotes_release_note_v1_spec.rb +81 -0
  488. data/spec/models/releasenotes_release_note_wrapper_v1_spec.rb +63 -0
  489. data/spec/models/releases_release_spec.rb +99 -0
  490. data/spec/models/releases_release_wrapper_spec.rb +63 -0
  491. data/spec/models/resources_app_spec.rb +57 -0
  492. data/spec/models/resources_asset_graph_spec.rb +57 -0
  493. data/spec/models/resources_cloud_context_spec.rb +147 -0
  494. data/spec/models/resources_cloud_resource_spec.rb +291 -0
  495. data/spec/models/resources_compliance_spec.rb +87 -0
  496. data/spec/models/resources_detections_spec.rb +81 -0
  497. data/spec/models/resources_host_spec.rb +147 -0
  498. data/spec/models/resources_relationship_spec.rb +69 -0
  499. data/spec/models/resources_vulnerability_spec.rb +63 -0
  500. data/spec/models/rest_azure_download_script_request_data_spec.rb +51 -0
  501. data/spec/models/rest_azure_download_script_request_v1_spec.rb +51 -0
  502. data/spec/models/rest_azure_provision_get_account_script_response_v1_spec.rb +63 -0
  503. data/spec/models/rest_azure_script_spec.rb +69 -0
  504. data/spec/models/rest_cursor_and_limit_meta_info_spec.rb +81 -0
  505. data/spec/models/rest_cursor_meta_info_spec.rb +75 -0
  506. data/spec/models/rest_cursor_response_fields_spec.rb +57 -0
  507. data/spec/models/{client_fql_statement_spec.rb → rest_paging_spec.rb} +9 -9
  508. data/spec/models/restapi_indicator_response_spec.rb +63 -0
  509. data/spec/models/restapi_indicators_query_request_spec.rb +57 -0
  510. data/spec/models/restapi_indicators_query_sort_request_spec.rb +63 -0
  511. data/spec/models/sadomain_typosquatting_base_domain_spec.rb +12 -0
  512. data/spec/models/sadomain_typosquatting_subdomain_spec.rb +0 -6
  513. data/spec/models/string_wrapper_spec.rb +63 -0
  514. data/spec/models/types_get_executor_nodes_metadata_response_spec.rb +75 -0
  515. data/spec/models/types_get_integration_tasks_metadata_response_spec.rb +69 -0
  516. data/spec/models/v2_for_loop_spec.rb +6 -0
  517. data/spec/models/vulnerabilities_vulnerability_entity_sarif_response_spec.rb +63 -0
  518. data/spec/spec_helper.rb +8 -0
  519. metadata +2127 -1730
@@ -0,0 +1,458 @@
1
+ =begin
2
+ Crimson Falcon - Ruby Client SDK
3
+
4
+ Code auto-generated by OpenAPI Generator; DO NOT EDIT.
5
+
6
+ MIT License
7
+
8
+ Copyright (c) 2023 Crowdstrike
9
+
10
+ Permission is hereby granted, free of charge, to any person obtaining a copy
11
+ of this software and associated documentation files (the "Software"), to deal
12
+ in the Software without restriction, including without limitation the rights
13
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ copies of the Software, and to permit persons to whom the Software is
15
+ furnished to do so, subject to the following conditions:
16
+
17
+ The above copyright notice and this permission notice shall be included in all
18
+ copies or substantial portions of the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
+ SOFTWARE.
27
+
28
+ =end
29
+
30
+ require 'date'
31
+ require 'time'
32
+
33
+ module Falcon
34
+ class FigapiIndicator
35
+ attr_accessor :adversaries
36
+
37
+ attr_accessor :certificates
38
+
39
+ attr_accessor :countries
40
+
41
+ attr_accessor :domain_details
42
+
43
+ attr_accessor :file_details
44
+
45
+ # Indicators first seen
46
+ attr_accessor :first_seen
47
+
48
+ # The indicator ID. Concatenation of type and indicator fields. Based on the CKB2 vertex ID.
49
+ attr_accessor :id
50
+
51
+ attr_accessor :ipv4_details
52
+
53
+ attr_accessor :ipv6_details
54
+
55
+ # Multi field property describing indicators kill-chain, possible properties: `ActionOnObjectives`, `C2`, `Delivery`, `Exploitation`, `Installation`, `Reconnaissance`, `Weaponization`
56
+ attr_accessor :kill_chain
57
+
58
+ # Indicators last seen
59
+ attr_accessor :last_seen
60
+
61
+ attr_accessor :last_updated
62
+
63
+ # Indicates a confidence level by which an indicator is considered to be malicious, this can be one of: `Low`, `Medium`, `High`
64
+ attr_accessor :malicious_confidence
65
+
66
+ # Indicates when was the confidence was last set
67
+ attr_accessor :malicious_confidence_validated_time
68
+
69
+ attr_accessor :publish_date
70
+
71
+ attr_accessor :reports
72
+
73
+ attr_accessor :sectors
74
+
75
+ attr_accessor :threat_types
76
+
77
+ attr_accessor :threats
78
+
79
+ # Type of the indicator, this can be one of: `File`, `Domain`, `IPv4`, `IPv6`, `URL`
80
+ attr_accessor :type
81
+
82
+ attr_accessor :url_details
83
+
84
+ # TBD
85
+ attr_accessor :victimology
86
+
87
+ attr_accessor :vulnerabilities
88
+
89
+ # Attribute mapping from ruby-style variable name to JSON key.
90
+ def self.attribute_map
91
+ {
92
+ :'adversaries' => :'Adversaries',
93
+ :'certificates' => :'Certificates',
94
+ :'countries' => :'Countries',
95
+ :'domain_details' => :'DomainDetails',
96
+ :'file_details' => :'FileDetails',
97
+ :'first_seen' => :'FirstSeen',
98
+ :'id' => :'ID',
99
+ :'ipv4_details' => :'IPv4Details',
100
+ :'ipv6_details' => :'IPv6Details',
101
+ :'kill_chain' => :'KillChain',
102
+ :'last_seen' => :'LastSeen',
103
+ :'last_updated' => :'LastUpdated',
104
+ :'malicious_confidence' => :'MaliciousConfidence',
105
+ :'malicious_confidence_validated_time' => :'MaliciousConfidenceValidatedTime',
106
+ :'publish_date' => :'PublishDate',
107
+ :'reports' => :'Reports',
108
+ :'sectors' => :'Sectors',
109
+ :'threat_types' => :'ThreatTypes',
110
+ :'threats' => :'Threats',
111
+ :'type' => :'Type',
112
+ :'url_details' => :'URLDetails',
113
+ :'victimology' => :'Victimology',
114
+ :'vulnerabilities' => :'Vulnerabilities'
115
+ }
116
+ end
117
+
118
+ # Returns all the JSON keys this model knows about
119
+ def self.acceptable_attributes
120
+ attribute_map.values
121
+ end
122
+
123
+ # Attribute type mapping.
124
+ def self.openapi_types
125
+ {
126
+ :'adversaries' => :'Array<FigapiAdversary>',
127
+ :'certificates' => :'Array<FigapiX509Certificate>',
128
+ :'countries' => :'Array<FigapiCountry>',
129
+ :'domain_details' => :'FigapiDomain',
130
+ :'file_details' => :'FigapiFile',
131
+ :'first_seen' => :'String',
132
+ :'id' => :'String',
133
+ :'ipv4_details' => :'FigapiIPv4',
134
+ :'ipv6_details' => :'FigapiIPv6',
135
+ :'kill_chain' => :'Array<String>',
136
+ :'last_seen' => :'String',
137
+ :'last_updated' => :'String',
138
+ :'malicious_confidence' => :'String',
139
+ :'malicious_confidence_validated_time' => :'String',
140
+ :'publish_date' => :'String',
141
+ :'reports' => :'Array<FigapiReport>',
142
+ :'sectors' => :'Array<FigapiSector>',
143
+ :'threat_types' => :'Array<String>',
144
+ :'threats' => :'Array<FigapiThreat>',
145
+ :'type' => :'String',
146
+ :'url_details' => :'FigapiURL',
147
+ :'victimology' => :'String',
148
+ :'vulnerabilities' => :'Array<FigapiVulnerability>'
149
+ }
150
+ end
151
+
152
+ # List of attributes with nullable: true
153
+ def self.openapi_nullable
154
+ Set.new([
155
+ ])
156
+ end
157
+
158
+ # Initializes the object
159
+ # @param [Hash] attributes Model attributes in the form of hash
160
+ def initialize(attributes = {})
161
+ if (!attributes.is_a?(Hash))
162
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::FigapiIndicator` initialize method"
163
+ end
164
+
165
+ # check to see if the attribute exists and convert string to symbol for hash key
166
+ attributes = attributes.each_with_object({}) { |(k, v), h|
167
+ if (!self.class.attribute_map.key?(k.to_sym))
168
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::FigapiIndicator`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
169
+ end
170
+ h[k.to_sym] = v
171
+ }
172
+
173
+ if attributes.key?(:'adversaries')
174
+ if (value = attributes[:'adversaries']).is_a?(Array)
175
+ self.adversaries = value
176
+ end
177
+ end
178
+
179
+ if attributes.key?(:'certificates')
180
+ if (value = attributes[:'certificates']).is_a?(Array)
181
+ self.certificates = value
182
+ end
183
+ end
184
+
185
+ if attributes.key?(:'countries')
186
+ if (value = attributes[:'countries']).is_a?(Array)
187
+ self.countries = value
188
+ end
189
+ end
190
+
191
+ if attributes.key?(:'domain_details')
192
+ self.domain_details = attributes[:'domain_details']
193
+ end
194
+
195
+ if attributes.key?(:'file_details')
196
+ self.file_details = attributes[:'file_details']
197
+ end
198
+
199
+ if attributes.key?(:'first_seen')
200
+ self.first_seen = attributes[:'first_seen']
201
+ end
202
+
203
+ if attributes.key?(:'id')
204
+ self.id = attributes[:'id']
205
+ end
206
+
207
+ if attributes.key?(:'ipv4_details')
208
+ self.ipv4_details = attributes[:'ipv4_details']
209
+ end
210
+
211
+ if attributes.key?(:'ipv6_details')
212
+ self.ipv6_details = attributes[:'ipv6_details']
213
+ end
214
+
215
+ if attributes.key?(:'kill_chain')
216
+ if (value = attributes[:'kill_chain']).is_a?(Array)
217
+ self.kill_chain = value
218
+ end
219
+ end
220
+
221
+ if attributes.key?(:'last_seen')
222
+ self.last_seen = attributes[:'last_seen']
223
+ end
224
+
225
+ if attributes.key?(:'last_updated')
226
+ self.last_updated = attributes[:'last_updated']
227
+ end
228
+
229
+ if attributes.key?(:'malicious_confidence')
230
+ self.malicious_confidence = attributes[:'malicious_confidence']
231
+ end
232
+
233
+ if attributes.key?(:'malicious_confidence_validated_time')
234
+ self.malicious_confidence_validated_time = attributes[:'malicious_confidence_validated_time']
235
+ end
236
+
237
+ if attributes.key?(:'publish_date')
238
+ self.publish_date = attributes[:'publish_date']
239
+ end
240
+
241
+ if attributes.key?(:'reports')
242
+ if (value = attributes[:'reports']).is_a?(Array)
243
+ self.reports = value
244
+ end
245
+ end
246
+
247
+ if attributes.key?(:'sectors')
248
+ if (value = attributes[:'sectors']).is_a?(Array)
249
+ self.sectors = value
250
+ end
251
+ end
252
+
253
+ if attributes.key?(:'threat_types')
254
+ if (value = attributes[:'threat_types']).is_a?(Array)
255
+ self.threat_types = value
256
+ end
257
+ end
258
+
259
+ if attributes.key?(:'threats')
260
+ if (value = attributes[:'threats']).is_a?(Array)
261
+ self.threats = value
262
+ end
263
+ end
264
+
265
+ if attributes.key?(:'type')
266
+ self.type = attributes[:'type']
267
+ end
268
+
269
+ if attributes.key?(:'url_details')
270
+ self.url_details = attributes[:'url_details']
271
+ end
272
+
273
+ if attributes.key?(:'victimology')
274
+ self.victimology = attributes[:'victimology']
275
+ end
276
+
277
+ if attributes.key?(:'vulnerabilities')
278
+ if (value = attributes[:'vulnerabilities']).is_a?(Array)
279
+ self.vulnerabilities = value
280
+ end
281
+ end
282
+ end
283
+
284
+ # Show invalid properties with the reasons. Usually used together with valid?
285
+ # @return Array for valid properties with the reasons
286
+ def list_invalid_properties
287
+ invalid_properties = Array.new
288
+ invalid_properties
289
+ end
290
+
291
+ # Check to see if the all the properties in the model are valid
292
+ # @return true if the model is valid
293
+ def valid?
294
+ true
295
+ end
296
+
297
+ # Checks equality by comparing each attribute.
298
+ # @param [Object] Object to be compared
299
+ def ==(o)
300
+ return true if self.equal?(o)
301
+ self.class == o.class &&
302
+ adversaries == o.adversaries &&
303
+ certificates == o.certificates &&
304
+ countries == o.countries &&
305
+ domain_details == o.domain_details &&
306
+ file_details == o.file_details &&
307
+ first_seen == o.first_seen &&
308
+ id == o.id &&
309
+ ipv4_details == o.ipv4_details &&
310
+ ipv6_details == o.ipv6_details &&
311
+ kill_chain == o.kill_chain &&
312
+ last_seen == o.last_seen &&
313
+ last_updated == o.last_updated &&
314
+ malicious_confidence == o.malicious_confidence &&
315
+ malicious_confidence_validated_time == o.malicious_confidence_validated_time &&
316
+ publish_date == o.publish_date &&
317
+ reports == o.reports &&
318
+ sectors == o.sectors &&
319
+ threat_types == o.threat_types &&
320
+ threats == o.threats &&
321
+ type == o.type &&
322
+ url_details == o.url_details &&
323
+ victimology == o.victimology &&
324
+ vulnerabilities == o.vulnerabilities
325
+ end
326
+
327
+ # @see the `==` method
328
+ # @param [Object] Object to be compared
329
+ def eql?(o)
330
+ self == o
331
+ end
332
+
333
+ # Calculates hash code according to all attributes.
334
+ # @return [Integer] Hash code
335
+ def hash
336
+ [adversaries, certificates, countries, domain_details, file_details, first_seen, id, ipv4_details, ipv6_details, kill_chain, last_seen, last_updated, malicious_confidence, malicious_confidence_validated_time, publish_date, reports, sectors, threat_types, threats, type, url_details, victimology, vulnerabilities].hash
337
+ end
338
+
339
+ # Builds the object from hash
340
+ # @param [Hash] attributes Model attributes in the form of hash
341
+ # @return [Object] Returns the model itself
342
+ def self.build_from_hash(attributes)
343
+ new.build_from_hash(attributes)
344
+ end
345
+
346
+ # Builds the object from hash
347
+ # @param [Hash] attributes Model attributes in the form of hash
348
+ # @return [Object] Returns the model itself
349
+ def build_from_hash(attributes)
350
+ return nil unless attributes.is_a?(Hash)
351
+ attributes = attributes.transform_keys(&:to_sym)
352
+ self.class.openapi_types.each_pair do |key, type|
353
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
354
+ self.send("#{key}=", nil)
355
+ elsif type =~ /\AArray<(.*)>/i
356
+ # check to ensure the input is an array given that the attribute
357
+ # is documented as an array but the input is not
358
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
359
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
360
+ end
361
+ elsif !attributes[self.class.attribute_map[key]].nil?
362
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
363
+ end
364
+ end
365
+
366
+ self
367
+ end
368
+
369
+ # Deserializes the data based on type
370
+ # @param string type Data type
371
+ # @param string value Value to be deserialized
372
+ # @return [Object] Deserialized data
373
+ def _deserialize(type, value)
374
+ case type.to_sym
375
+ when :Time
376
+ Time.parse(value)
377
+ when :Date
378
+ Date.parse(value)
379
+ when :String
380
+ value.to_s
381
+ when :Integer
382
+ value.to_i
383
+ when :Float
384
+ value.to_f
385
+ when :Boolean
386
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
387
+ true
388
+ else
389
+ false
390
+ end
391
+ when :Object
392
+ # generic object (usually a Hash), return directly
393
+ value
394
+ when /\AArray<(?<inner_type>.+)>\z/
395
+ inner_type = Regexp.last_match[:inner_type]
396
+ value.map { |v| _deserialize(inner_type, v) }
397
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
398
+ k_type = Regexp.last_match[:k_type]
399
+ v_type = Regexp.last_match[:v_type]
400
+ {}.tap do |hash|
401
+ value.each do |k, v|
402
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
403
+ end
404
+ end
405
+ else # model
406
+ # models (e.g. Pet) or oneOf
407
+ klass = Falcon.const_get(type)
408
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
409
+ end
410
+ end
411
+
412
+ # Returns the string representation of the object
413
+ # @return [String] String presentation of the object
414
+ def to_s
415
+ to_hash.to_s
416
+ end
417
+
418
+ # to_body is an alias to to_hash (backward compatibility)
419
+ # @return [Hash] Returns the object in the form of hash
420
+ def to_body
421
+ to_hash
422
+ end
423
+
424
+ # Returns the object in the form of hash
425
+ # @return [Hash] Returns the object in the form of hash
426
+ def to_hash
427
+ hash = {}
428
+ self.class.attribute_map.each_pair do |attr, param|
429
+ value = self.send(attr)
430
+ if value.nil?
431
+ is_nullable = self.class.openapi_nullable.include?(attr)
432
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
433
+ end
434
+
435
+ hash[param] = _to_hash(value)
436
+ end
437
+ hash
438
+ end
439
+
440
+ # Outputs non-array value in the form of hash
441
+ # For object, use to_hash. Otherwise, just return the value
442
+ # @param [Object] value Any valid value
443
+ # @return [Hash] Returns the value in the form of hash
444
+ def _to_hash(value)
445
+ if value.is_a?(Array)
446
+ value.compact.map { |v| _to_hash(v) }
447
+ elsif value.is_a?(Hash)
448
+ {}.tap do |hash|
449
+ value.each { |k, v| hash[k] = _to_hash(v) }
450
+ end
451
+ elsif value.respond_to? :to_hash
452
+ value.to_hash
453
+ else
454
+ value
455
+ end
456
+ end
457
+ end
458
+ end