crimson-falcon 1.1.0 → 1.2.0

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 (419) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +293 -70
  3. data/lib/crimson-falcon/api/activity_monitor.rb +120 -0
  4. data/lib/crimson-falcon/api/alerts.rb +88 -0
  5. data/lib/crimson-falcon/api/aspm.rb +133 -3
  6. data/lib/crimson-falcon/api/cloud_azure_registration.rb +318 -0
  7. data/lib/crimson-falcon/api/cloud_oci_registration.rb +4 -4
  8. data/lib/crimson-falcon/api/cloud_security_assets.rb +2 -2
  9. data/lib/crimson-falcon/api/container_image_compliance.rb +22 -22
  10. data/lib/crimson-falcon/api/cspm_registration.rb +69 -0
  11. data/lib/crimson-falcon/api/default.rb +0 -62
  12. data/lib/crimson-falcon/api/exposure_management.rb +67 -0
  13. data/lib/crimson-falcon/api/falcon_complete_dashboard.rb +71 -4
  14. data/lib/crimson-falcon/api/falcon_container_image.rb +121 -0
  15. data/lib/crimson-falcon/api/identity_protection.rb +2 -2
  16. data/lib/crimson-falcon/api/integration_builder.rb +313 -0
  17. data/lib/crimson-falcon/api/intel.rb +73 -0
  18. data/lib/crimson-falcon/api/intelligence_indicator_graph.rb +23 -15
  19. data/lib/crimson-falcon/api/inventories.rb +186 -0
  20. data/lib/crimson-falcon/api/kubernetes_container_compliance.rb +62 -0
  21. data/lib/crimson-falcon/api/kubernetes_protection.rb +3 -0
  22. data/lib/crimson-falcon/api/message_center.rb +4 -70
  23. data/lib/crimson-falcon/api/real_time_response_admin.rb +62 -0
  24. data/lib/crimson-falcon/api/release_notes.rb +76 -0
  25. data/lib/crimson-falcon/api/saa_s.rb +156 -0
  26. data/lib/crimson-falcon/api/security_check.rb +484 -0
  27. data/lib/crimson-falcon/api/system.rb +168 -0
  28. data/lib/crimson-falcon/api/user_management.rb +4 -4
  29. data/lib/crimson-falcon/models/account_integration289680abbdb24ecc9e55e90a4c2f1770.rb +443 -0
  30. data/lib/crimson-falcon/models/{types_query_result.rb → activity251e72f10e9424e568d72ab0351a6fb1b.rb} +17 -19
  31. data/lib/crimson-falcon/models/affected_entity9f6cb0be3b91460090c751db2c883b7c.rb +392 -0
  32. data/lib/crimson-falcon/models/alert85f2306d175b4314b4d51d0096103dcc.rb +539 -0
  33. data/lib/crimson-falcon/models/api_patch_rule_search_v1.rb +5 -0
  34. data/lib/crimson-falcon/models/api_rule_search_v1.rb +5 -0
  35. data/lib/crimson-falcon/models/{aspm_data.rb → aspm_inventory_data.rb} +3 -3
  36. data/lib/crimson-falcon/models/azure_additional_feature.rb +269 -0
  37. data/lib/crimson-falcon/models/azure_azure_registration_create_input.rb +497 -0
  38. data/lib/crimson-falcon/models/azure_azure_registration_create_request_ext_v1.rb +239 -0
  39. data/lib/crimson-falcon/models/azure_azure_registration_response_ext_v1.rb +266 -0
  40. data/lib/crimson-falcon/models/azure_azure_registration_update_input.rb +492 -0
  41. data/lib/crimson-falcon/models/azure_azure_registration_update_request_ext_v1.rb +239 -0
  42. data/lib/crimson-falcon/models/azure_delete_registration_response_ext_v1.rb +266 -0
  43. data/lib/crimson-falcon/models/azure_deleted_registration.rb +383 -0
  44. data/lib/crimson-falcon/models/azure_deleted_subscription_info.rb +267 -0
  45. data/lib/crimson-falcon/models/azure_event_hub_settings.rb +295 -0
  46. data/lib/crimson-falcon/models/azure_tenant_registration.rb +578 -0
  47. data/lib/crimson-falcon/models/cdrioamanager_get_cloud_event_ids_response.rb +266 -0
  48. data/lib/crimson-falcon/models/costs.rb +4 -4
  49. data/lib/crimson-falcon/models/criteria301f5eeae5ba41edb767b27e749f6375.rb +274 -0
  50. data/lib/crimson-falcon/models/data_transaction_response_dto31852908d6f14d268312c3fcdb497315.rb +365 -0
  51. data/lib/crimson-falcon/models/data_transaction_response_dto614da2e1369e44e596d2935db3da0365.rb +365 -0
  52. data/lib/crimson-falcon/models/data_transaction_response_dto_cdc34dae7da648de941209e7e6a30770.rb +365 -0
  53. data/lib/crimson-falcon/models/detects_external_alert.rb +18 -1
  54. data/lib/crimson-falcon/models/device3550eb212db1414995c297cdbfe5cc16.rb +552 -0
  55. data/lib/crimson-falcon/models/dismiss_affected.rb +257 -0
  56. data/lib/crimson-falcon/models/dismiss_security_check.rb +257 -0
  57. data/lib/crimson-falcon/models/distribution_descriptor.rb +283 -0
  58. data/lib/crimson-falcon/models/domain_actor_document.rb +10 -1
  59. data/lib/crimson-falcon/models/domain_aggregates_response.rb +4 -2
  60. data/lib/crimson-falcon/models/domain_aggregation_result.rb +267 -0
  61. data/lib/crimson-falcon/models/domain_aggregation_result_item.rb +331 -0
  62. data/lib/crimson-falcon/models/domain_cloud_group.rb +270 -0
  63. data/lib/crimson-falcon/models/domain_discover_api_host.rb +30 -1
  64. data/lib/crimson-falcon/models/domain_discover_apiio_t_host.rb +30 -1
  65. data/lib/crimson-falcon/models/domain_feature_status.rb +32 -15
  66. data/lib/crimson-falcon/models/domain_iot_imported_host.rb +405 -0
  67. data/lib/crimson-falcon/models/domain_kestrel_data_export_header_computation_function.rb +269 -0
  68. data/lib/crimson-falcon/models/domain_kestrel_data_export_header_mapping.rb +255 -0
  69. data/lib/crimson-falcon/models/domain_kestrel_data_export_params.rb +278 -0
  70. data/lib/crimson-falcon/models/{quickscanpro_mitre_attack.rb → domain_mitre_attack.rb} +23 -5
  71. data/lib/crimson-falcon/models/{quickscanpro_mitre_attack_parent.rb → domain_mitre_attack_parent.rb} +3 -3
  72. data/lib/crimson-falcon/models/domain_msa_meta_info.rb +4 -18
  73. data/lib/crimson-falcon/models/domain_news_document.rb +2 -2
  74. data/lib/crimson-falcon/models/domain_notification_config.rb +32 -4
  75. data/lib/crimson-falcon/models/domain_query_response.rb +8 -1
  76. data/lib/crimson-falcon/models/domain_report_metadata.rb +10 -15
  77. data/lib/crimson-falcon/models/domain_rule.rb +69 -63
  78. data/lib/crimson-falcon/models/domain_scan.rb +10 -1
  79. data/lib/crimson-falcon/models/domain_scheduled_report_v1.rb +15 -1
  80. data/lib/crimson-falcon/models/domain_vulnerability.rb +135 -38
  81. data/lib/crimson-falcon/models/domain_vulnerability_actor.rb +255 -0
  82. data/lib/crimson-falcon/models/{restapi_indicators_aggregates_request.rb → domain_vulnerability_affected_product.rb} +21 -17
  83. data/lib/crimson-falcon/models/domain_vulnerability_cvss_v2.rb +303 -0
  84. data/lib/crimson-falcon/models/domain_vulnerability_cvss_v3.rb +325 -0
  85. data/lib/crimson-falcon/models/domain_vulnerability_related_threat.rb +247 -0
  86. data/lib/crimson-falcon/models/domain_vulnerability_report.rb +265 -0
  87. data/lib/crimson-falcon/models/domain_xdr_params.rb +12 -1
  88. data/lib/crimson-falcon/models/error02abad40db9c4a4baf68f01bea6071c4.rb +264 -0
  89. data/lib/crimson-falcon/models/error068cf337479748d6ac14b4a9c4043a93.rb +264 -0
  90. data/lib/crimson-falcon/models/error208252f00cf64de68d28810846b7dd26.rb +264 -0
  91. data/lib/crimson-falcon/models/error20dfebe4526641bd81749e954da7890e.rb +264 -0
  92. data/lib/crimson-falcon/models/error2a083e88c6764d16bbb98873ef1e9e15.rb +264 -0
  93. data/lib/crimson-falcon/models/error2c3c8d4e65c3447a8eae772de1b0e3ef.rb +264 -0
  94. data/lib/crimson-falcon/models/error35d6bd13358246f9ae9ffbe791550e06.rb +264 -0
  95. data/lib/crimson-falcon/models/error476679d881284bdc9a5192128d50d4b6.rb +264 -0
  96. data/lib/crimson-falcon/models/error479167a4d6534b6a85ec7857c5fb14ba.rb +264 -0
  97. data/lib/crimson-falcon/models/error4bee1dd3515c454f83249366486164d0.rb +264 -0
  98. data/lib/crimson-falcon/models/error7bbeca3b1c2440f19c0730f62b3b6ef4.rb +264 -0
  99. data/lib/crimson-falcon/models/error878b6eeb86ef40cdb1ec5f1207207e09.rb +264 -0
  100. data/lib/crimson-falcon/models/error9cad4d8f334c467daf30ed3a72664779.rb +264 -0
  101. data/lib/crimson-falcon/models/error_bc084ac4caa243b199e2307fb94184c3.rb +264 -0
  102. data/lib/crimson-falcon/models/error_d3d26008b8464eeb912ff06244246cf2.rb +264 -0
  103. data/lib/crimson-falcon/models/error_f2e2dae6d0e945279a68e68afaee2d54.rb +264 -0
  104. data/lib/crimson-falcon/models/error_fa972818e96245a89bcee1f18b40eb0a.rb +264 -0
  105. data/lib/crimson-falcon/models/exposure_da5345c68b174f978f19999c3e00cab9.rb +300 -0
  106. data/lib/crimson-falcon/models/figapi_lookup_indicator.rb +468 -0
  107. data/lib/crimson-falcon/models/flightcontrolapi_grant_input.rb +11 -1
  108. data/lib/crimson-falcon/models/fwmgr_api_json_diff.rb +3 -3
  109. data/lib/crimson-falcon/models/fwmgr_api_rule_group_modify_request_v1.rb +1 -1
  110. data/lib/crimson-falcon/models/get_activity_monitor.rb +258 -0
  111. data/lib/crimson-falcon/models/get_affected.rb +257 -0
  112. data/lib/crimson-falcon/models/get_alerts_response.rb +258 -0
  113. data/lib/crimson-falcon/models/get_device_inventory.rb +258 -0
  114. data/lib/crimson-falcon/models/get_end_transaction.rb +258 -0
  115. data/lib/crimson-falcon/models/get_integrations.rb +258 -0
  116. data/lib/crimson-falcon/models/get_metrics.rb +258 -0
  117. data/lib/crimson-falcon/models/get_security_checks.rb +258 -0
  118. data/lib/crimson-falcon/models/get_security_compliance.rb +257 -0
  119. data/lib/crimson-falcon/models/get_supported_saas.rb +258 -0
  120. data/lib/crimson-falcon/models/get_system_logs.rb +258 -0
  121. data/lib/crimson-falcon/models/get_system_users.rb +258 -0
  122. data/lib/crimson-falcon/models/get_transaction_status.rb +258 -0
  123. data/lib/crimson-falcon/models/get_user_inventory.rb +258 -0
  124. data/lib/crimson-falcon/models/integration_a9d173a3bf93430f84054286043aa8e5.rb +305 -0
  125. data/lib/crimson-falcon/models/integration_e95afa6fc5e04968b0e9d83e90042eca.rb +365 -0
  126. data/lib/crimson-falcon/models/issue9a61d8c8ccac45858497af4786b275c7.rb +291 -0
  127. data/lib/crimson-falcon/models/meta17335150dd1a4934a3a031a7b41e650b.rb +270 -0
  128. data/lib/crimson-falcon/models/meta23005461ac9a41fbb4620fe4aa0a3438.rb +270 -0
  129. data/lib/crimson-falcon/models/meta27c23ca116c1477bb85e765b5e09af69.rb +270 -0
  130. data/lib/crimson-falcon/models/meta37a0d574ca884a2f8641e122e47a3ce9.rb +270 -0
  131. data/lib/crimson-falcon/models/meta4f2b2e3bbfd74a7fb14e0ca86dd47d57.rb +270 -0
  132. data/lib/crimson-falcon/models/meta4fda3fb731c54f5480750a508fa0142d.rb +270 -0
  133. data/lib/crimson-falcon/models/meta536da5d66c054c69889a624cf1068900.rb +270 -0
  134. data/lib/crimson-falcon/models/meta6dbc34e4022d4b5c9fe5785caf9801e7.rb +270 -0
  135. data/lib/crimson-falcon/models/meta77f6bf58ba0045649e59a4655807a6ab.rb +270 -0
  136. data/lib/crimson-falcon/models/meta9b68681eb9464c4e9612730248f519d6.rb +270 -0
  137. data/lib/crimson-falcon/models/meta_c84ad721c6a841869874276dd0683cbb.rb +270 -0
  138. data/lib/crimson-falcon/models/meta_d1db20ce08ad45b3987ead9035c153a9.rb +270 -0
  139. data/lib/crimson-falcon/models/meta_d43679bfb5f448afa0899baa948533d1.rb +270 -0
  140. data/lib/crimson-falcon/models/meta_e1df370799c7419d805c0f95b5d1ae90.rb +270 -0
  141. data/lib/crimson-falcon/models/meta_e4ad714b314449299eca720f9d63b718.rb +270 -0
  142. data/lib/crimson-falcon/models/meta_fb2fed2c461a4af583e5b3b790c82df1.rb +270 -0
  143. data/lib/crimson-falcon/models/meta_fe9ab4e0124e4f0fb9946562895a2c78.rb +270 -0
  144. data/lib/crimson-falcon/models/models_api_image_combined_export.rb +45 -1
  145. data/lib/crimson-falcon/models/models_cluster.rb +15 -1
  146. data/lib/crimson-falcon/models/models_config_info_type.rb +363 -0
  147. data/lib/crimson-falcon/models/models_elf_binary_info_type.rb +327 -0
  148. data/lib/crimson-falcon/models/models_he_string_file_info_type.rb +273 -0
  149. data/lib/crimson-falcon/models/models_he_string_info_type.rb +262 -0
  150. data/lib/crimson-falcon/models/models_image_info_type.rb +353 -0
  151. data/lib/crimson-falcon/models/models_image_metadata_type.rb +279 -0
  152. data/lib/crimson-falcon/models/models_inventory_engine_info_type.rb +278 -0
  153. data/lib/crimson-falcon/models/models_inventory_scan_request_type.rb +458 -0
  154. data/lib/crimson-falcon/models/models_inventory_type.rb +419 -0
  155. data/lib/crimson-falcon/models/models_layer_info_type.rb +322 -0
  156. data/lib/crimson-falcon/models/models_ml_model_type.rb +332 -0
  157. data/lib/crimson-falcon/models/models_scan_info_type.rb +279 -0
  158. data/lib/crimson-falcon/models/models_scan_request_type.rb +385 -0
  159. data/lib/crimson-falcon/models/pagination033f3d78a056499b8f4877419a0ab636.rb +305 -0
  160. data/lib/crimson-falcon/models/pagination080eaa160ef24b9ea15b29a7376520d1.rb +305 -0
  161. data/lib/crimson-falcon/models/pagination10594326d99a4b3a8681178b13e58952.rb +305 -0
  162. data/lib/crimson-falcon/models/pagination13aeb546de8049e7b3a1c36f9c93266b.rb +305 -0
  163. data/lib/crimson-falcon/models/pagination210dcb9a1e7d4355aa68be7ec0fd01f5.rb +305 -0
  164. data/lib/crimson-falcon/models/pagination30037a29e9404616b03177274ec26e23.rb +305 -0
  165. data/lib/crimson-falcon/models/pagination3b8a127584ba4423a93eb7c8169b572b.rb +305 -0
  166. data/lib/crimson-falcon/models/pagination3f3e43ffd8e64379931bdcb29aebc087.rb +305 -0
  167. data/lib/crimson-falcon/models/pagination52f77164aafe4de6b6db6d957e7daa2d.rb +305 -0
  168. data/lib/crimson-falcon/models/pagination548073ea1b2b436ba88a22f20220668f.rb +305 -0
  169. data/lib/crimson-falcon/models/pagination5540128e40ad49718c1f4b4b5e4e558c.rb +305 -0
  170. data/lib/crimson-falcon/models/pagination6447d6d09066458cbbaa67ba2e2337cc.rb +305 -0
  171. data/lib/crimson-falcon/models/pagination9bacca2551f14ff5a7ca8bd9d42e3cd2.rb +305 -0
  172. data/lib/crimson-falcon/models/pagination_d97a43983ded4cd7b949b22c9365f3ac.rb +305 -0
  173. data/lib/crimson-falcon/models/pagination_f16542f2ce284253ae3ba96625cde422.rb +305 -0
  174. data/lib/crimson-falcon/models/pagination_f3897127524749a8977efcf98f6fca21.rb +305 -0
  175. data/lib/crimson-falcon/models/pagination_f6ab71b91d6246e0bd736cf3af5fad6e.rb +305 -0
  176. data/lib/crimson-falcon/models/quickscanpro_error.rb +253 -0
  177. data/lib/crimson-falcon/models/quickscanpro_file_upload_response.rb +1 -1
  178. data/lib/crimson-falcon/models/quickscanpro_launch_scan_response.rb +1 -1
  179. data/lib/crimson-falcon/models/quickscanpro_meta_info.rb +248 -0
  180. data/lib/crimson-falcon/models/quickscanpro_query_scan_results_response.rb +1 -1
  181. data/lib/crimson-falcon/models/quickscanpro_scan_metadata.rb +12 -1
  182. data/lib/crimson-falcon/models/quickscanpro_scan_result.rb +1 -1
  183. data/lib/crimson-falcon/models/rbac_cloud_group.rb +270 -0
  184. data/lib/crimson-falcon/models/reason_result53b5512288cb4a35afeb08fb3232bc9a.rb +258 -0
  185. data/lib/crimson-falcon/models/reason_result85bd120760ba447ea4ed7050227cea6d.rb +258 -0
  186. data/lib/crimson-falcon/models/registration_iom_event_v2.rb +12 -1
  187. data/lib/crimson-falcon/models/{domain_case_creation_request.rb → releasenotes_release_note_v2.rb} +56 -66
  188. data/lib/crimson-falcon/models/{restapi_indicators_aggregates_response.rb → releasenotes_release_note_wrapper_v2.rb} +4 -4
  189. data/lib/crimson-falcon/models/resources_cloud_context.rb +1 -1
  190. data/lib/crimson-falcon/models/resources_cloud_resource.rb +12 -1
  191. data/lib/crimson-falcon/models/resources_compliance_control.rb +37 -4
  192. data/lib/crimson-falcon/models/restapi_indicators_lookup_request.rb +242 -0
  193. data/lib/crimson-falcon/models/restapi_lookup_indicator_response.rb +271 -0
  194. data/lib/crimson-falcon/models/schema2_manifest.rb +278 -0
  195. data/lib/crimson-falcon/models/security_check_metrics4dc2138e50b94346aca29c17db424031.rb +309 -0
  196. data/lib/crimson-falcon/models/security_check_with_compliance_fabac54a5b434140a3258784ea52cedd.rb +780 -0
  197. data/lib/crimson-falcon/models/source1a19145b2d194d208fce893f033e7d77.rb +309 -0
  198. data/lib/crimson-falcon/models/source_acb91d86550f449aa4b1b5310bf5ae84.rb +309 -0
  199. data/lib/crimson-falcon/models/source_f8f9612cb66e48f38a21f3f6c9c90ce3.rb +309 -0
  200. data/lib/crimson-falcon/models/status_breakdown_c9f65dddc40c4ce591a60ab63a17ab21.rb +309 -0
  201. data/lib/crimson-falcon/models/supported_integration6399100b6064428e971df473366a4291.rb +286 -0
  202. data/lib/crimson-falcon/models/system_log35829c828fcc41f99005750f1c86b16b.rb +479 -0
  203. data/lib/crimson-falcon/models/system_user62e536308fad4c7f8f020fb76f162088.rb +485 -0
  204. data/lib/crimson-falcon/models/types_query_count_response.rb +0 -10
  205. data/lib/crimson-falcon/models/types_query_overtime_response_item.rb +0 -10
  206. data/lib/crimson-falcon/models/types_query_request.rb +10 -1
  207. data/lib/crimson-falcon/models/types_query_response.rb +0 -10
  208. data/lib/crimson-falcon/models/upload_data_request.rb +258 -0
  209. data/lib/crimson-falcon/models/upload_data_response.rb +258 -0
  210. data/lib/crimson-falcon/models/user_c59913813fcc4565a44e697480b8846b.rb +599 -0
  211. data/lib/crimson-falcon/models/v1_history.rb +270 -0
  212. data/lib/crimson-falcon/models/v1_image.rb +334 -0
  213. data/lib/crimson-falcon/models/v1_image_config.rb +327 -0
  214. data/lib/crimson-falcon/models/v1_platform.rb +282 -0
  215. data/lib/crimson-falcon/models/v1_root_fs.rb +255 -0
  216. data/lib/crimson-falcon/models/webhooktrigger_response_config.rb +1 -11
  217. data/lib/crimson-falcon/version.rb +2 -2
  218. data/lib/crimson-falcon.rb +156 -9
  219. data/spec/api/activity_monitor_spec.rb +71 -0
  220. data/spec/api/alerts_spec.rb +20 -0
  221. data/spec/api/aspm_spec.rb +25 -1
  222. data/spec/api/cloud_azure_registration_spec.rb +55 -0
  223. data/spec/api/cloud_oci_registration_spec.rb +2 -2
  224. data/spec/api/cloud_security_assets_spec.rb +1 -1
  225. data/spec/api/container_image_compliance_spec.rb +11 -11
  226. data/spec/api/cspm_registration_spec.rb +12 -0
  227. data/spec/api/default_spec.rb +0 -11
  228. data/spec/api/exposure_management_spec.rb +14 -0
  229. data/spec/api/falcon_complete_dashboard_spec.rb +16 -2
  230. data/spec/api/falcon_container_image_spec.rb +21 -0
  231. data/spec/api/integration_builder_spec.rb +102 -0
  232. data/spec/api/intel_spec.rb +16 -0
  233. data/spec/api/intelligence_indicator_graph_spec.rb +7 -4
  234. data/spec/api/{datascanner_spec.rb → inventories_spec.rb} +27 -27
  235. data/spec/api/kubernetes_container_compliance_spec.rb +11 -0
  236. data/spec/api/kubernetes_protection_spec.rb +1 -0
  237. data/spec/api/message_center_spec.rb +1 -12
  238. data/spec/api/real_time_response_admin_spec.rb +11 -0
  239. data/spec/api/release_notes_spec.rb +13 -0
  240. data/spec/api/saa_s_spec.rb +75 -0
  241. data/spec/api/security_check_spec.rb +139 -0
  242. data/spec/api/system_spec.rb +79 -0
  243. data/spec/api/user_management_spec.rb +1 -1
  244. data/spec/models/account_integration289680abbdb24ecc9e55e90a4c2f1770_spec.rb +105 -0
  245. data/spec/models/activity251e72f10e9424e568d72ab0351a6fb1b_spec.rb +51 -0
  246. data/spec/models/affected_entity9f6cb0be3b91460090c751db2c883b7c_spec.rb +99 -0
  247. data/spec/models/alert85f2306d175b4314b4d51d0096103dcc_spec.rb +129 -0
  248. data/spec/models/{aspm_data_spec.rb → aspm_inventory_data_spec.rb} +6 -6
  249. data/spec/models/azure_additional_feature_spec.rb +63 -0
  250. data/spec/models/azure_azure_registration_create_input_spec.rb +189 -0
  251. data/spec/models/azure_azure_registration_create_request_ext_v1_spec.rb +51 -0
  252. data/spec/models/azure_azure_registration_response_ext_v1_spec.rb +63 -0
  253. data/spec/models/azure_azure_registration_update_input_spec.rb +189 -0
  254. data/spec/models/azure_azure_registration_update_request_ext_v1_spec.rb +51 -0
  255. data/spec/models/azure_delete_registration_response_ext_v1_spec.rb +63 -0
  256. data/spec/models/azure_deleted_registration_spec.rb +111 -0
  257. data/spec/models/azure_deleted_subscription_info_spec.rb +63 -0
  258. data/spec/models/azure_event_hub_settings_spec.rb +75 -0
  259. data/spec/models/azure_tenant_registration_spec.rb +243 -0
  260. data/spec/models/cdrioamanager_get_cloud_event_ids_response_spec.rb +63 -0
  261. data/spec/models/criteria301f5eeae5ba41edb767b27e749f6375_spec.rb +57 -0
  262. data/spec/models/data_transaction_response_dto31852908d6f14d268312c3fcdb497315_spec.rb +79 -0
  263. data/spec/models/data_transaction_response_dto614da2e1369e44e596d2935db3da0365_spec.rb +79 -0
  264. data/spec/models/data_transaction_response_dto_cdc34dae7da648de941209e7e6a30770_spec.rb +79 -0
  265. data/spec/models/detects_external_alert_spec.rb +6 -0
  266. data/spec/models/device3550eb212db1414995c297cdbfe5cc16_spec.rb +147 -0
  267. data/spec/models/dismiss_affected_spec.rb +63 -0
  268. data/spec/models/dismiss_security_check_spec.rb +63 -0
  269. data/spec/models/distribution_descriptor_spec.rb +81 -0
  270. data/spec/models/domain_actor_document_spec.rb +6 -0
  271. data/spec/models/domain_aggregation_result_item_spec.rb +105 -0
  272. data/spec/models/domain_aggregation_result_spec.rb +63 -0
  273. data/spec/models/domain_cloud_group_spec.rb +75 -0
  274. data/spec/models/domain_discover_api_host_spec.rb +18 -0
  275. data/spec/models/domain_discover_apiio_t_host_spec.rb +18 -0
  276. data/spec/models/domain_feature_status_spec.rb +13 -1
  277. data/spec/models/domain_iot_imported_host_spec.rb +165 -0
  278. data/spec/models/domain_kestrel_data_export_header_computation_function_spec.rb +63 -0
  279. data/spec/models/domain_kestrel_data_export_header_mapping_spec.rb +57 -0
  280. data/spec/models/domain_kestrel_data_export_params_spec.rb +69 -0
  281. data/spec/models/{quickscanpro_mitre_attack_parent_spec.rb → domain_mitre_attack_parent_spec.rb} +6 -6
  282. data/spec/models/{quickscanpro_mitre_attack_spec.rb → domain_mitre_attack_spec.rb} +18 -6
  283. data/spec/models/domain_msa_meta_info_spec.rb +0 -6
  284. data/spec/models/domain_notification_config_spec.rb +12 -0
  285. data/spec/models/domain_report_metadata_spec.rb +4 -4
  286. data/spec/models/domain_rule_spec.rb +13 -7
  287. data/spec/models/domain_scan_spec.rb +6 -0
  288. data/spec/models/domain_scheduled_report_v1_spec.rb +6 -0
  289. data/spec/models/domain_vulnerability_actor_spec.rb +63 -0
  290. data/spec/models/domain_vulnerability_affected_product_spec.rb +57 -0
  291. data/spec/models/domain_vulnerability_cvss_v2_spec.rb +93 -0
  292. data/spec/models/domain_vulnerability_cvss_v3_spec.rb +105 -0
  293. data/spec/models/domain_vulnerability_related_threat_spec.rb +57 -0
  294. data/spec/models/domain_vulnerability_report_spec.rb +69 -0
  295. data/spec/models/domain_vulnerability_spec.rb +63 -3
  296. data/spec/models/domain_xdr_params_spec.rb +6 -0
  297. data/spec/models/error02abad40db9c4a4baf68f01bea6071c4_spec.rb +57 -0
  298. data/spec/models/error068cf337479748d6ac14b4a9c4043a93_spec.rb +57 -0
  299. data/spec/models/error208252f00cf64de68d28810846b7dd26_spec.rb +57 -0
  300. data/spec/models/error20dfebe4526641bd81749e954da7890e_spec.rb +57 -0
  301. data/spec/models/error2a083e88c6764d16bbb98873ef1e9e15_spec.rb +57 -0
  302. data/spec/models/error2c3c8d4e65c3447a8eae772de1b0e3ef_spec.rb +57 -0
  303. data/spec/models/error35d6bd13358246f9ae9ffbe791550e06_spec.rb +57 -0
  304. data/spec/models/error476679d881284bdc9a5192128d50d4b6_spec.rb +57 -0
  305. data/spec/models/error479167a4d6534b6a85ec7857c5fb14ba_spec.rb +57 -0
  306. data/spec/models/error4bee1dd3515c454f83249366486164d0_spec.rb +57 -0
  307. data/spec/models/error7bbeca3b1c2440f19c0730f62b3b6ef4_spec.rb +57 -0
  308. data/spec/models/error878b6eeb86ef40cdb1ec5f1207207e09_spec.rb +57 -0
  309. data/spec/models/error9cad4d8f334c467daf30ed3a72664779_spec.rb +57 -0
  310. data/spec/models/error_bc084ac4caa243b199e2307fb94184c3_spec.rb +57 -0
  311. data/spec/models/error_d3d26008b8464eeb912ff06244246cf2_spec.rb +57 -0
  312. data/spec/models/error_f2e2dae6d0e945279a68e68afaee2d54_spec.rb +57 -0
  313. data/spec/models/error_fa972818e96245a89bcee1f18b40eb0a_spec.rb +57 -0
  314. data/spec/models/exposure_da5345c68b174f978f19999c3e00cab9_spec.rb +69 -0
  315. data/spec/models/figapi_lookup_indicator_spec.rb +189 -0
  316. data/spec/models/flightcontrolapi_grant_input_spec.rb +6 -0
  317. data/spec/models/fwmgr_api_json_diff_spec.rb +6 -6
  318. data/spec/models/get_activity_monitor_spec.rb +63 -0
  319. data/spec/models/get_affected_spec.rb +63 -0
  320. data/spec/models/get_alerts_response_spec.rb +63 -0
  321. data/spec/models/get_device_inventory_spec.rb +63 -0
  322. data/spec/models/get_end_transaction_spec.rb +63 -0
  323. data/spec/models/get_integrations_spec.rb +63 -0
  324. data/spec/models/get_metrics_spec.rb +63 -0
  325. data/spec/models/get_security_checks_spec.rb +63 -0
  326. data/spec/models/get_security_compliance_spec.rb +63 -0
  327. data/spec/models/get_supported_saas_spec.rb +63 -0
  328. data/spec/models/get_system_logs_spec.rb +63 -0
  329. data/spec/models/get_system_users_spec.rb +63 -0
  330. data/spec/models/get_transaction_status_spec.rb +63 -0
  331. data/spec/models/get_user_inventory_spec.rb +63 -0
  332. data/spec/models/integration_a9d173a3bf93430f84054286043aa8e5_spec.rb +63 -0
  333. data/spec/models/integration_e95afa6fc5e04968b0e9d83e90042eca_spec.rb +87 -0
  334. data/spec/models/issue9a61d8c8ccac45858497af4786b275c7_spec.rb +57 -0
  335. data/spec/models/meta17335150dd1a4934a3a031a7b41e650b_spec.rb +63 -0
  336. data/spec/models/meta23005461ac9a41fbb4620fe4aa0a3438_spec.rb +63 -0
  337. data/spec/models/meta27c23ca116c1477bb85e765b5e09af69_spec.rb +63 -0
  338. data/spec/models/meta37a0d574ca884a2f8641e122e47a3ce9_spec.rb +63 -0
  339. data/spec/models/meta4f2b2e3bbfd74a7fb14e0ca86dd47d57_spec.rb +63 -0
  340. data/spec/models/meta4fda3fb731c54f5480750a508fa0142d_spec.rb +63 -0
  341. data/spec/models/meta536da5d66c054c69889a624cf1068900_spec.rb +63 -0
  342. data/spec/models/meta6dbc34e4022d4b5c9fe5785caf9801e7_spec.rb +63 -0
  343. data/spec/models/meta77f6bf58ba0045649e59a4655807a6ab_spec.rb +63 -0
  344. data/spec/models/meta9b68681eb9464c4e9612730248f519d6_spec.rb +63 -0
  345. data/spec/models/meta_c84ad721c6a841869874276dd0683cbb_spec.rb +63 -0
  346. data/spec/models/meta_d1db20ce08ad45b3987ead9035c153a9_spec.rb +63 -0
  347. data/spec/models/meta_d43679bfb5f448afa0899baa948533d1_spec.rb +63 -0
  348. data/spec/models/meta_e1df370799c7419d805c0f95b5d1ae90_spec.rb +63 -0
  349. data/spec/models/meta_e4ad714b314449299eca720f9d63b718_spec.rb +63 -0
  350. data/spec/models/meta_fb2fed2c461a4af583e5b3b790c82df1_spec.rb +63 -0
  351. data/spec/models/meta_fe9ab4e0124e4f0fb9946562895a2c78_spec.rb +63 -0
  352. data/spec/models/models_api_image_combined_export_spec.rb +24 -0
  353. data/spec/models/models_cluster_spec.rb +6 -0
  354. data/spec/models/models_config_info_type_spec.rb +99 -0
  355. data/spec/models/models_elf_binary_info_type_spec.rb +93 -0
  356. data/spec/models/models_he_string_file_info_type_spec.rb +69 -0
  357. data/spec/models/models_he_string_info_type_spec.rb +63 -0
  358. data/spec/models/models_image_info_type_spec.rb +117 -0
  359. data/spec/models/models_image_metadata_type_spec.rb +81 -0
  360. data/spec/models/models_inventory_engine_info_type_spec.rb +69 -0
  361. data/spec/models/models_inventory_scan_request_type_spec.rb +159 -0
  362. data/spec/models/models_inventory_type_spec.rb +135 -0
  363. data/spec/models/models_layer_info_type_spec.rb +93 -0
  364. data/spec/models/models_ml_model_type_spec.rb +93 -0
  365. data/spec/models/{domain_case_creation_request_spec.rb → models_scan_info_type_spec.rb} +12 -12
  366. data/spec/models/models_scan_request_type_spec.rb +117 -0
  367. data/spec/models/pagination033f3d78a056499b8f4877419a0ab636_spec.rb +75 -0
  368. data/spec/models/pagination080eaa160ef24b9ea15b29a7376520d1_spec.rb +75 -0
  369. data/spec/models/pagination10594326d99a4b3a8681178b13e58952_spec.rb +75 -0
  370. data/spec/models/pagination13aeb546de8049e7b3a1c36f9c93266b_spec.rb +75 -0
  371. data/spec/models/pagination210dcb9a1e7d4355aa68be7ec0fd01f5_spec.rb +75 -0
  372. data/spec/models/pagination30037a29e9404616b03177274ec26e23_spec.rb +75 -0
  373. data/spec/models/pagination3b8a127584ba4423a93eb7c8169b572b_spec.rb +75 -0
  374. data/spec/models/pagination3f3e43ffd8e64379931bdcb29aebc087_spec.rb +75 -0
  375. data/spec/models/pagination52f77164aafe4de6b6db6d957e7daa2d_spec.rb +75 -0
  376. data/spec/models/pagination548073ea1b2b436ba88a22f20220668f_spec.rb +75 -0
  377. data/spec/models/pagination5540128e40ad49718c1f4b4b5e4e558c_spec.rb +75 -0
  378. data/spec/models/pagination6447d6d09066458cbbaa67ba2e2337cc_spec.rb +75 -0
  379. data/spec/models/pagination9bacca2551f14ff5a7ca8bd9d42e3cd2_spec.rb +75 -0
  380. data/spec/models/pagination_d97a43983ded4cd7b949b22c9365f3ac_spec.rb +75 -0
  381. data/spec/models/pagination_f16542f2ce284253ae3ba96625cde422_spec.rb +75 -0
  382. data/spec/models/pagination_f3897127524749a8977efcf98f6fca21_spec.rb +75 -0
  383. data/spec/models/pagination_f6ab71b91d6246e0bd736cf3af5fad6e_spec.rb +75 -0
  384. data/spec/models/{types_query_result_spec.rb → quickscanpro_error_spec.rb} +8 -8
  385. data/spec/{api/handle_spec.rb → models/quickscanpro_meta_info_spec.rb} +12 -17
  386. data/spec/models/quickscanpro_scan_metadata_spec.rb +6 -0
  387. data/spec/models/rbac_cloud_group_spec.rb +75 -0
  388. data/spec/models/reason_result53b5512288cb4a35afeb08fb3232bc9a_spec.rb +51 -0
  389. data/spec/models/reason_result85bd120760ba447ea4ed7050227cea6d_spec.rb +51 -0
  390. data/spec/models/registration_iom_event_v2_spec.rb +6 -0
  391. data/spec/models/releasenotes_release_note_v2_spec.rb +81 -0
  392. data/spec/models/releasenotes_release_note_wrapper_v2_spec.rb +63 -0
  393. data/spec/models/resources_cloud_resource_spec.rb +6 -0
  394. data/spec/models/resources_compliance_control_spec.rb +18 -0
  395. data/spec/models/{restapi_indicators_aggregates_request_spec.rb → restapi_indicators_lookup_request_spec.rb} +7 -7
  396. data/spec/models/{restapi_indicators_aggregates_response_spec.rb → restapi_lookup_indicator_response_spec.rb} +6 -6
  397. data/spec/models/schema2_manifest_spec.rb +69 -0
  398. data/spec/models/security_check_metrics4dc2138e50b94346aca29c17db424031_spec.rb +81 -0
  399. data/spec/models/security_check_with_compliance_fabac54a5b434140a3258784ea52cedd_spec.rb +183 -0
  400. data/spec/models/source1a19145b2d194d208fce893f033e7d77_spec.rb +69 -0
  401. data/spec/models/source_acb91d86550f449aa4b1b5310bf5ae84_spec.rb +69 -0
  402. data/spec/models/source_f8f9612cb66e48f38a21f3f6c9c90ce3_spec.rb +69 -0
  403. data/spec/models/status_breakdown_c9f65dddc40c4ce591a60ab63a17ab21_spec.rb +81 -0
  404. data/spec/models/supported_integration6399100b6064428e971df473366a4291_spec.rb +63 -0
  405. data/spec/models/system_log35829c828fcc41f99005750f1c86b16b_spec.rb +105 -0
  406. data/spec/models/system_user62e536308fad4c7f8f020fb76f162088_spec.rb +123 -0
  407. data/spec/models/types_query_request_spec.rb +6 -0
  408. data/spec/models/upload_data_request_spec.rb +51 -0
  409. data/spec/models/upload_data_response_spec.rb +63 -0
  410. data/spec/models/user_c59913813fcc4565a44e697480b8846b_spec.rb +141 -0
  411. data/spec/models/v1_history_spec.rb +75 -0
  412. data/spec/models/v1_image_config_spec.rb +105 -0
  413. data/spec/models/v1_image_spec.rb +105 -0
  414. data/spec/models/v1_platform_spec.rb +75 -0
  415. data/spec/models/v1_root_fs_spec.rb +57 -0
  416. data/spec/models/webhooktrigger_response_config_spec.rb +0 -6
  417. metadata +2343 -1902
  418. data/lib/crimson-falcon/api/datascanner.rb +0 -225
  419. data/lib/crimson-falcon/api/handle.rb +0 -94
