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,419 @@
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 ModelsInventoryType
35
+ attr_accessor :application_packages
36
+
37
+ attr_accessor :config
38
+
39
+ attr_accessor :config_info
40
+
41
+ attr_accessor :elf_binaries
42
+
43
+ attr_accessor :image_info
44
+
45
+ attr_accessor :inventory_engine_info
46
+
47
+ attr_accessor :layers
48
+
49
+ attr_accessor :ml_models
50
+
51
+ attr_accessor :manifest
52
+
53
+ attr_accessor :os_info
54
+
55
+ attr_accessor :packages
56
+
57
+ attr_accessor :ai_related
58
+
59
+ attr_accessor :high_entropy_s3_file_exists
60
+
61
+ attr_accessor :interesting_strings
62
+
63
+ attr_accessor :whiteout_files
64
+
65
+ # Attribute mapping from ruby-style variable name to JSON key.
66
+ def self.attribute_map
67
+ {
68
+ :'application_packages' => :'ApplicationPackages',
69
+ :'config' => :'Config',
70
+ :'config_info' => :'ConfigInfo',
71
+ :'elf_binaries' => :'ELFBinaries',
72
+ :'image_info' => :'ImageInfo',
73
+ :'inventory_engine_info' => :'InventoryEngineInfo',
74
+ :'layers' => :'Layers',
75
+ :'ml_models' => :'MLModels',
76
+ :'manifest' => :'Manifest',
77
+ :'os_info' => :'OSInfo',
78
+ :'packages' => :'Packages',
79
+ :'ai_related' => :'ai_related',
80
+ :'high_entropy_s3_file_exists' => :'high_entropy_s3_file_exists',
81
+ :'interesting_strings' => :'interesting_strings',
82
+ :'whiteout_files' => :'whiteout_files'
83
+ }
84
+ end
85
+
86
+ # Returns all the JSON keys this model knows about
87
+ def self.acceptable_attributes
88
+ attribute_map.values
89
+ end
90
+
91
+ # Attribute type mapping.
92
+ def self.openapi_types
93
+ {
94
+ :'application_packages' => :'Array<ModelsApplicationPackageInfoType>',
95
+ :'config' => :'V1Image',
96
+ :'config_info' => :'ModelsConfigInfoType',
97
+ :'elf_binaries' => :'Array<ModelsELFBinaryInfoType>',
98
+ :'image_info' => :'ModelsImageInfoType',
99
+ :'inventory_engine_info' => :'ModelsInventoryEngineInfoType',
100
+ :'layers' => :'Array<ModelsLayerInfoType>',
101
+ :'ml_models' => :'Array<ModelsMLModelType>',
102
+ :'manifest' => :'Schema2Manifest',
103
+ :'os_info' => :'ModelsOSInfoType',
104
+ :'packages' => :'Array<ModelsPackageInfoType>',
105
+ :'ai_related' => :'Boolean',
106
+ :'high_entropy_s3_file_exists' => :'Boolean',
107
+ :'interesting_strings' => :'Array<ModelsHEStringFileInfoType>',
108
+ :'whiteout_files' => :'Array<String>'
109
+ }
110
+ end
111
+
112
+ # List of attributes with nullable: true
113
+ def self.openapi_nullable
114
+ Set.new([
115
+ ])
116
+ end
117
+
118
+ # Initializes the object
119
+ # @param [Hash] attributes Model attributes in the form of hash
120
+ def initialize(attributes = {})
121
+ if (!attributes.is_a?(Hash))
122
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsInventoryType` initialize method"
123
+ end
124
+
125
+ # check to see if the attribute exists and convert string to symbol for hash key
126
+ attributes = attributes.each_with_object({}) { |(k, v), h|
127
+ if (!self.class.attribute_map.key?(k.to_sym))
128
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsInventoryType`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
129
+ end
130
+ h[k.to_sym] = v
131
+ }
132
+
133
+ if attributes.key?(:'application_packages')
134
+ if (value = attributes[:'application_packages']).is_a?(Array)
135
+ self.application_packages = value
136
+ end
137
+ end
138
+
139
+ if attributes.key?(:'config')
140
+ self.config = attributes[:'config']
141
+ end
142
+
143
+ if attributes.key?(:'config_info')
144
+ self.config_info = attributes[:'config_info']
145
+ end
146
+
147
+ if attributes.key?(:'elf_binaries')
148
+ if (value = attributes[:'elf_binaries']).is_a?(Array)
149
+ self.elf_binaries = value
150
+ end
151
+ end
152
+
153
+ if attributes.key?(:'image_info')
154
+ self.image_info = attributes[:'image_info']
155
+ end
156
+
157
+ if attributes.key?(:'inventory_engine_info')
158
+ self.inventory_engine_info = attributes[:'inventory_engine_info']
159
+ end
160
+
161
+ if attributes.key?(:'layers')
162
+ if (value = attributes[:'layers']).is_a?(Array)
163
+ self.layers = value
164
+ end
165
+ end
166
+
167
+ if attributes.key?(:'ml_models')
168
+ if (value = attributes[:'ml_models']).is_a?(Array)
169
+ self.ml_models = value
170
+ end
171
+ end
172
+
173
+ if attributes.key?(:'manifest')
174
+ self.manifest = attributes[:'manifest']
175
+ end
176
+
177
+ if attributes.key?(:'os_info')
178
+ self.os_info = attributes[:'os_info']
179
+ end
180
+
181
+ if attributes.key?(:'packages')
182
+ if (value = attributes[:'packages']).is_a?(Array)
183
+ self.packages = value
184
+ end
185
+ end
186
+
187
+ if attributes.key?(:'ai_related')
188
+ self.ai_related = attributes[:'ai_related']
189
+ end
190
+
191
+ if attributes.key?(:'high_entropy_s3_file_exists')
192
+ self.high_entropy_s3_file_exists = attributes[:'high_entropy_s3_file_exists']
193
+ end
194
+
195
+ if attributes.key?(:'interesting_strings')
196
+ if (value = attributes[:'interesting_strings']).is_a?(Array)
197
+ self.interesting_strings = value
198
+ end
199
+ end
200
+
201
+ if attributes.key?(:'whiteout_files')
202
+ if (value = attributes[:'whiteout_files']).is_a?(Array)
203
+ self.whiteout_files = value
204
+ end
205
+ end
206
+ end
207
+
208
+ # Show invalid properties with the reasons. Usually used together with valid?
209
+ # @return Array for valid properties with the reasons
210
+ def list_invalid_properties
211
+ invalid_properties = Array.new
212
+ if @config.nil?
213
+ invalid_properties.push('invalid value for "config", config cannot be nil.')
214
+ end
215
+
216
+ if @config_info.nil?
217
+ invalid_properties.push('invalid value for "config_info", config_info cannot be nil.')
218
+ end
219
+
220
+ if @elf_binaries.nil?
221
+ invalid_properties.push('invalid value for "elf_binaries", elf_binaries cannot be nil.')
222
+ end
223
+
224
+ if @image_info.nil?
225
+ invalid_properties.push('invalid value for "image_info", image_info cannot be nil.')
226
+ end
227
+
228
+ if @inventory_engine_info.nil?
229
+ invalid_properties.push('invalid value for "inventory_engine_info", inventory_engine_info cannot be nil.')
230
+ end
231
+
232
+ if @layers.nil?
233
+ invalid_properties.push('invalid value for "layers", layers cannot be nil.')
234
+ end
235
+
236
+ if @manifest.nil?
237
+ invalid_properties.push('invalid value for "manifest", manifest cannot be nil.')
238
+ end
239
+
240
+ if @os_info.nil?
241
+ invalid_properties.push('invalid value for "os_info", os_info cannot be nil.')
242
+ end
243
+
244
+ if @packages.nil?
245
+ invalid_properties.push('invalid value for "packages", packages cannot be nil.')
246
+ end
247
+
248
+ invalid_properties
249
+ end
250
+
251
+ # Check to see if the all the properties in the model are valid
252
+ # @return true if the model is valid
253
+ def valid?
254
+ return false if @config.nil?
255
+ return false if @config_info.nil?
256
+ return false if @elf_binaries.nil?
257
+ return false if @image_info.nil?
258
+ return false if @inventory_engine_info.nil?
259
+ return false if @layers.nil?
260
+ return false if @manifest.nil?
261
+ return false if @os_info.nil?
262
+ return false if @packages.nil?
263
+ true
264
+ end
265
+
266
+ # Checks equality by comparing each attribute.
267
+ # @param [Object] Object to be compared
268
+ def ==(o)
269
+ return true if self.equal?(o)
270
+ self.class == o.class &&
271
+ application_packages == o.application_packages &&
272
+ config == o.config &&
273
+ config_info == o.config_info &&
274
+ elf_binaries == o.elf_binaries &&
275
+ image_info == o.image_info &&
276
+ inventory_engine_info == o.inventory_engine_info &&
277
+ layers == o.layers &&
278
+ ml_models == o.ml_models &&
279
+ manifest == o.manifest &&
280
+ os_info == o.os_info &&
281
+ packages == o.packages &&
282
+ ai_related == o.ai_related &&
283
+ high_entropy_s3_file_exists == o.high_entropy_s3_file_exists &&
284
+ interesting_strings == o.interesting_strings &&
285
+ whiteout_files == o.whiteout_files
286
+ end
287
+
288
+ # @see the `==` method
289
+ # @param [Object] Object to be compared
290
+ def eql?(o)
291
+ self == o
292
+ end
293
+
294
+ # Calculates hash code according to all attributes.
295
+ # @return [Integer] Hash code
296
+ def hash
297
+ [application_packages, config, config_info, elf_binaries, image_info, inventory_engine_info, layers, ml_models, manifest, os_info, packages, ai_related, high_entropy_s3_file_exists, interesting_strings, whiteout_files].hash
298
+ end
299
+
300
+ # Builds the object from hash
301
+ # @param [Hash] attributes Model attributes in the form of hash
302
+ # @return [Object] Returns the model itself
303
+ def self.build_from_hash(attributes)
304
+ new.build_from_hash(attributes)
305
+ end
306
+
307
+ # Builds the object from hash
308
+ # @param [Hash] attributes Model attributes in the form of hash
309
+ # @return [Object] Returns the model itself
310
+ def build_from_hash(attributes)
311
+ return nil unless attributes.is_a?(Hash)
312
+ attributes = attributes.transform_keys(&:to_sym)
313
+ self.class.openapi_types.each_pair do |key, type|
314
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
315
+ self.send("#{key}=", nil)
316
+ elsif type =~ /\AArray<(.*)>/i
317
+ # check to ensure the input is an array given that the attribute
318
+ # is documented as an array but the input is not
319
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
320
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
321
+ end
322
+ elsif !attributes[self.class.attribute_map[key]].nil?
323
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
324
+ end
325
+ end
326
+
327
+ self
328
+ end
329
+
330
+ # Deserializes the data based on type
331
+ # @param string type Data type
332
+ # @param string value Value to be deserialized
333
+ # @return [Object] Deserialized data
334
+ def _deserialize(type, value)
335
+ case type.to_sym
336
+ when :Time
337
+ Time.parse(value)
338
+ when :Date
339
+ Date.parse(value)
340
+ when :String
341
+ value.to_s
342
+ when :Integer
343
+ value.to_i
344
+ when :Float
345
+ value.to_f
346
+ when :Boolean
347
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
348
+ true
349
+ else
350
+ false
351
+ end
352
+ when :Object
353
+ # generic object (usually a Hash), return directly
354
+ value
355
+ when /\AArray<(?<inner_type>.+)>\z/
356
+ inner_type = Regexp.last_match[:inner_type]
357
+ value.map { |v| _deserialize(inner_type, v) }
358
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
359
+ k_type = Regexp.last_match[:k_type]
360
+ v_type = Regexp.last_match[:v_type]
361
+ {}.tap do |hash|
362
+ value.each do |k, v|
363
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
364
+ end
365
+ end
366
+ else # model
367
+ # models (e.g. Pet) or oneOf
368
+ klass = Falcon.const_get(type)
369
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
370
+ end
371
+ end
372
+
373
+ # Returns the string representation of the object
374
+ # @return [String] String presentation of the object
375
+ def to_s
376
+ to_hash.to_s
377
+ end
378
+
379
+ # to_body is an alias to to_hash (backward compatibility)
380
+ # @return [Hash] Returns the object in the form of hash
381
+ def to_body
382
+ to_hash
383
+ end
384
+
385
+ # Returns the object in the form of hash
386
+ # @return [Hash] Returns the object in the form of hash
387
+ def to_hash
388
+ hash = {}
389
+ self.class.attribute_map.each_pair do |attr, param|
390
+ value = self.send(attr)
391
+ if value.nil?
392
+ is_nullable = self.class.openapi_nullable.include?(attr)
393
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
394
+ end
395
+
396
+ hash[param] = _to_hash(value)
397
+ end
398
+ hash
399
+ end
400
+
401
+ # Outputs non-array value in the form of hash
402
+ # For object, use to_hash. Otherwise, just return the value
403
+ # @param [Object] value Any valid value
404
+ # @return [Hash] Returns the value in the form of hash
405
+ def _to_hash(value)
406
+ if value.is_a?(Array)
407
+ value.compact.map { |v| _to_hash(v) }
408
+ elsif value.is_a?(Hash)
409
+ {}.tap do |hash|
410
+ value.each { |k, v| hash[k] = _to_hash(v) }
411
+ end
412
+ elsif value.respond_to? :to_hash
413
+ value.to_hash
414
+ else
415
+ value
416
+ end
417
+ end
418
+ end
419
+ end