@@ -0,0 +1,331 @@
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 DomainAggregationResultItem
35
+ # count of the documents in the bucket
36
+ attr_accessor :count
37
+
38
+ # numerical value of the date or number start of the range
39
+ attr_accessor :from
40
+
41
+ # string value of the key, usually not populated
42
+ attr_accessor :key_as_string
43
+
44
+ attr_accessor :label
45
+
46
+ # string value of the from property, usually representing a date or number
47
+ attr_accessor :string_from
48
+
49
+ # string value of the to property, usually representing a date or number
50
+ attr_accessor :string_to
51
+
52
+ # sub-aggregations of the bucket
53
+ attr_accessor :sub_aggregates
54
+
55
+ # numerical value of the date or number end of the range
56
+ attr_accessor :to
57
+
58
+ # numerical value of the bucket
59
+ attr_accessor :value
60
+
61
+ # value as a string, usually not populated
62
+ attr_accessor :value_as_string
63
+
64
+ # Attribute mapping from ruby-style variable name to JSON key.
65
+ def self.attribute_map
66
+ {
67
+ :'count' => :'count',
68
+ :'from' => :'from',
69
+ :'key_as_string' => :'key_as_string',
70
+ :'label' => :'label',
71
+ :'string_from' => :'string_from',
72
+ :'string_to' => :'string_to',
73
+ :'sub_aggregates' => :'sub_aggregates',
74
+ :'to' => :'to',
75
+ :'value' => :'value',
76
+ :'value_as_string' => :'value_as_string'
77
+ }
78
+ end
79
+
80
+ # Returns all the JSON keys this model knows about
81
+ def self.acceptable_attributes
82
+ attribute_map.values
83
+ end
84
+
85
+ # Attribute type mapping.
86
+ def self.openapi_types
87
+ {
88
+ :'count' => :'Integer',
89
+ :'from' => :'Float',
90
+ :'key_as_string' => :'String',
91
+ :'label' => :'Object',
92
+ :'string_from' => :'String',
93
+ :'string_to' => :'String',
94
+ :'sub_aggregates' => :'Array<DomainAggregationResult>',
95
+ :'to' => :'Float',
96
+ :'value' => :'Float',
97
+ :'value_as_string' => :'String'
98
+ }
99
+ end
100
+
101
+ # List of attributes with nullable: true
102
+ def self.openapi_nullable
103
+ Set.new([
104
+ ])
105
+ end
106
+
107
+ # Initializes the object
108
+ # @param [Hash] attributes Model attributes in the form of hash
109
+ def initialize(attributes = {})
110
+ if (!attributes.is_a?(Hash))
111
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainAggregationResultItem` initialize method"
112
+ end
113
+
114
+ # check to see if the attribute exists and convert string to symbol for hash key
115
+ attributes = attributes.each_with_object({}) { |(k, v), h|
116
+ if (!self.class.attribute_map.key?(k.to_sym))
117
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainAggregationResultItem`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
118
+ end
119
+ h[k.to_sym] = v
120
+ }
121
+
122
+ if attributes.key?(:'count')
123
+ self.count = attributes[:'count']
124
+ end
125
+
126
+ if attributes.key?(:'from')
127
+ self.from = attributes[:'from']
128
+ end
129
+
130
+ if attributes.key?(:'key_as_string')
131
+ self.key_as_string = attributes[:'key_as_string']
132
+ end
133
+
134
+ if attributes.key?(:'label')
135
+ self.label = attributes[:'label']
136
+ end
137
+
138
+ if attributes.key?(:'string_from')
139
+ self.string_from = attributes[:'string_from']
140
+ end
141
+
142
+ if attributes.key?(:'string_to')
143
+ self.string_to = attributes[:'string_to']
144
+ end
145
+
146
+ if attributes.key?(:'sub_aggregates')
147
+ if (value = attributes[:'sub_aggregates']).is_a?(Array)
148
+ self.sub_aggregates = value
149
+ end
150
+ end
151
+
152
+ if attributes.key?(:'to')
153
+ self.to = attributes[:'to']
154
+ end
155
+
156
+ if attributes.key?(:'value')
157
+ self.value = attributes[:'value']
158
+ end
159
+
160
+ if attributes.key?(:'value_as_string')
161
+ self.value_as_string = attributes[:'value_as_string']
162
+ end
163
+ end
164
+
165
+ # Show invalid properties with the reasons. Usually used together with valid?
166
+ # @return Array for valid properties with the reasons
167
+ def list_invalid_properties
168
+ invalid_properties = Array.new
169
+ if @count.nil?
170
+ invalid_properties.push('invalid value for "count", count cannot be nil.')
171
+ end
172
+
173
+ invalid_properties
174
+ end
175
+
176
+ # Check to see if the all the properties in the model are valid
177
+ # @return true if the model is valid
178
+ def valid?
179
+ return false if @count.nil?
180
+ true
181
+ end
182
+
183
+ # Checks equality by comparing each attribute.
184
+ # @param [Object] Object to be compared
185
+ def ==(o)
186
+ return true if self.equal?(o)
187
+ self.class == o.class &&
188
+ count == o.count &&
189
+ from == o.from &&
190
+ key_as_string == o.key_as_string &&
191
+ label == o.label &&
192
+ string_from == o.string_from &&
193
+ string_to == o.string_to &&
194
+ sub_aggregates == o.sub_aggregates &&
195
+ to == o.to &&
196
+ value == o.value &&
197
+ value_as_string == o.value_as_string
198
+ end
199
+
200
+ # @see the `==` method
201
+ # @param [Object] Object to be compared
202
+ def eql?(o)
203
+ self == o
204
+ end
205
+
206
+ # Calculates hash code according to all attributes.
207
+ # @return [Integer] Hash code
208
+ def hash
209
+ [count, from, key_as_string, label, string_from, string_to, sub_aggregates, to, value, value_as_string].hash
210
+ end
211
+
212
+ # Builds the object from hash
213
+ # @param [Hash] attributes Model attributes in the form of hash
214
+ # @return [Object] Returns the model itself
215
+ def self.build_from_hash(attributes)
216
+ new.build_from_hash(attributes)
217
+ end
218
+
219
+ # Builds the object from hash
220
+ # @param [Hash] attributes Model attributes in the form of hash
221
+ # @return [Object] Returns the model itself
222
+ def build_from_hash(attributes)
223
+ return nil unless attributes.is_a?(Hash)
224
+ attributes = attributes.transform_keys(&:to_sym)
225
+ self.class.openapi_types.each_pair do |key, type|
226
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
227
+ self.send("#{key}=", nil)
228
+ elsif type =~ /\AArray<(.*)>/i
229
+ # check to ensure the input is an array given that the attribute
230
+ # is documented as an array but the input is not
231
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
232
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
233
+ end
234
+ elsif !attributes[self.class.attribute_map[key]].nil?
235
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
236
+ end
237
+ end
238
+
239
+ self
240
+ end
241
+
242
+ # Deserializes the data based on type
243
+ # @param string type Data type
244
+ # @param string value Value to be deserialized
245
+ # @return [Object] Deserialized data
246
+ def _deserialize(type, value)
247
+ case type.to_sym
248
+ when :Time
249
+ Time.parse(value)
250
+ when :Date
251
+ Date.parse(value)
252
+ when :String
253
+ value.to_s
254
+ when :Integer
255
+ value.to_i
256
+ when :Float
257
+ value.to_f
258
+ when :Boolean
259
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
260
+ true
261
+ else
262
+ false
263
+ end
264
+ when :Object
265
+ # generic object (usually a Hash), return directly
266
+ value
267
+ when /\AArray<(?<inner_type>.+)>\z/
268
+ inner_type = Regexp.last_match[:inner_type]
269
+ value.map { |v| _deserialize(inner_type, v) }
270
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
271
+ k_type = Regexp.last_match[:k_type]
272
+ v_type = Regexp.last_match[:v_type]
273
+ {}.tap do |hash|
274
+ value.each do |k, v|
275
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
276
+ end
277
+ end
278
+ else # model
279
+ # models (e.g. Pet) or oneOf
280
+ klass = Falcon.const_get(type)
281
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
282
+ end
283
+ end
284
+
285
+ # Returns the string representation of the object
286
+ # @return [String] String presentation of the object
287
+ def to_s
288
+ to_hash.to_s
289
+ end
290
+
291
+ # to_body is an alias to to_hash (backward compatibility)
292
+ # @return [Hash] Returns the object in the form of hash
293
+ def to_body
294
+ to_hash
295
+ end
296
+
297
+ # Returns the object in the form of hash
298
+ # @return [Hash] Returns the object in the form of hash
299
+ def to_hash
300
+ hash = {}
301
+ self.class.attribute_map.each_pair do |attr, param|
302
+ value = self.send(attr)
303
+ if value.nil?
304
+ is_nullable = self.class.openapi_nullable.include?(attr)
305
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
306
+ end
307
+
308
+ hash[param] = _to_hash(value)
309
+ end
310
+ hash
311
+ end
312
+
313
+ # Outputs non-array value in the form of hash
314
+ # For object, use to_hash. Otherwise, just return the value
315
+ # @param [Object] value Any valid value
316
+ # @return [Hash] Returns the value in the form of hash
317
+ def _to_hash(value)
318
+ if value.is_a?(Array)
319
+ value.compact.map { |v| _to_hash(v) }
320
+ elsif value.is_a?(Hash)
321
+ {}.tap do |hash|
322
+ value.each { |k, v| hash[k] = _to_hash(v) }
323
+ end
324
+ elsif value.respond_to? :to_hash
325
+ value.to_hash
326
+ else
327
+ value
328
+ end
329
+ end
330
+ end
331
+ end
@@ -0,0 +1,270 @@
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 DomainCloudGroup
35
+ attr_accessor :business_impact
36
+
37
+ attr_accessor :business_unit
38
+
39
+ attr_accessor :environment
40
+
41
+ attr_accessor :id
42
+
43
+ attr_accessor :name
44
+
45
+ # Attribute mapping from ruby-style variable name to JSON key.
46
+ def self.attribute_map
47
+ {
48
+ :'business_impact' => :'business_impact',
49
+ :'business_unit' => :'business_unit',
50
+ :'environment' => :'environment',
51
+ :'id' => :'id',
52
+ :'name' => :'name'
53
+ }
54
+ end
55
+
56
+ # Returns all the JSON keys this model knows about
57
+ def self.acceptable_attributes
58
+ attribute_map.values
59
+ end
60
+
61
+ # Attribute type mapping.
62
+ def self.openapi_types
63
+ {
64
+ :'business_impact' => :'String',
65
+ :'business_unit' => :'String',
66
+ :'environment' => :'String',
67
+ :'id' => :'String',
68
+ :'name' => :'String'
69
+ }
70
+ end
71
+
72
+ # List of attributes with nullable: true
73
+ def self.openapi_nullable
74
+ Set.new([
75
+ ])
76
+ end
77
+
78
+ # Initializes the object
79
+ # @param [Hash] attributes Model attributes in the form of hash
80
+ def initialize(attributes = {})
81
+ if (!attributes.is_a?(Hash))
82
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainCloudGroup` initialize method"
83
+ end
84
+
85
+ # check to see if the attribute exists and convert string to symbol for hash key
86
+ attributes = attributes.each_with_object({}) { |(k, v), h|
87
+ if (!self.class.attribute_map.key?(k.to_sym))
88
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainCloudGroup`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
89
+ end
90
+ h[k.to_sym] = v
91
+ }
92
+
93
+ if attributes.key?(:'business_impact')
94
+ self.business_impact = attributes[:'business_impact']
95
+ end
96
+
97
+ if attributes.key?(:'business_unit')
98
+ self.business_unit = attributes[:'business_unit']
99
+ end
100
+
101
+ if attributes.key?(:'environment')
102
+ self.environment = attributes[:'environment']
103
+ end
104
+
105
+ if attributes.key?(:'id')
106
+ self.id = attributes[:'id']
107
+ end
108
+
109
+ if attributes.key?(:'name')
110
+ self.name = attributes[:'name']
111
+ end
112
+ end
113
+
114
+ # Show invalid properties with the reasons. Usually used together with valid?
115
+ # @return Array for valid properties with the reasons
116
+ def list_invalid_properties
117
+ invalid_properties = Array.new
118
+ invalid_properties
119
+ end
120
+
121
+ # Check to see if the all the properties in the model are valid
122
+ # @return true if the model is valid
123
+ def valid?
124
+ true
125
+ end
126
+
127
+ # Checks equality by comparing each attribute.
128
+ # @param [Object] Object to be compared
129
+ def ==(o)
130
+ return true if self.equal?(o)
131
+ self.class == o.class &&
132
+ business_impact == o.business_impact &&
133
+ business_unit == o.business_unit &&
134
+ environment == o.environment &&
135
+ id == o.id &&
136
+ name == o.name
137
+ end
138
+
139
+ # @see the `==` method
140
+ # @param [Object] Object to be compared
141
+ def eql?(o)
142
+ self == o
143
+ end
144
+
145
+ # Calculates hash code according to all attributes.
146
+ # @return [Integer] Hash code
147
+ def hash
148
+ [business_impact, business_unit, environment, id, name].hash
149
+ end
150
+
151
+ # Builds the object from hash
152
+ # @param [Hash] attributes Model attributes in the form of hash
153
+ # @return [Object] Returns the model itself
154
+ def self.build_from_hash(attributes)
155
+ new.build_from_hash(attributes)
156
+ end
157
+
158
+ # Builds the object from hash
159
+ # @param [Hash] attributes Model attributes in the form of hash
160
+ # @return [Object] Returns the model itself
161
+ def build_from_hash(attributes)
162
+ return nil unless attributes.is_a?(Hash)
163
+ attributes = attributes.transform_keys(&:to_sym)
164
+ self.class.openapi_types.each_pair do |key, type|
165
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
166
+ self.send("#{key}=", nil)
167
+ elsif type =~ /\AArray<(.*)>/i
168
+ # check to ensure the input is an array given that the attribute
169
+ # is documented as an array but the input is not
170
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
171
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
172
+ end
173
+ elsif !attributes[self.class.attribute_map[key]].nil?
174
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
175
+ end
176
+ end
177
+
178
+ self
179
+ end
180
+
181
+ # Deserializes the data based on type
182
+ # @param string type Data type
183
+ # @param string value Value to be deserialized
184
+ # @return [Object] Deserialized data
185
+ def _deserialize(type, value)
186
+ case type.to_sym
187
+ when :Time
188
+ Time.parse(value)
189
+ when :Date
190
+ Date.parse(value)
191
+ when :String
192
+ value.to_s
193
+ when :Integer
194
+ value.to_i
195
+ when :Float
196
+ value.to_f
197
+ when :Boolean
198
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
199
+ true
200
+ else
201
+ false
202
+ end
203
+ when :Object
204
+ # generic object (usually a Hash), return directly
205
+ value
206
+ when /\AArray<(?<inner_type>.+)>\z/
207
+ inner_type = Regexp.last_match[:inner_type]
208
+ value.map { |v| _deserialize(inner_type, v) }
209
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
210
+ k_type = Regexp.last_match[:k_type]
211
+ v_type = Regexp.last_match[:v_type]
212
+ {}.tap do |hash|
213
+ value.each do |k, v|
214
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
215
+ end
216
+ end
217
+ else # model
218
+ # models (e.g. Pet) or oneOf
219
+ klass = Falcon.const_get(type)
220
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
221
+ end
222
+ end
223
+
224
+ # Returns the string representation of the object
225
+ # @return [String] String presentation of the object
226
+ def to_s
227
+ to_hash.to_s
228
+ end
229
+
230
+ # to_body is an alias to to_hash (backward compatibility)
231
+ # @return [Hash] Returns the object in the form of hash
232
+ def to_body
233
+ to_hash
234
+ end
235
+
236
+ # Returns the object in the form of hash
237
+ # @return [Hash] Returns the object in the form of hash
238
+ def to_hash
239
+ hash = {}
240
+ self.class.attribute_map.each_pair do |attr, param|
241
+ value = self.send(attr)
242
+ if value.nil?
243
+ is_nullable = self.class.openapi_nullable.include?(attr)
244
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
245
+ end
246
+
247
+ hash[param] = _to_hash(value)
248
+ end
249
+ hash
250
+ end
251
+
252
+ # Outputs non-array value in the form of hash
253
+ # For object, use to_hash. Otherwise, just return the value
254
+ # @param [Object] value Any valid value
255
+ # @return [Hash] Returns the value in the form of hash
256
+ def _to_hash(value)
257
+ if value.is_a?(Array)
258
+ value.compact.map { |v| _to_hash(v) }
259
+ elsif value.is_a?(Hash)
260
+ {}.tap do |hash|
261
+ value.each { |k, v| hash[k] = _to_hash(v) }
262
+ end
263
+ elsif value.respond_to? :to_hash
264
+ value.to_hash
265
+ else
266
+ value
267
+ end
268
+ end
269
+ end
270
+ end
@@ -271,6 +271,8 @@ module Falcon
271
271
  # The unique ID of the asset.
272
272
  attr_accessor :id
273
273
 
274
+ attr_accessor :imported_host_id
275
+
274
276
  # Whether the asset is exposed to the internet (Yes, No or Pending).
275
277
  attr_accessor :internet_exposure
276
278
 
@@ -283,6 +285,10 @@ module Falcon
283
285
  # The username of the account that manually assigned the internet exposure level
284
286
  attr_accessor :internet_exposure_username
285
287
 
288
+ attr_accessor :iot_imported
289
+
290
+ attr_accessor :iot_tags
291
+
286
292
  # For Linux and Mac hosts: the major version, minor version, and patch version of the kernel for the asset. For Windows hosts: the build number of the asset.
287
293
  attr_accessor :kernel_version
288
294
 
@@ -577,10 +583,13 @@ module Falcon
577
583
  :'hostname' => :'hostname',
578
584
  :'ics_id' => :'ics_id',
579
585
  :'id' => :'id',
586
+ :'imported_host_id' => :'imported_host_id',
580
587
  :'internet_exposure' => :'internet_exposure',
581
588
  :'internet_exposure_description' => :'internet_exposure_description',
582
589
  :'internet_exposure_timestamp' => :'internet_exposure_timestamp',
583
590
  :'internet_exposure_username' => :'internet_exposure_username',
591
+ :'iot_imported' => :'iot_imported',
592
+ :'iot_tags' => :'iot_tags',
584
593
  :'kernel_version' => :'kernel_version',
585
594
  :'last_discoverer_aid' => :'last_discoverer_aid',
586
595
  :'last_discoverer_hostname' => :'last_discoverer_hostname',
@@ -743,10 +752,13 @@ module Falcon
743
752
  :'hostname' => :'String',
744
753
  :'ics_id' => :'String',
745
754
  :'id' => :'String',
755
+ :'imported_host_id' => :'String',
746
756
  :'internet_exposure' => :'String',
747
757
  :'internet_exposure_description' => :'String',
748
758
  :'internet_exposure_timestamp' => :'String',
749
759
  :'internet_exposure_username' => :'String',
760
+ :'iot_imported' => :'DomainIotImportedHost',
761
+ :'iot_tags' => :'Array<String>',
750
762
  :'kernel_version' => :'String',
751
763
  :'last_discoverer_aid' => :'String',
752
764
  :'last_discoverer_hostname' => :'String',
@@ -1198,6 +1210,10 @@ module Falcon
1198
1210
  self.id = attributes[:'id']
1199
1211
  end
1200
1212
 
1213
+ if attributes.key?(:'imported_host_id')
1214
+ self.imported_host_id = attributes[:'imported_host_id']
1215
+ end
1216
+
1201
1217
  if attributes.key?(:'internet_exposure')
1202
1218
  self.internet_exposure = attributes[:'internet_exposure']
1203
1219
  end
@@ -1214,6 +1230,16 @@ module Falcon
1214
1230
  self.internet_exposure_username = attributes[:'internet_exposure_username']
1215
1231
  end
1216
1232
 
1233
+ if attributes.key?(:'iot_imported')
1234
+ self.iot_imported = attributes[:'iot_imported']
1235
+ end
1236
+
1237
+ if attributes.key?(:'iot_tags')
1238
+ if (value = attributes[:'iot_tags']).is_a?(Array)
1239
+ self.iot_tags = value
1240
+ end
1241
+ end
1242
+
1217
1243
  if attributes.key?(:'kernel_version')
1218
1244
  self.kernel_version = attributes[:'kernel_version']
1219
1245
  end
@@ -1637,10 +1663,13 @@ module Falcon
1637
1663
  hostname == o.hostname &&
1638
1664
  ics_id == o.ics_id &&
1639
1665
  id == o.id &&
1666
+ imported_host_id == o.imported_host_id &&
1640
1667
  internet_exposure == o.internet_exposure &&
1641
1668
  internet_exposure_description == o.internet_exposure_description &&
1642
1669
  internet_exposure_timestamp == o.internet_exposure_timestamp &&
1643
1670
  internet_exposure_username == o.internet_exposure_username &&
1671
+ iot_imported == o.iot_imported &&
1672
+ iot_tags == o.iot_tags &&
1644
1673
  kernel_version == o.kernel_version &&
1645
1674
  last_discoverer_aid == o.last_discoverer_aid &&
1646
1675
  last_discoverer_hostname == o.last_discoverer_hostname &&
@@ -1723,7 +1752,7 @@ module Falcon
1723
1752
  # Calculates hash code according to all attributes.
1724
1753
  # @return [Integer] Hash code
1725
1754
  def hash
1726
- [account_enabled, active_discovery, ad_user_account_control, ad_virtual_server, agent_version, aid, asset_roles, assigned_to, available_disk_space, available_disk_space_pct, average_memory_usage, average_memory_usage_pct, average_processor_usage, bios_hashes_data, bios_id, bios_manufacturer, bios_version, business_criticality, cid, city, claroty_id, classification, cloud_account_id, cloud_instance_id, cloud_provider, cloud_region, cloud_registered, cloud_resource_id, composite_internet_exposure, computed_asset_roles, computed_internet_exposure, computed_internet_exposure_external_ip, computed_internet_exposure_last_seen, confidence, country, cpu_manufacturer, cpu_processor_name, creation_timestamp, criticality, criticality_description, criticality_rule_id, criticality_timestamp, criticality_username, current_local_ip, current_network_prefix, data_providers, data_providers_count, department, descriptions, device_class, device_family, device_mode, device_slots, device_type, discoverer_aids, discoverer_count, discoverer_criticalities, discoverer_hostnames, discoverer_ics_collector_ids, discoverer_platform_names, discoverer_product_type_descs, discoverer_tags, discovering_by, disk_sizes, dragos_id, email, encrypted_drives, encrypted_drives_count, encryption_status, entity_type, external_ip, field_metadata, first_discoverer_aid, first_seen_timestamp, form_factor, fqdn, groups, hostname, ics_id, id, internet_exposure, internet_exposure_description, internet_exposure_timestamp, internet_exposure_username, kernel_version, last_discoverer_aid, last_discoverer_hostname, last_discoverer_ics_collector_id, last_seen_timestamp, local_ip_addresses, local_ips_count, location, logical_core_count, mac_addresses, machine_domain, managed_by, max_memory_usage, max_memory_usage_pct, max_processor_usage, memory_total, mount_storage_info, network_id, network_interfaces, network_scanned_ids, number_of_disk_drives, object_guid, object_sid, os_is_eol, os_security, os_service_pack, os_version, ot_information_sources, ot_network_ids, ot_serial_numbers, ou, ous, override_asset_roles, override_criticality_rules, override_internet_exposure, owned_by, physical_core_count, platform_name, processor_package_count, product_type, product_type_desc, protocols, purdue_level, qualys_id, qualys_network_id, reduced_functionality_mode, scan_details, servicenow_id, site_name, state, subnet, system_manufacturer, system_product_name, system_serial_number, tags, tenableio_id, total_bios_files, total_disk_space, total_memory, triage, unencrypted_drives, unencrypted_drives_count, used_disk_space, used_disk_space_pct, used_for, user_asset_roles, user_internet_exposure, virtual_zone, vlan, vulnerability_assessment_date, xdome_id].hash
1755
+ [account_enabled, active_discovery, ad_user_account_control, ad_virtual_server, agent_version, aid, asset_roles, assigned_to, available_disk_space, available_disk_space_pct, average_memory_usage, average_memory_usage_pct, average_processor_usage, bios_hashes_data, bios_id, bios_manufacturer, bios_version, business_criticality, cid, city, claroty_id, classification, cloud_account_id, cloud_instance_id, cloud_provider, cloud_region, cloud_registered, cloud_resource_id, composite_internet_exposure, computed_asset_roles, computed_internet_exposure, computed_internet_exposure_external_ip, computed_internet_exposure_last_seen, confidence, country, cpu_manufacturer, cpu_processor_name, creation_timestamp, criticality, criticality_description, criticality_rule_id, criticality_timestamp, criticality_username, current_local_ip, current_network_prefix, data_providers, data_providers_count, department, descriptions, device_class, device_family, device_mode, device_slots, device_type, discoverer_aids, discoverer_count, discoverer_criticalities, discoverer_hostnames, discoverer_ics_collector_ids, discoverer_platform_names, discoverer_product_type_descs, discoverer_tags, discovering_by, disk_sizes, dragos_id, email, encrypted_drives, encrypted_drives_count, encryption_status, entity_type, external_ip, field_metadata, first_discoverer_aid, first_seen_timestamp, form_factor, fqdn, groups, hostname, ics_id, id, imported_host_id, internet_exposure, internet_exposure_description, internet_exposure_timestamp, internet_exposure_username, iot_imported, iot_tags, kernel_version, last_discoverer_aid, last_discoverer_hostname, last_discoverer_ics_collector_id, last_seen_timestamp, local_ip_addresses, local_ips_count, location, logical_core_count, mac_addresses, machine_domain, managed_by, max_memory_usage, max_memory_usage_pct, max_processor_usage, memory_total, mount_storage_info, network_id, network_interfaces, network_scanned_ids, number_of_disk_drives, object_guid, object_sid, os_is_eol, os_security, os_service_pack, os_version, ot_information_sources, ot_network_ids, ot_serial_numbers, ou, ous, override_asset_roles, override_criticality_rules, override_internet_exposure, owned_by, physical_core_count, platform_name, processor_package_count, product_type, product_type_desc, protocols, purdue_level, qualys_id, qualys_network_id, reduced_functionality_mode, scan_details, servicenow_id, site_name, state, subnet, system_manufacturer, system_product_name, system_serial_number, tags, tenableio_id, total_bios_files, total_disk_space, total_memory, triage, unencrypted_drives, unencrypted_drives_count, used_disk_space, used_disk_space_pct, used_for, user_asset_roles, user_internet_exposure, virtual_zone, vlan, vulnerability_assessment_date, xdome_id].hash
1727
1756
  end
1728
1757
 
1729
1758
  # Builds the object from hash