crimson-falcon 0.5.0 → 1.0.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 (515) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2151 -1857
  3. data/lib/crimson-falcon/api/{alerts_api.rb → alerts.rb} +105 -39
  4. data/lib/crimson-falcon/api/{api_integrations_api.rb → api_integrations.rb} +12 -12
  5. data/lib/crimson-falcon/api/{aspm_api.rb → aspm.rb} +295 -96
  6. data/lib/crimson-falcon/api/{certificate_based_exclusions_api.rb → certificate_based_exclusions.rb} +25 -25
  7. data/lib/crimson-falcon/api/{default_api.rb → cloud_aws_registration.rb} +29 -29
  8. data/lib/crimson-falcon/api/cloud_azure_registration.rb +105 -0
  9. data/lib/crimson-falcon/api/{cloud_connect_aws_api.rb → cloud_connect_aws.rb} +35 -35
  10. data/lib/crimson-falcon/api/cloud_security_assets.rb +179 -0
  11. data/lib/crimson-falcon/api/{cloud_snapshots_api.rb → cloud_snapshots.rb} +22 -22
  12. data/lib/crimson-falcon/api/{compliance_assessments_api.rb → compliance_assessments.rb} +34 -34
  13. data/lib/crimson-falcon/api/{configuration_assessment_api.rb → configuration_assessment.rb} +11 -11
  14. data/lib/crimson-falcon/api/{configuration_assessment_evaluation_logic_api.rb → configuration_assessment_evaluation_logic.rb} +5 -5
  15. data/lib/crimson-falcon/api/{container_alerts_api.rb → container_alerts.rb} +20 -20
  16. data/lib/crimson-falcon/api/{container_detections_api.rb → container_detections.rb} +46 -46
  17. data/lib/crimson-falcon/api/{container_images_api.rb → container_images.rb} +116 -116
  18. data/lib/crimson-falcon/api/{container_packages_api.rb → container_packages.rb} +122 -52
  19. data/lib/crimson-falcon/api/{container_vulnerabilities_api.rb → container_vulnerabilities.rb} +93 -93
  20. data/lib/crimson-falcon/api/content_update_policies.rb +769 -0
  21. data/lib/crimson-falcon/api/correlation_rules.rb +505 -0
  22. data/lib/crimson-falcon/api/{cspg_iacapi_api.rb → cspg_iac.rb} +4 -4
  23. data/lib/crimson-falcon/api/{cspm_registration_api.rb → cspm_registration.rb} +473 -414
  24. data/lib/crimson-falcon/api/{custom_ioa_api.rb → custom_ioa.rb} +82 -82
  25. data/lib/crimson-falcon/api/{custom_storage_api.rb → custom_storage.rb} +136 -136
  26. data/lib/crimson-falcon/api/{d4c_registration_api.rb → d4c_registration.rb} +97 -178
  27. data/lib/crimson-falcon/api/{datascanner_api.rb → datascanner.rb} +13 -13
  28. data/lib/crimson-falcon/api/{delivery_settings_api.rb → delivery_settings.rb} +8 -8
  29. data/lib/crimson-falcon/api/deployments.rb +115 -0
  30. data/lib/crimson-falcon/api/{detects_api.rb → detects.rb} +18 -18
  31. data/lib/crimson-falcon/api/device_content.rb +176 -0
  32. data/lib/crimson-falcon/api/{device_control_policies_api.rb → device_control_policies.rb} +57 -57
  33. data/lib/crimson-falcon/api/{discover_api.rb → discover.rb} +119 -53
  34. data/lib/crimson-falcon/api/{discover_iot_api.rb → discover_iot.rb} +16 -16
  35. data/lib/crimson-falcon/api/downloads.rb +108 -0
  36. data/lib/crimson-falcon/api/{downloads_api_api.rb → downloads_api.rb} +4 -73
  37. data/lib/crimson-falcon/api/{drift_indicators_api.rb → drift_indicators.rb} +38 -38
  38. data/lib/crimson-falcon/api/{event_schema_api.rb → event_schema.rb} +10 -10
  39. data/lib/crimson-falcon/api/{event_streams_api.rb → event_streams.rb} +11 -11
  40. data/lib/crimson-falcon/api/{exposure_management_api.rb → exposure_management.rb} +47 -41
  41. data/lib/crimson-falcon/api/{falcon_complete_dashboard_api.rb → falcon_complete_dashboard.rb} +73 -73
  42. data/lib/crimson-falcon/api/{falcon_container_api.rb → falcon_container.rb} +4 -4
  43. data/lib/crimson-falcon/api/{falcon_container_cli_api.rb → falcon_container_cli.rb} +5 -5
  44. data/lib/crimson-falcon/api/{falcon_container_image_api.rb → falcon_container_image.rb} +46 -46
  45. data/lib/crimson-falcon/api/{falconx_sandbox_api.rb → falconx_sandbox.rb} +62 -62
  46. data/lib/crimson-falcon/api/{field_schema_api.rb → field_schema.rb} +7 -7
  47. data/lib/crimson-falcon/api/{filevantage_api.rb → filevantage.rb} +149 -149
  48. data/lib/crimson-falcon/api/{firewall_management_api.rb → firewall_management.rb} +138 -138
  49. data/lib/crimson-falcon/api/{firewall_policies_api.rb → firewall_policies.rb} +52 -52
  50. data/lib/crimson-falcon/api/{foundry_logscale_api.rb → foundry_logscale.rb} +65 -65
  51. data/lib/crimson-falcon/api/{handle_api.rb → handle.rb} +4 -4
  52. data/lib/crimson-falcon/api/{host_group_api.rb → host_group.rb} +46 -46
  53. data/lib/crimson-falcon/api/{host_migration_api.rb → host_migration.rb} +49 -49
  54. data/lib/crimson-falcon/api/{hosts_api.rb → hosts.rb} +50 -50
  55. data/lib/crimson-falcon/api/{humio_auth_proxy_api.rb → humio_auth_proxy.rb} +37 -37
  56. data/lib/crimson-falcon/api/{identity_entities_api.rb → identity_entities.rb} +12 -12
  57. data/lib/crimson-falcon/api/{identity_protection_api.rb → identity_protection.rb} +28 -28
  58. data/lib/crimson-falcon/api/{image_assessment_policies_api.rb → image_assessment_policies.rb} +44 -44
  59. data/lib/crimson-falcon/api/{incidents_api.rb → incidents.rb} +22 -22
  60. data/lib/crimson-falcon/api/{installation_tokens_api.rb → installation_tokens.rb} +29 -29
  61. data/lib/crimson-falcon/api/{installation_tokens_settings_api.rb → installation_tokens_settings.rb} +5 -5
  62. data/lib/crimson-falcon/api/{intel_api.rb → intel.rb} +85 -85
  63. data/lib/crimson-falcon/api/intelligence_indicator_graph.rb +118 -0
  64. data/lib/crimson-falcon/api/{ioa_exclusions_api.rb → ioa_exclusions.rb} +20 -20
  65. data/lib/crimson-falcon/api/{ioc_api.rb → ioc.rb} +61 -61
  66. data/lib/crimson-falcon/api/{iocs_api.rb → iocs.rb} +21 -21
  67. data/lib/crimson-falcon/api/{kubernetes_protection_api.rb → kubernetes_protection.rb} +370 -370
  68. data/lib/crimson-falcon/api/lookup_files.rb +239 -0
  69. data/lib/crimson-falcon/api/{malquery_api.rb → malquery.rb} +36 -36
  70. data/lib/crimson-falcon/api/{message_center_api.rb → message_center.rb} +42 -42
  71. data/lib/crimson-falcon/api/{ml_exclusions_api.rb → ml_exclusions.rb} +20 -20
  72. data/lib/crimson-falcon/api/{mobile_enrollment_api.rb → mobile_enrollment.rb} +9 -9
  73. data/lib/crimson-falcon/api/{mssp_api.rb → mssp.rb} +117 -117
  74. data/lib/crimson-falcon/api/{oauth2_api.rb → oauth2.rb} +10 -10
  75. data/lib/crimson-falcon/api/{ods_api.rb → ods.rb} +61 -61
  76. data/lib/crimson-falcon/api/{overwatch_dashboard_api.rb → overwatch_dashboard.rb} +21 -21
  77. data/lib/crimson-falcon/api/{prevention_policies_api.rb → prevention_policies.rb} +50 -50
  78. data/lib/crimson-falcon/api/{quarantine_api.rb → quarantine.rb} +24 -24
  79. data/lib/crimson-falcon/api/{quick_scan_api.rb → quick_scan.rb} +16 -16
  80. data/lib/crimson-falcon/api/{quick_scan_pro_api.rb → quick_scan_pro.rb} +25 -25
  81. data/lib/crimson-falcon/api/{real_time_response_api.rb → real_time_response.rb} +98 -98
  82. data/lib/crimson-falcon/api/{real_time_response_admin_api.rb → real_time_response_admin.rb} +72 -72
  83. data/lib/crimson-falcon/api/{real_time_response_audit_api.rb → real_time_response_audit.rb} +4 -4
  84. data/lib/crimson-falcon/api/{recon_api.rb → recon.rb} +109 -109
  85. data/lib/crimson-falcon/api/release_notes.rb +287 -0
  86. data/lib/crimson-falcon/api/releases.rb +125 -0
  87. data/lib/crimson-falcon/api/{report_executions_api.rb → report_executions.rb} +16 -16
  88. data/lib/crimson-falcon/api/{response_policies_api.rb → response_policies.rb} +50 -50
  89. data/lib/crimson-falcon/api/{runtime_detections_api.rb → runtime_detections.rb} +13 -13
  90. data/lib/crimson-falcon/api/{sample_uploads_api.rb → sample_uploads.rb} +49 -49
  91. data/lib/crimson-falcon/api/{scheduled_reports_api.rb → scheduled_reports.rb} +12 -12
  92. data/lib/crimson-falcon/api/{sensor_download_api.rb → sensor_download.rb} +32 -32
  93. data/lib/crimson-falcon/api/{sensor_update_policies_api.rb → sensor_update_policies.rb} +88 -88
  94. data/lib/crimson-falcon/api/{sensor_usage_api_api.rb → sensor_usage.rb} +4 -4
  95. data/lib/crimson-falcon/api/{sensor_visibility_exclusions_api.rb → sensor_visibility_exclusions.rb} +20 -20
  96. data/lib/crimson-falcon/api/{spotlight_evaluation_logic_api.rb → spotlight_evaluation_logic.rb} +13 -13
  97. data/lib/crimson-falcon/api/{spotlight_vulnerabilities_api.rb → spotlight_vulnerabilities.rb} +27 -27
  98. data/lib/crimson-falcon/api/{threatgraph_api.rb → threatgraph.rb} +42 -42
  99. data/lib/crimson-falcon/api/{unidentified_containers_api.rb → unidentified_containers.rb} +23 -23
  100. data/lib/crimson-falcon/api/{user_management_api.rb → user_management.rb} +94 -94
  101. data/lib/crimson-falcon/api/vulnerabilities.rb +106 -0
  102. data/lib/crimson-falcon/api/{workflows_api.rb → workflows.rb} +76 -76
  103. data/lib/crimson-falcon/api/{zero_trust_assessment_api.rb → zero_trust_assessment.rb} +12 -12
  104. data/lib/crimson-falcon/models/api_create_rule_operation_v1.rb +257 -0
  105. data/lib/crimson-falcon/models/api_get_entities_rules_response_v1.rb +266 -0
  106. data/lib/crimson-falcon/models/api_patch_rule_operation_v1.rb +257 -0
  107. data/lib/crimson-falcon/models/api_patch_rule_search_v1.rb +261 -0
  108. data/lib/crimson-falcon/models/api_rule_create_request_v1.rb +354 -0
  109. data/lib/crimson-falcon/models/api_rule_operation_v1.rb +266 -0
  110. data/lib/crimson-falcon/models/api_rule_patch_request_v1.rb +311 -0
  111. data/lib/crimson-falcon/models/api_rule_schedule_v1.rb +239 -0
  112. data/lib/crimson-falcon/models/api_rule_schedule_v1_patch.rb +239 -0
  113. data/lib/crimson-falcon/models/api_rule_search_v1.rb +276 -0
  114. data/lib/crimson-falcon/models/api_rule_v1.rb +132 -203
  115. data/lib/crimson-falcon/models/apidomain_saved_search_execute_request_v1.rb +1 -89
  116. data/lib/crimson-falcon/models/assets_get_resource_ids_response.rb +261 -0
  117. data/lib/crimson-falcon/models/assets_get_resources_response.rb +266 -0
  118. data/lib/crimson-falcon/models/base_set_content_update_policy_precedence_req_v1.rb +242 -0
  119. data/lib/crimson-falcon/models/content_update_create_policies_req_v1.rb +241 -0
  120. data/lib/crimson-falcon/models/content_update_create_policy_req_v1.rb +259 -0
  121. data/lib/crimson-falcon/models/content_update_ring_assignment_settings_v1.rb +253 -0
  122. data/lib/crimson-falcon/models/content_update_settings_v1.rb +241 -0
  123. data/lib/crimson-falcon/models/content_update_update_policies_req_v1.rb +241 -0
  124. data/lib/crimson-falcon/models/content_update_update_policy_req_v1.rb +269 -0
  125. data/lib/crimson-falcon/models/dataclassifications_label.rb +267 -0
  126. data/lib/crimson-falcon/models/dataclassifications_response.rb +284 -0
  127. data/lib/crimson-falcon/models/dataclassifications_tag.rb +283 -0
  128. data/lib/crimson-falcon/models/deployments_api_deployment_ring_view.rb +302 -0
  129. data/lib/crimson-falcon/models/deployments_api_deployment_view.rb +309 -0
  130. data/lib/crimson-falcon/models/deployments_api_deployment_view_wrapper.rb +271 -0
  131. data/lib/crimson-falcon/models/detectsapi_post_combined_alerts_v1_meta.rb +271 -0
  132. data/lib/crimson-falcon/models/detectsapi_post_combined_alerts_v1_paging.rb +262 -0
  133. data/lib/crimson-falcon/models/detectsapi_post_combined_alerts_v1_request_swagger.rb +261 -0
  134. data/lib/crimson-falcon/models/detectsapi_post_combined_alerts_v1_response_swagger.rb +272 -0
  135. data/lib/crimson-falcon/models/device_control_usb_class_exceptions_req_v1.rb +3 -3
  136. data/lib/crimson-falcon/models/device_control_usb_class_exceptions_response.rb +3 -3
  137. data/lib/crimson-falcon/models/devicecontent_content_category.rb +234 -0
  138. data/lib/crimson-falcon/models/devicecontent_state.rb +345 -0
  139. data/lib/crimson-falcon/models/devicecontentapi_entities_response_v1.rb +271 -0
  140. data/lib/crimson-falcon/models/devicecontentapi_query_response_v1.rb +271 -0
  141. data/lib/crimson-falcon/models/domain_aws_account_resource_metadata.rb +66 -1
  142. data/lib/crimson-falcon/models/domain_benchmark.rb +12 -1
  143. data/lib/crimson-falcon/models/domain_content_update_policy_resp_v1.rb +474 -0
  144. data/lib/crimson-falcon/models/domain_content_update_settings_v1.rb +241 -0
  145. data/lib/crimson-falcon/models/domain_discover_api_active_discovery_host.rb +21 -1
  146. data/lib/crimson-falcon/models/domain_discover_api_application_host.rb +13 -1
  147. data/lib/crimson-falcon/models/domain_discover_api_host.rb +33 -1
  148. data/lib/crimson-falcon/models/domain_discover_apiio_t_host.rb +33 -1
  149. data/lib/crimson-falcon/models/domain_kestrel_params.rb +239 -0
  150. data/lib/crimson-falcon/models/domain_lookup_file.rb +453 -0
  151. data/lib/crimson-falcon/models/domain_lookup_file_wrapper.rb +271 -0
  152. data/lib/crimson-falcon/models/domain_report_metadata.rb +10 -1
  153. data/lib/crimson-falcon/models/domain_ring_assignment_settings_v1.rb +267 -0
  154. data/lib/crimson-falcon/models/domain_scheduled_report_v1.rb +15 -1
  155. data/lib/crimson-falcon/models/domain_update_rule_request_v1.rb +18 -1
  156. data/lib/crimson-falcon/models/figapi_adversary.rb +235 -0
  157. data/lib/crimson-falcon/models/figapi_country.rb +245 -0
  158. data/lib/crimson-falcon/models/figapi_domain.rb +345 -0
  159. data/lib/crimson-falcon/models/figapi_email_address.rb +252 -0
  160. data/lib/crimson-falcon/models/figapi_file.rb +299 -0
  161. data/lib/crimson-falcon/models/figapi_indicator.rb +458 -0
  162. data/lib/crimson-falcon/models/figapi_ipv4.rb +269 -0
  163. data/lib/crimson-falcon/models/figapi_ipv6.rb +269 -0
  164. data/lib/crimson-falcon/models/figapi_mx_record.rb +284 -0
  165. data/lib/crimson-falcon/models/figapi_name_server.rb +254 -0
  166. data/lib/crimson-falcon/models/figapi_report.rb +235 -0
  167. data/lib/crimson-falcon/models/figapi_sector.rb +245 -0
  168. data/lib/crimson-falcon/models/figapi_threat.rb +235 -0
  169. data/lib/crimson-falcon/models/figapi_url.rb +247 -0
  170. data/lib/crimson-falcon/models/figapi_vulnerability.rb +374 -0
  171. data/lib/crimson-falcon/models/figapi_who_is.rb +261 -0
  172. data/lib/crimson-falcon/models/figapi_whois_record.rb +306 -0
  173. data/lib/crimson-falcon/models/figapi_x509_certificate.rb +297 -0
  174. data/lib/crimson-falcon/models/graph_condition.rb +2 -12
  175. data/lib/crimson-falcon/models/help.rb +239 -0
  176. data/lib/crimson-falcon/models/ingestion_cve_exploit_reference.rb +267 -0
  177. data/lib/crimson-falcon/models/ingestion_cve_exploit_source.rb +283 -0
  178. data/lib/crimson-falcon/models/ingestion_ex_prt_rating_factors.rb +281 -0
  179. data/lib/crimson-falcon/models/ingestion_reference.rb +255 -0
  180. data/lib/crimson-falcon/models/inventoryapi_surface_error.rb +260 -0
  181. data/lib/crimson-falcon/models/{client_fql_statement.rb → inventoryapi_user_external_asset.rb} +16 -28
  182. data/lib/crimson-falcon/models/inventoryapi_user_external_asset_create.rb +257 -0
  183. data/lib/crimson-falcon/models/inventoryapi_user_external_asset_create_request_v1.rb +242 -0
  184. data/lib/crimson-falcon/models/inventoryapi_user_external_asset_create_response_v1.rb +266 -0
  185. data/lib/crimson-falcon/models/inventoryapi_user_external_asset_result.rb +322 -0
  186. data/lib/crimson-falcon/models/inventoryapidomain_subsidiary.rb +245 -0
  187. data/lib/crimson-falcon/models/jsonschema_pivot.rb +19 -1
  188. data/lib/crimson-falcon/models/jsonschema_signals_extensions.rb +22 -4
  189. data/lib/crimson-falcon/models/jsonschema_ui_extensions.rb +34 -4
  190. data/lib/crimson-falcon/models/models_api_customer_and_image.rb +15 -1
  191. data/lib/crimson-falcon/models/models_api_image_combined_export.rb +26 -1
  192. data/lib/crimson-falcon/models/models_api_package_combined.rb +15 -1
  193. data/lib/crimson-falcon/models/models_api_package_combined_v2.rb +381 -0
  194. data/lib/crimson-falcon/models/models_api_vulnerability_combined.rb +15 -1
  195. data/lib/crimson-falcon/models/models_application_library.rb +13 -4
  196. data/lib/crimson-falcon/models/models_container.rb +15 -1
  197. data/lib/crimson-falcon/models/models_ext_api_image_combined.rb +15 -1
  198. data/lib/crimson-falcon/models/models_message.rb +239 -0
  199. data/lib/crimson-falcon/models/models_partial_fingerprints.rb +239 -0
  200. data/lib/crimson-falcon/models/models_result.rb +339 -0
  201. data/lib/crimson-falcon/models/models_result_location.rb +253 -0
  202. data/lib/crimson-falcon/models/models_result_location_properties.rb +253 -0
  203. data/lib/crimson-falcon/models/models_result_physical_location.rb +253 -0
  204. data/lib/crimson-falcon/models/models_result_physical_location_artifact_location.rb +239 -0
  205. data/lib/crimson-falcon/models/models_result_physical_location_region.rb +239 -0
  206. data/lib/crimson-falcon/models/models_result_properties.rb +365 -0
  207. data/lib/crimson-falcon/models/models_rule.rb +337 -0
  208. data/lib/crimson-falcon/models/models_rule_default_configuration.rb +239 -0
  209. data/lib/crimson-falcon/models/models_rule_properties.rb +669 -0
  210. data/lib/crimson-falcon/models/models_run.rb +255 -0
  211. data/lib/crimson-falcon/models/models_run_tool.rb +239 -0
  212. data/lib/crimson-falcon/models/models_run_tool_driver.rb +283 -0
  213. data/lib/crimson-falcon/models/models_vulnerability_sarif.rb +269 -0
  214. data/lib/crimson-falcon/models/packages_api_combined_package_v2.rb +266 -0
  215. data/lib/crimson-falcon/models/policyframework_benchmark.rb +253 -0
  216. data/lib/crimson-falcon/models/policyframework_control.rb +290 -0
  217. data/lib/crimson-falcon/models/quickscanpro_query_scan_results_response.rb +10 -1
  218. data/lib/crimson-falcon/models/registration_aws_account_ext_v2.rb +19 -1
  219. data/lib/crimson-falcon/models/registration_aws_account_patch.rb +19 -1
  220. data/lib/crimson-falcon/models/registration_aws_account_response_v2.rb +0 -5
  221. data/lib/crimson-falcon/models/registration_azure_download_certificate_response_v1.rb +0 -5
  222. data/lib/crimson-falcon/models/registration_iom_event_v2.rb +12 -1
  223. data/lib/crimson-falcon/models/releasecontents_release_content.rb +327 -0
  224. data/lib/crimson-falcon/models/releasecontents_release_content_version.rb +267 -0
  225. data/lib/crimson-falcon/models/releasenotes_entities_get_request.rb +241 -0
  226. data/lib/crimson-falcon/models/releasenotes_entities_get_response_wrapper.rb +269 -0
  227. data/lib/crimson-falcon/models/releasenotes_note_detail.rb +270 -0
  228. data/lib/crimson-falcon/models/releasenotes_release_note_v1.rb +303 -0
  229. data/lib/crimson-falcon/models/releasenotes_release_note_wrapper_v1.rb +271 -0
  230. data/lib/crimson-falcon/models/releases_release.rb +328 -0
  231. data/lib/crimson-falcon/models/releases_release_wrapper.rb +271 -0
  232. data/lib/crimson-falcon/models/resources_app.rb +243 -0
  233. data/lib/crimson-falcon/models/resources_asset_graph.rb +243 -0
  234. data/lib/crimson-falcon/models/resources_cloud_context.rb +378 -0
  235. data/lib/crimson-falcon/models/resources_cloud_resource.rb +604 -0
  236. data/lib/crimson-falcon/models/resources_compliance.rb +307 -0
  237. data/lib/crimson-falcon/models/resources_detections.rb +291 -0
  238. data/lib/crimson-falcon/models/resources_host.rb +390 -0
  239. data/lib/crimson-falcon/models/resources_relationship.rb +261 -0
  240. data/lib/crimson-falcon/models/resources_vulnerability.rb +262 -0
  241. data/lib/crimson-falcon/models/rest_azure_download_script_request_data.rb +239 -0
  242. data/lib/crimson-falcon/models/rest_azure_download_script_request_v1.rb +241 -0
  243. data/lib/crimson-falcon/models/rest_azure_provision_get_account_script_response_v1.rb +266 -0
  244. data/lib/crimson-falcon/models/rest_azure_script.rb +276 -0
  245. data/lib/crimson-falcon/models/rest_cursor_and_limit_meta_info.rb +289 -0
  246. data/lib/crimson-falcon/models/rest_cursor_meta_info.rb +280 -0
  247. data/lib/crimson-falcon/models/rest_cursor_response_fields.rb +250 -0
  248. data/lib/crimson-falcon/models/rest_paging.rb +262 -0
  249. data/lib/crimson-falcon/models/restapi_indicator_response.rb +271 -0
  250. data/lib/crimson-falcon/models/restapi_indicators_query_request.rb +255 -0
  251. data/lib/crimson-falcon/models/restapi_indicators_query_sort_request.rb +267 -0
  252. data/lib/crimson-falcon/models/sadomain_typosquatting_base_domain.rb +19 -1
  253. data/lib/crimson-falcon/models/sadomain_typosquatting_subdomain.rb +1 -15
  254. data/lib/crimson-falcon/models/string_wrapper.rb +266 -0
  255. data/lib/crimson-falcon/models/types_get_executor_nodes_metadata_response.rb +278 -0
  256. data/lib/crimson-falcon/models/types_get_integration_tasks_metadata_response.rb +267 -0
  257. data/lib/crimson-falcon/models/v2_for_loop.rb +10 -1
  258. data/lib/crimson-falcon/models/vulnerabilities_vulnerability_entity_sarif_response.rb +266 -0
  259. data/lib/crimson-falcon/version.rb +2 -2
  260. data/lib/crimson-falcon.rb +223 -90
  261. data/spec/api/{alerts_api_spec.rb → alerts_spec.rb} +21 -10
  262. data/spec/api/{api_integrations_api_spec.rb → api_integrations_spec.rb} +8 -8
  263. data/spec/api/{aspm_api_spec.rb → aspm_spec.rb} +51 -8
  264. data/spec/api/{certificate_based_exclusions_api_spec.rb → certificate_based_exclusions_spec.rb} +8 -8
  265. data/spec/api/{default_api_spec.rb → cloud_aws_registration_spec.rb} +8 -8
  266. data/spec/api/cloud_azure_registration_spec.rb +63 -0
  267. data/spec/api/{cloud_connect_aws_api_spec.rb → cloud_connect_aws_spec.rb} +8 -8
  268. data/spec/api/cloud_security_assets_spec.rb +78 -0
  269. data/spec/api/{cloud_snapshots_api_spec.rb → cloud_snapshots_spec.rb} +8 -8
  270. data/spec/api/{compliance_assessments_api_spec.rb → compliance_assessments_spec.rb} +8 -8
  271. data/spec/api/{configuration_assessment_evaluation_logic_api_spec.rb → configuration_assessment_evaluation_logic_spec.rb} +8 -8
  272. data/spec/api/{configuration_assessment_api_spec.rb → configuration_assessment_spec.rb} +8 -8
  273. data/spec/api/{container_alerts_api_spec.rb → container_alerts_spec.rb} +12 -12
  274. data/spec/api/{container_detections_api_spec.rb → container_detections_spec.rb} +18 -18
  275. data/spec/api/{container_images_api_spec.rb → container_images_spec.rb} +38 -38
  276. data/spec/api/{container_packages_api_spec.rb → container_packages_spec.rb} +36 -21
  277. data/spec/api/{container_vulnerabilities_api_spec.rb → container_vulnerabilities_spec.rb} +28 -28
  278. data/spec/api/content_update_policies_spec.rb +177 -0
  279. data/spec/api/correlation_rules_spec.rb +137 -0
  280. data/spec/api/{cspg_iacapi_api_spec.rb → cspg_iac_spec.rb} +8 -8
  281. data/spec/api/{cspm_registration_api_spec.rb → cspm_registration_spec.rb} +94 -84
  282. data/spec/api/{custom_ioa_api_spec.rb → custom_ioa_spec.rb} +12 -12
  283. data/spec/api/{custom_storage_api_spec.rb → custom_storage_spec.rb} +8 -8
  284. data/spec/api/{d4c_registration_api_spec.rb → d4c_registration_spec.rb} +9 -22
  285. data/spec/api/{datascanner_api_spec.rb → datascanner_spec.rb} +8 -8
  286. data/spec/api/{delivery_settings_api_spec.rb → delivery_settings_spec.rb} +8 -8
  287. data/spec/api/deployments_spec.rb +65 -0
  288. data/spec/api/{detects_api_spec.rb → detects_spec.rb} +8 -8
  289. data/spec/api/device_content_spec.rb +77 -0
  290. data/spec/api/{device_control_policies_api_spec.rb → device_control_policies_spec.rb} +8 -8
  291. data/spec/api/{discover_iot_api_spec.rb → discover_iot_spec.rb} +8 -8
  292. data/spec/api/{discover_api_spec.rb → discover_spec.rb} +19 -8
  293. data/spec/api/{downloads_api_api_spec.rb → downloads_spec.rb} +8 -20
  294. data/spec/api/{drift_indicators_api_spec.rb → drift_indicators_spec.rb} +16 -16
  295. data/spec/api/{event_schema_api_spec.rb → event_schema_spec.rb} +8 -8
  296. data/spec/api/{event_streams_api_spec.rb → event_streams_spec.rb} +8 -8
  297. data/spec/api/{exposure_management_api_spec.rb → exposure_management_spec.rb} +10 -8
  298. data/spec/api/{falcon_complete_dashboard_api_spec.rb → falcon_complete_dashboard_spec.rb} +8 -8
  299. data/spec/api/{falcon_container_cli_api_spec.rb → falcon_container_cli_spec.rb} +8 -8
  300. data/spec/api/{falcon_container_image_api_spec.rb → falcon_container_image_spec.rb} +13 -13
  301. data/spec/api/{falcon_container_api_spec.rb → falcon_container_spec.rb} +8 -8
  302. data/spec/api/{falconx_sandbox_api_spec.rb → falconx_sandbox_spec.rb} +8 -8
  303. data/spec/api/{field_schema_api_spec.rb → field_schema_spec.rb} +8 -8
  304. data/spec/api/{filevantage_api_spec.rb → filevantage_spec.rb} +14 -14
  305. data/spec/api/{firewall_management_api_spec.rb → firewall_management_spec.rb} +16 -16
  306. data/spec/api/{firewall_policies_api_spec.rb → firewall_policies_spec.rb} +8 -8
  307. data/spec/api/{foundry_logscale_api_spec.rb → foundry_logscale_spec.rb} +8 -8
  308. data/spec/api/{handle_api_spec.rb → handle_spec.rb} +8 -8
  309. data/spec/api/{host_group_api_spec.rb → host_group_spec.rb} +8 -8
  310. data/spec/api/{host_migration_api_spec.rb → host_migration_spec.rb} +10 -10
  311. data/spec/api/{hosts_api_spec.rb → hosts_spec.rb} +8 -8
  312. data/spec/api/{humio_auth_proxy_api_spec.rb → humio_auth_proxy_spec.rb} +8 -8
  313. data/spec/api/{identity_entities_api_spec.rb → identity_entities_spec.rb} +8 -8
  314. data/spec/api/{identity_protection_api_spec.rb → identity_protection_spec.rb} +8 -8
  315. data/spec/api/{image_assessment_policies_api_spec.rb → image_assessment_policies_spec.rb} +8 -8
  316. data/spec/api/{incidents_api_spec.rb → incidents_spec.rb} +8 -8
  317. data/spec/api/{installation_tokens_settings_api_spec.rb → installation_tokens_settings_spec.rb} +8 -8
  318. data/spec/api/{installation_tokens_api_spec.rb → installation_tokens_spec.rb} +8 -8
  319. data/spec/api/{intel_api_spec.rb → intel_spec.rb} +8 -8
  320. data/spec/api/intelligence_indicator_graph_spec.rb +66 -0
  321. data/spec/api/{ioa_exclusions_api_spec.rb → ioa_exclusions_spec.rb} +8 -8
  322. data/spec/api/{ioc_api_spec.rb → ioc_spec.rb} +8 -8
  323. data/spec/api/{iocs_api_spec.rb → iocs_spec.rb} +8 -8
  324. data/spec/api/{kubernetes_protection_api_spec.rb → kubernetes_protection_spec.rb} +66 -66
  325. data/spec/api/lookup_files_spec.rb +80 -0
  326. data/spec/api/{malquery_api_spec.rb → malquery_spec.rb} +8 -8
  327. data/spec/api/{message_center_api_spec.rb → message_center_spec.rb} +8 -8
  328. data/spec/api/{ml_exclusions_api_spec.rb → ml_exclusions_spec.rb} +8 -8
  329. data/spec/api/{mobile_enrollment_api_spec.rb → mobile_enrollment_spec.rb} +8 -8
  330. data/spec/api/{mssp_api_spec.rb → mssp_spec.rb} +8 -8
  331. data/spec/api/{oauth2_api_spec.rb → oauth2_spec.rb} +8 -8
  332. data/spec/api/{ods_api_spec.rb → ods_spec.rb} +8 -8
  333. data/spec/api/{overwatch_dashboard_api_spec.rb → overwatch_dashboard_spec.rb} +8 -8
  334. data/spec/api/{prevention_policies_api_spec.rb → prevention_policies_spec.rb} +8 -8
  335. data/spec/api/{quarantine_api_spec.rb → quarantine_spec.rb} +8 -8
  336. data/spec/api/{quick_scan_pro_api_spec.rb → quick_scan_pro_spec.rb} +8 -8
  337. data/spec/api/{quick_scan_api_spec.rb → quick_scan_spec.rb} +8 -8
  338. data/spec/api/{real_time_response_admin_api_spec.rb → real_time_response_admin_spec.rb} +8 -8
  339. data/spec/api/{real_time_response_audit_api_spec.rb → real_time_response_audit_spec.rb} +8 -8
  340. data/spec/api/{real_time_response_api_spec.rb → real_time_response_spec.rb} +8 -8
  341. data/spec/api/{recon_api_spec.rb → recon_spec.rb} +8 -8
  342. data/spec/api/release_notes_spec.rb +97 -0
  343. data/spec/api/releases_spec.rb +68 -0
  344. data/spec/api/{report_executions_api_spec.rb → report_executions_spec.rb} +8 -8
  345. data/spec/api/{response_policies_api_spec.rb → response_policies_spec.rb} +8 -8
  346. data/spec/api/{runtime_detections_api_spec.rb → runtime_detections_spec.rb} +11 -11
  347. data/spec/api/{sample_uploads_api_spec.rb → sample_uploads_spec.rb} +8 -8
  348. data/spec/api/{scheduled_reports_api_spec.rb → scheduled_reports_spec.rb} +8 -8
  349. data/spec/api/{sensor_download_api_spec.rb → sensor_download_spec.rb} +8 -8
  350. data/spec/api/{sensor_update_policies_api_spec.rb → sensor_update_policies_spec.rb} +8 -8
  351. data/spec/api/{sensor_usage_api_api_spec.rb → sensor_usage_spec.rb} +8 -8
  352. data/spec/api/{sensor_visibility_exclusions_api_spec.rb → sensor_visibility_exclusions_spec.rb} +8 -8
  353. data/spec/api/{spotlight_evaluation_logic_api_spec.rb → spotlight_evaluation_logic_spec.rb} +8 -8
  354. data/spec/api/{spotlight_vulnerabilities_api_spec.rb → spotlight_vulnerabilities_spec.rb} +12 -12
  355. data/spec/api/{threatgraph_api_spec.rb → threatgraph_spec.rb} +8 -8
  356. data/spec/api/{unidentified_containers_api_spec.rb → unidentified_containers_spec.rb} +13 -13
  357. data/spec/api/{user_management_api_spec.rb → user_management_spec.rb} +8 -8
  358. data/spec/api/vulnerabilities_spec.rb +66 -0
  359. data/spec/api/{workflows_api_spec.rb → workflows_spec.rb} +8 -8
  360. data/spec/api/{zero_trust_assessment_api_spec.rb → zero_trust_assessment_spec.rb} +8 -8
  361. data/spec/models/api_create_rule_operation_v1_spec.rb +63 -0
  362. data/spec/models/api_get_entities_rules_response_v1_spec.rb +63 -0
  363. data/spec/models/api_patch_rule_operation_v1_spec.rb +63 -0
  364. data/spec/models/api_patch_rule_search_v1_spec.rb +69 -0
  365. data/spec/models/api_rule_create_request_v1_spec.rb +111 -0
  366. data/spec/models/api_rule_operation_v1_spec.rb +69 -0
  367. data/spec/models/api_rule_patch_request_v1_spec.rb +99 -0
  368. data/spec/models/api_rule_schedule_v1_patch_spec.rb +51 -0
  369. data/spec/models/api_rule_schedule_v1_spec.rb +51 -0
  370. data/spec/models/api_rule_search_v1_spec.rb +69 -0
  371. data/spec/models/api_rule_v1_spec.rb +16 -34
  372. data/spec/models/apidomain_saved_search_execute_request_v1_spec.rb +0 -36
  373. data/spec/models/assets_get_resource_ids_response_spec.rb +63 -0
  374. data/spec/models/assets_get_resources_response_spec.rb +63 -0
  375. data/spec/models/base_set_content_update_policy_precedence_req_v1_spec.rb +51 -0
  376. data/spec/models/content_update_create_policies_req_v1_spec.rb +51 -0
  377. data/spec/models/content_update_create_policy_req_v1_spec.rb +63 -0
  378. data/spec/models/content_update_ring_assignment_settings_v1_spec.rb +57 -0
  379. data/spec/models/content_update_settings_v1_spec.rb +51 -0
  380. data/spec/models/content_update_update_policies_req_v1_spec.rb +51 -0
  381. data/spec/models/content_update_update_policy_req_v1_spec.rb +69 -0
  382. data/spec/models/dataclassifications_label_spec.rb +63 -0
  383. data/spec/models/dataclassifications_response_spec.rb +75 -0
  384. data/spec/models/dataclassifications_tag_spec.rb +69 -0
  385. data/spec/models/deployments_api_deployment_ring_view_spec.rb +87 -0
  386. data/spec/models/deployments_api_deployment_view_spec.rb +93 -0
  387. data/spec/models/deployments_api_deployment_view_wrapper_spec.rb +63 -0
  388. data/spec/models/detectsapi_post_combined_alerts_v1_meta_spec.rb +69 -0
  389. data/spec/models/detectsapi_post_combined_alerts_v1_paging_spec.rb +63 -0
  390. data/spec/models/detectsapi_post_combined_alerts_v1_request_swagger_spec.rb +69 -0
  391. data/spec/models/detectsapi_post_combined_alerts_v1_response_swagger_spec.rb +63 -0
  392. data/spec/models/device_control_usb_class_exceptions_req_v1_spec.rb +1 -1
  393. data/spec/models/device_control_usb_class_exceptions_response_spec.rb +1 -1
  394. data/spec/models/devicecontent_content_category_spec.rb +51 -0
  395. data/spec/models/devicecontent_state_spec.rb +117 -0
  396. data/spec/models/devicecontentapi_entities_response_v1_spec.rb +63 -0
  397. data/spec/models/devicecontentapi_query_response_v1_spec.rb +63 -0
  398. data/spec/models/domain_aws_account_resource_metadata_spec.rb +30 -0
  399. data/spec/models/domain_benchmark_spec.rb +6 -0
  400. data/spec/models/domain_content_update_policy_resp_v1_spec.rb +153 -0
  401. data/spec/models/domain_content_update_settings_v1_spec.rb +51 -0
  402. data/spec/models/domain_discover_api_active_discovery_host_spec.rb +12 -0
  403. data/spec/models/domain_discover_api_application_host_spec.rb +6 -0
  404. data/spec/models/domain_discover_api_host_spec.rb +18 -0
  405. data/spec/models/domain_discover_apiio_t_host_spec.rb +18 -0
  406. data/spec/models/domain_kestrel_params_spec.rb +51 -0
  407. data/spec/models/domain_lookup_file_spec.rb +147 -0
  408. data/spec/models/domain_lookup_file_wrapper_spec.rb +63 -0
  409. data/spec/models/domain_report_metadata_spec.rb +6 -0
  410. data/spec/models/domain_ring_assignment_settings_v1_spec.rb +63 -0
  411. data/spec/models/domain_scheduled_report_v1_spec.rb +6 -0
  412. data/spec/models/domain_update_rule_request_v1_spec.rb +6 -0
  413. data/spec/models/figapi_adversary_spec.rb +51 -0
  414. data/spec/models/figapi_country_spec.rb +57 -0
  415. data/spec/models/figapi_domain_spec.rb +117 -0
  416. data/spec/models/figapi_email_address_spec.rb +63 -0
  417. data/spec/models/figapi_file_spec.rb +87 -0
  418. data/spec/models/figapi_indicator_spec.rb +183 -0
  419. data/spec/models/figapi_ipv4_spec.rb +69 -0
  420. data/spec/models/figapi_ipv6_spec.rb +69 -0
  421. data/spec/models/figapi_mx_record_spec.rb +75 -0
  422. data/spec/models/figapi_name_server_spec.rb +63 -0
  423. data/spec/models/figapi_report_spec.rb +51 -0
  424. data/spec/models/figapi_sector_spec.rb +57 -0
  425. data/spec/models/figapi_threat_spec.rb +51 -0
  426. data/spec/models/figapi_url_spec.rb +57 -0
  427. data/spec/models/figapi_vulnerability_spec.rb +141 -0
  428. data/spec/models/figapi_who_is_spec.rb +69 -0
  429. data/spec/models/figapi_whois_record_spec.rb +99 -0
  430. data/spec/models/figapi_x509_certificate_spec.rb +93 -0
  431. data/spec/models/graph_condition_spec.rb +0 -6
  432. data/spec/models/help_spec.rb +51 -0
  433. data/spec/models/ingestion_cve_exploit_reference_spec.rb +63 -0
  434. data/spec/models/ingestion_cve_exploit_source_spec.rb +69 -0
  435. data/spec/models/ingestion_ex_prt_rating_factors_spec.rb +69 -0
  436. data/spec/models/ingestion_reference_spec.rb +57 -0
  437. data/spec/models/inventoryapi_surface_error_spec.rb +63 -0
  438. data/spec/models/inventoryapi_user_external_asset_create_request_v1_spec.rb +51 -0
  439. data/spec/models/inventoryapi_user_external_asset_create_response_v1_spec.rb +63 -0
  440. data/spec/models/inventoryapi_user_external_asset_create_spec.rb +57 -0
  441. data/spec/models/inventoryapi_user_external_asset_result_spec.rb +93 -0
  442. data/spec/models/inventoryapi_user_external_asset_spec.rb +57 -0
  443. data/spec/models/inventoryapidomain_subsidiary_spec.rb +57 -0
  444. data/spec/models/jsonschema_pivot_spec.rb +12 -0
  445. data/spec/models/jsonschema_signals_extensions_spec.rb +12 -0
  446. data/spec/models/jsonschema_ui_extensions_spec.rb +18 -0
  447. data/spec/models/models_api_customer_and_image_spec.rb +6 -0
  448. data/spec/models/models_api_image_combined_export_spec.rb +12 -0
  449. data/spec/models/models_api_package_combined_spec.rb +6 -0
  450. data/spec/models/models_api_package_combined_v2_spec.rb +111 -0
  451. data/spec/models/models_api_vulnerability_combined_spec.rb +6 -0
  452. data/spec/models/models_application_library_spec.rb +6 -0
  453. data/spec/models/models_container_spec.rb +6 -0
  454. data/spec/models/models_ext_api_image_combined_spec.rb +6 -0
  455. data/spec/models/models_message_spec.rb +51 -0
  456. data/spec/models/models_partial_fingerprints_spec.rb +51 -0
  457. data/spec/models/models_result_location_properties_spec.rb +57 -0
  458. data/spec/models/models_result_location_spec.rb +57 -0
  459. data/spec/models/models_result_physical_location_artifact_location_spec.rb +51 -0
  460. data/spec/models/models_result_physical_location_region_spec.rb +51 -0
  461. data/spec/models/models_result_physical_location_spec.rb +57 -0
  462. data/spec/models/models_result_properties_spec.rb +105 -0
  463. data/spec/models/models_result_spec.rb +93 -0
  464. data/spec/models/models_rule_default_configuration_spec.rb +51 -0
  465. data/spec/models/models_rule_properties_spec.rb +231 -0
  466. data/spec/models/models_rule_spec.rb +93 -0
  467. data/spec/models/models_run_spec.rb +57 -0
  468. data/spec/models/models_run_tool_driver_spec.rb +69 -0
  469. data/spec/models/models_run_tool_spec.rb +51 -0
  470. data/spec/models/models_vulnerability_sarif_spec.rb +63 -0
  471. data/spec/models/packages_api_combined_package_v2_spec.rb +63 -0
  472. data/spec/models/policyframework_benchmark_spec.rb +57 -0
  473. data/spec/models/policyframework_control_spec.rb +87 -0
  474. data/spec/models/quickscanpro_query_scan_results_response_spec.rb +6 -0
  475. data/spec/models/registration_aws_account_ext_v2_spec.rb +12 -0
  476. data/spec/models/registration_aws_account_patch_spec.rb +12 -0
  477. data/spec/models/registration_iom_event_v2_spec.rb +6 -0
  478. data/spec/models/releasecontents_release_content_spec.rb +93 -0
  479. data/spec/models/releasecontents_release_content_version_spec.rb +63 -0
  480. data/spec/models/releasenotes_entities_get_request_spec.rb +51 -0
  481. data/spec/models/releasenotes_entities_get_response_wrapper_spec.rb +63 -0
  482. data/spec/models/releasenotes_note_detail_spec.rb +69 -0
  483. data/spec/models/releasenotes_release_note_v1_spec.rb +81 -0
  484. data/spec/models/releasenotes_release_note_wrapper_v1_spec.rb +63 -0
  485. data/spec/models/releases_release_spec.rb +99 -0
  486. data/spec/models/releases_release_wrapper_spec.rb +63 -0
  487. data/spec/models/resources_app_spec.rb +57 -0
  488. data/spec/models/resources_asset_graph_spec.rb +57 -0
  489. data/spec/models/resources_cloud_context_spec.rb +147 -0
  490. data/spec/models/resources_cloud_resource_spec.rb +291 -0
  491. data/spec/models/resources_compliance_spec.rb +87 -0
  492. data/spec/models/resources_detections_spec.rb +81 -0
  493. data/spec/models/resources_host_spec.rb +147 -0
  494. data/spec/models/resources_relationship_spec.rb +69 -0
  495. data/spec/models/resources_vulnerability_spec.rb +63 -0
  496. data/spec/models/rest_azure_download_script_request_data_spec.rb +51 -0
  497. data/spec/models/rest_azure_download_script_request_v1_spec.rb +51 -0
  498. data/spec/models/rest_azure_provision_get_account_script_response_v1_spec.rb +63 -0
  499. data/spec/models/rest_azure_script_spec.rb +69 -0
  500. data/spec/models/rest_cursor_and_limit_meta_info_spec.rb +81 -0
  501. data/spec/models/rest_cursor_meta_info_spec.rb +75 -0
  502. data/spec/models/rest_cursor_response_fields_spec.rb +57 -0
  503. data/spec/models/{client_fql_statement_spec.rb → rest_paging_spec.rb} +9 -9
  504. data/spec/models/restapi_indicator_response_spec.rb +63 -0
  505. data/spec/models/restapi_indicators_query_request_spec.rb +57 -0
  506. data/spec/models/restapi_indicators_query_sort_request_spec.rb +63 -0
  507. data/spec/models/sadomain_typosquatting_base_domain_spec.rb +12 -0
  508. data/spec/models/sadomain_typosquatting_subdomain_spec.rb +0 -6
  509. data/spec/models/string_wrapper_spec.rb +63 -0
  510. data/spec/models/types_get_executor_nodes_metadata_response_spec.rb +75 -0
  511. data/spec/models/types_get_integration_tasks_metadata_response_spec.rb +69 -0
  512. data/spec/models/v2_for_loop_spec.rb +6 -0
  513. data/spec/models/vulnerabilities_vulnerability_entity_sarif_response_spec.rb +63 -0
  514. data/spec/spec_helper.rb +8 -0
  515. metadata +2129 -1732
@@ -0,0 +1,669 @@
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 ModelsRuleProperties
35
+ attr_accessor :cvss_attack_complexity
36
+
37
+ attr_accessor :cvss_attack_vector
38
+
39
+ attr_accessor :cvss_availability_impact
40
+
41
+ attr_accessor :cvss_base_score
42
+
43
+ attr_accessor :cvss_confidentiality_impact
44
+
45
+ attr_accessor :cvss_exploitability_score
46
+
47
+ attr_accessor :cvss_impact_score
48
+
49
+ attr_accessor :cvss_integrity_impact
50
+
51
+ attr_accessor :cvss_privileges_required
52
+
53
+ attr_accessor :cvss_scope
54
+
55
+ attr_accessor :cvss_source
56
+
57
+ attr_accessor :cvss_user_interaction
58
+
59
+ attr_accessor :cvss_vector
60
+
61
+ attr_accessor :description
62
+
63
+ attr_accessor :exploit_date_recorded_timestamp
64
+
65
+ attr_accessor :exploit_sources
66
+
67
+ attr_accessor :exploit_status
68
+
69
+ attr_accessor :exploit_updated_timestamp
70
+
71
+ attr_accessor :exprt_rating
72
+
73
+ attr_accessor :exprt_rating_date_recorded_timestamp
74
+
75
+ attr_accessor :exprt_rating_highest
76
+
77
+ attr_accessor :exprt_rating_highest_recorded_timestamp
78
+
79
+ attr_accessor :first_seen_timestamp
80
+
81
+ attr_accessor :references
82
+
83
+ attr_accessor :remediation_count
84
+
85
+ attr_accessor :remediation_sources
86
+
87
+ attr_accessor :remediations
88
+
89
+ attr_accessor :runtime
90
+
91
+ attr_accessor :scanner_version
92
+
93
+ attr_accessor :severity
94
+
95
+ attr_accessor :top_exprt_rating_factors
96
+
97
+ # Attribute mapping from ruby-style variable name to JSON key.
98
+ def self.attribute_map
99
+ {
100
+ :'cvss_attack_complexity' => :'cvssAttackComplexity',
101
+ :'cvss_attack_vector' => :'cvssAttackVector',
102
+ :'cvss_availability_impact' => :'cvssAvailabilityImpact',
103
+ :'cvss_base_score' => :'cvssBaseScore',
104
+ :'cvss_confidentiality_impact' => :'cvssConfidentialityImpact',
105
+ :'cvss_exploitability_score' => :'cvssExploitabilityScore',
106
+ :'cvss_impact_score' => :'cvssImpactScore',
107
+ :'cvss_integrity_impact' => :'cvssIntegrityImpact',
108
+ :'cvss_privileges_required' => :'cvssPrivilegesRequired',
109
+ :'cvss_scope' => :'cvssScope',
110
+ :'cvss_source' => :'cvssSource',
111
+ :'cvss_user_interaction' => :'cvssUserInteraction',
112
+ :'cvss_vector' => :'cvssVector',
113
+ :'description' => :'description',
114
+ :'exploit_date_recorded_timestamp' => :'exploitDateRecordedTimestamp',
115
+ :'exploit_sources' => :'exploitSources',
116
+ :'exploit_status' => :'exploitStatus',
117
+ :'exploit_updated_timestamp' => :'exploitUpdatedTimestamp',
118
+ :'exprt_rating' => :'exprtRating',
119
+ :'exprt_rating_date_recorded_timestamp' => :'exprtRatingDateRecordedTimestamp',
120
+ :'exprt_rating_highest' => :'exprtRatingHighest',
121
+ :'exprt_rating_highest_recorded_timestamp' => :'exprtRatingHighestRecordedTimestamp',
122
+ :'first_seen_timestamp' => :'firstSeenTimestamp',
123
+ :'references' => :'references',
124
+ :'remediation_count' => :'remediationCount',
125
+ :'remediation_sources' => :'remediationSources',
126
+ :'remediations' => :'remediations',
127
+ :'runtime' => :'runtime',
128
+ :'scanner_version' => :'scannerVersion',
129
+ :'severity' => :'severity',
130
+ :'top_exprt_rating_factors' => :'topExprtRatingFactors'
131
+ }
132
+ end
133
+
134
+ # Returns all the JSON keys this model knows about
135
+ def self.acceptable_attributes
136
+ attribute_map.values
137
+ end
138
+
139
+ # Attribute type mapping.
140
+ def self.openapi_types
141
+ {
142
+ :'cvss_attack_complexity' => :'String',
143
+ :'cvss_attack_vector' => :'String',
144
+ :'cvss_availability_impact' => :'String',
145
+ :'cvss_base_score' => :'Float',
146
+ :'cvss_confidentiality_impact' => :'String',
147
+ :'cvss_exploitability_score' => :'Float',
148
+ :'cvss_impact_score' => :'Float',
149
+ :'cvss_integrity_impact' => :'String',
150
+ :'cvss_privileges_required' => :'String',
151
+ :'cvss_scope' => :'String',
152
+ :'cvss_source' => :'String',
153
+ :'cvss_user_interaction' => :'String',
154
+ :'cvss_vector' => :'String',
155
+ :'description' => :'String',
156
+ :'exploit_date_recorded_timestamp' => :'Integer',
157
+ :'exploit_sources' => :'Array<IngestionCVEExploitSource>',
158
+ :'exploit_status' => :'String',
159
+ :'exploit_updated_timestamp' => :'Integer',
160
+ :'exprt_rating' => :'String',
161
+ :'exprt_rating_date_recorded_timestamp' => :'Integer',
162
+ :'exprt_rating_highest' => :'String',
163
+ :'exprt_rating_highest_recorded_timestamp' => :'Integer',
164
+ :'first_seen_timestamp' => :'Integer',
165
+ :'references' => :'Array<IngestionReference>',
166
+ :'remediation_count' => :'Integer',
167
+ :'remediation_sources' => :'Array<String>',
168
+ :'remediations' => :'Array<String>',
169
+ :'runtime' => :'String',
170
+ :'scanner_version' => :'String',
171
+ :'severity' => :'String',
172
+ :'top_exprt_rating_factors' => :'Array<IngestionExPRTRatingFactors>'
173
+ }
174
+ end
175
+
176
+ # List of attributes with nullable: true
177
+ def self.openapi_nullable
178
+ Set.new([
179
+ ])
180
+ end
181
+
182
+ # Initializes the object
183
+ # @param [Hash] attributes Model attributes in the form of hash
184
+ def initialize(attributes = {})
185
+ if (!attributes.is_a?(Hash))
186
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsRuleProperties` initialize method"
187
+ end
188
+
189
+ # check to see if the attribute exists and convert string to symbol for hash key
190
+ attributes = attributes.each_with_object({}) { |(k, v), h|
191
+ if (!self.class.attribute_map.key?(k.to_sym))
192
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsRuleProperties`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
193
+ end
194
+ h[k.to_sym] = v
195
+ }
196
+
197
+ if attributes.key?(:'cvss_attack_complexity')
198
+ self.cvss_attack_complexity = attributes[:'cvss_attack_complexity']
199
+ end
200
+
201
+ if attributes.key?(:'cvss_attack_vector')
202
+ self.cvss_attack_vector = attributes[:'cvss_attack_vector']
203
+ end
204
+
205
+ if attributes.key?(:'cvss_availability_impact')
206
+ self.cvss_availability_impact = attributes[:'cvss_availability_impact']
207
+ end
208
+
209
+ if attributes.key?(:'cvss_base_score')
210
+ self.cvss_base_score = attributes[:'cvss_base_score']
211
+ end
212
+
213
+ if attributes.key?(:'cvss_confidentiality_impact')
214
+ self.cvss_confidentiality_impact = attributes[:'cvss_confidentiality_impact']
215
+ end
216
+
217
+ if attributes.key?(:'cvss_exploitability_score')
218
+ self.cvss_exploitability_score = attributes[:'cvss_exploitability_score']
219
+ end
220
+
221
+ if attributes.key?(:'cvss_impact_score')
222
+ self.cvss_impact_score = attributes[:'cvss_impact_score']
223
+ end
224
+
225
+ if attributes.key?(:'cvss_integrity_impact')
226
+ self.cvss_integrity_impact = attributes[:'cvss_integrity_impact']
227
+ end
228
+
229
+ if attributes.key?(:'cvss_privileges_required')
230
+ self.cvss_privileges_required = attributes[:'cvss_privileges_required']
231
+ end
232
+
233
+ if attributes.key?(:'cvss_scope')
234
+ self.cvss_scope = attributes[:'cvss_scope']
235
+ end
236
+
237
+ if attributes.key?(:'cvss_source')
238
+ self.cvss_source = attributes[:'cvss_source']
239
+ end
240
+
241
+ if attributes.key?(:'cvss_user_interaction')
242
+ self.cvss_user_interaction = attributes[:'cvss_user_interaction']
243
+ end
244
+
245
+ if attributes.key?(:'cvss_vector')
246
+ self.cvss_vector = attributes[:'cvss_vector']
247
+ end
248
+
249
+ if attributes.key?(:'description')
250
+ self.description = attributes[:'description']
251
+ end
252
+
253
+ if attributes.key?(:'exploit_date_recorded_timestamp')
254
+ self.exploit_date_recorded_timestamp = attributes[:'exploit_date_recorded_timestamp']
255
+ end
256
+
257
+ if attributes.key?(:'exploit_sources')
258
+ if (value = attributes[:'exploit_sources']).is_a?(Array)
259
+ self.exploit_sources = value
260
+ end
261
+ end
262
+
263
+ if attributes.key?(:'exploit_status')
264
+ self.exploit_status = attributes[:'exploit_status']
265
+ end
266
+
267
+ if attributes.key?(:'exploit_updated_timestamp')
268
+ self.exploit_updated_timestamp = attributes[:'exploit_updated_timestamp']
269
+ end
270
+
271
+ if attributes.key?(:'exprt_rating')
272
+ self.exprt_rating = attributes[:'exprt_rating']
273
+ end
274
+
275
+ if attributes.key?(:'exprt_rating_date_recorded_timestamp')
276
+ self.exprt_rating_date_recorded_timestamp = attributes[:'exprt_rating_date_recorded_timestamp']
277
+ end
278
+
279
+ if attributes.key?(:'exprt_rating_highest')
280
+ self.exprt_rating_highest = attributes[:'exprt_rating_highest']
281
+ end
282
+
283
+ if attributes.key?(:'exprt_rating_highest_recorded_timestamp')
284
+ self.exprt_rating_highest_recorded_timestamp = attributes[:'exprt_rating_highest_recorded_timestamp']
285
+ end
286
+
287
+ if attributes.key?(:'first_seen_timestamp')
288
+ self.first_seen_timestamp = attributes[:'first_seen_timestamp']
289
+ end
290
+
291
+ if attributes.key?(:'references')
292
+ if (value = attributes[:'references']).is_a?(Array)
293
+ self.references = value
294
+ end
295
+ end
296
+
297
+ if attributes.key?(:'remediation_count')
298
+ self.remediation_count = attributes[:'remediation_count']
299
+ end
300
+
301
+ if attributes.key?(:'remediation_sources')
302
+ if (value = attributes[:'remediation_sources']).is_a?(Array)
303
+ self.remediation_sources = value
304
+ end
305
+ end
306
+
307
+ if attributes.key?(:'remediations')
308
+ if (value = attributes[:'remediations']).is_a?(Array)
309
+ self.remediations = value
310
+ end
311
+ end
312
+
313
+ if attributes.key?(:'runtime')
314
+ self.runtime = attributes[:'runtime']
315
+ end
316
+
317
+ if attributes.key?(:'scanner_version')
318
+ self.scanner_version = attributes[:'scanner_version']
319
+ end
320
+
321
+ if attributes.key?(:'severity')
322
+ self.severity = attributes[:'severity']
323
+ end
324
+
325
+ if attributes.key?(:'top_exprt_rating_factors')
326
+ if (value = attributes[:'top_exprt_rating_factors']).is_a?(Array)
327
+ self.top_exprt_rating_factors = value
328
+ end
329
+ end
330
+ end
331
+
332
+ # Show invalid properties with the reasons. Usually used together with valid?
333
+ # @return Array for valid properties with the reasons
334
+ def list_invalid_properties
335
+ invalid_properties = Array.new
336
+ if @cvss_attack_complexity.nil?
337
+ invalid_properties.push('invalid value for "cvss_attack_complexity", cvss_attack_complexity cannot be nil.')
338
+ end
339
+
340
+ if @cvss_attack_vector.nil?
341
+ invalid_properties.push('invalid value for "cvss_attack_vector", cvss_attack_vector cannot be nil.')
342
+ end
343
+
344
+ if @cvss_availability_impact.nil?
345
+ invalid_properties.push('invalid value for "cvss_availability_impact", cvss_availability_impact cannot be nil.')
346
+ end
347
+
348
+ if @cvss_base_score.nil?
349
+ invalid_properties.push('invalid value for "cvss_base_score", cvss_base_score cannot be nil.')
350
+ end
351
+
352
+ if @cvss_confidentiality_impact.nil?
353
+ invalid_properties.push('invalid value for "cvss_confidentiality_impact", cvss_confidentiality_impact cannot be nil.')
354
+ end
355
+
356
+ if @cvss_exploitability_score.nil?
357
+ invalid_properties.push('invalid value for "cvss_exploitability_score", cvss_exploitability_score cannot be nil.')
358
+ end
359
+
360
+ if @cvss_impact_score.nil?
361
+ invalid_properties.push('invalid value for "cvss_impact_score", cvss_impact_score cannot be nil.')
362
+ end
363
+
364
+ if @cvss_integrity_impact.nil?
365
+ invalid_properties.push('invalid value for "cvss_integrity_impact", cvss_integrity_impact cannot be nil.')
366
+ end
367
+
368
+ if @cvss_privileges_required.nil?
369
+ invalid_properties.push('invalid value for "cvss_privileges_required", cvss_privileges_required cannot be nil.')
370
+ end
371
+
372
+ if @cvss_scope.nil?
373
+ invalid_properties.push('invalid value for "cvss_scope", cvss_scope cannot be nil.')
374
+ end
375
+
376
+ if @cvss_source.nil?
377
+ invalid_properties.push('invalid value for "cvss_source", cvss_source cannot be nil.')
378
+ end
379
+
380
+ if @cvss_user_interaction.nil?
381
+ invalid_properties.push('invalid value for "cvss_user_interaction", cvss_user_interaction cannot be nil.')
382
+ end
383
+
384
+ if @cvss_vector.nil?
385
+ invalid_properties.push('invalid value for "cvss_vector", cvss_vector cannot be nil.')
386
+ end
387
+
388
+ if @description.nil?
389
+ invalid_properties.push('invalid value for "description", description cannot be nil.')
390
+ end
391
+
392
+ if @exploit_date_recorded_timestamp.nil?
393
+ invalid_properties.push('invalid value for "exploit_date_recorded_timestamp", exploit_date_recorded_timestamp cannot be nil.')
394
+ end
395
+
396
+ if @exploit_sources.nil?
397
+ invalid_properties.push('invalid value for "exploit_sources", exploit_sources cannot be nil.')
398
+ end
399
+
400
+ if @exploit_status.nil?
401
+ invalid_properties.push('invalid value for "exploit_status", exploit_status cannot be nil.')
402
+ end
403
+
404
+ if @exploit_updated_timestamp.nil?
405
+ invalid_properties.push('invalid value for "exploit_updated_timestamp", exploit_updated_timestamp cannot be nil.')
406
+ end
407
+
408
+ if @exprt_rating.nil?
409
+ invalid_properties.push('invalid value for "exprt_rating", exprt_rating cannot be nil.')
410
+ end
411
+
412
+ if @exprt_rating_date_recorded_timestamp.nil?
413
+ invalid_properties.push('invalid value for "exprt_rating_date_recorded_timestamp", exprt_rating_date_recorded_timestamp cannot be nil.')
414
+ end
415
+
416
+ if @exprt_rating_highest.nil?
417
+ invalid_properties.push('invalid value for "exprt_rating_highest", exprt_rating_highest cannot be nil.')
418
+ end
419
+
420
+ if @exprt_rating_highest_recorded_timestamp.nil?
421
+ invalid_properties.push('invalid value for "exprt_rating_highest_recorded_timestamp", exprt_rating_highest_recorded_timestamp cannot be nil.')
422
+ end
423
+
424
+ if @first_seen_timestamp.nil?
425
+ invalid_properties.push('invalid value for "first_seen_timestamp", first_seen_timestamp cannot be nil.')
426
+ end
427
+
428
+ if @references.nil?
429
+ invalid_properties.push('invalid value for "references", references cannot be nil.')
430
+ end
431
+
432
+ if @remediation_count.nil?
433
+ invalid_properties.push('invalid value for "remediation_count", remediation_count cannot be nil.')
434
+ end
435
+
436
+ if @remediation_sources.nil?
437
+ invalid_properties.push('invalid value for "remediation_sources", remediation_sources cannot be nil.')
438
+ end
439
+
440
+ if @remediations.nil?
441
+ invalid_properties.push('invalid value for "remediations", remediations cannot be nil.')
442
+ end
443
+
444
+ if @runtime.nil?
445
+ invalid_properties.push('invalid value for "runtime", runtime cannot be nil.')
446
+ end
447
+
448
+ if @scanner_version.nil?
449
+ invalid_properties.push('invalid value for "scanner_version", scanner_version cannot be nil.')
450
+ end
451
+
452
+ if @severity.nil?
453
+ invalid_properties.push('invalid value for "severity", severity cannot be nil.')
454
+ end
455
+
456
+ if @top_exprt_rating_factors.nil?
457
+ invalid_properties.push('invalid value for "top_exprt_rating_factors", top_exprt_rating_factors cannot be nil.')
458
+ end
459
+
460
+ invalid_properties
461
+ end
462
+
463
+ # Check to see if the all the properties in the model are valid
464
+ # @return true if the model is valid
465
+ def valid?
466
+ return false if @cvss_attack_complexity.nil?
467
+ return false if @cvss_attack_vector.nil?
468
+ return false if @cvss_availability_impact.nil?
469
+ return false if @cvss_base_score.nil?
470
+ return false if @cvss_confidentiality_impact.nil?
471
+ return false if @cvss_exploitability_score.nil?
472
+ return false if @cvss_impact_score.nil?
473
+ return false if @cvss_integrity_impact.nil?
474
+ return false if @cvss_privileges_required.nil?
475
+ return false if @cvss_scope.nil?
476
+ return false if @cvss_source.nil?
477
+ return false if @cvss_user_interaction.nil?
478
+ return false if @cvss_vector.nil?
479
+ return false if @description.nil?
480
+ return false if @exploit_date_recorded_timestamp.nil?
481
+ return false if @exploit_sources.nil?
482
+ return false if @exploit_status.nil?
483
+ return false if @exploit_updated_timestamp.nil?
484
+ return false if @exprt_rating.nil?
485
+ return false if @exprt_rating_date_recorded_timestamp.nil?
486
+ return false if @exprt_rating_highest.nil?
487
+ return false if @exprt_rating_highest_recorded_timestamp.nil?
488
+ return false if @first_seen_timestamp.nil?
489
+ return false if @references.nil?
490
+ return false if @remediation_count.nil?
491
+ return false if @remediation_sources.nil?
492
+ return false if @remediations.nil?
493
+ return false if @runtime.nil?
494
+ return false if @scanner_version.nil?
495
+ return false if @severity.nil?
496
+ return false if @top_exprt_rating_factors.nil?
497
+ true
498
+ end
499
+
500
+ # Checks equality by comparing each attribute.
501
+ # @param [Object] Object to be compared
502
+ def ==(o)
503
+ return true if self.equal?(o)
504
+ self.class == o.class &&
505
+ cvss_attack_complexity == o.cvss_attack_complexity &&
506
+ cvss_attack_vector == o.cvss_attack_vector &&
507
+ cvss_availability_impact == o.cvss_availability_impact &&
508
+ cvss_base_score == o.cvss_base_score &&
509
+ cvss_confidentiality_impact == o.cvss_confidentiality_impact &&
510
+ cvss_exploitability_score == o.cvss_exploitability_score &&
511
+ cvss_impact_score == o.cvss_impact_score &&
512
+ cvss_integrity_impact == o.cvss_integrity_impact &&
513
+ cvss_privileges_required == o.cvss_privileges_required &&
514
+ cvss_scope == o.cvss_scope &&
515
+ cvss_source == o.cvss_source &&
516
+ cvss_user_interaction == o.cvss_user_interaction &&
517
+ cvss_vector == o.cvss_vector &&
518
+ description == o.description &&
519
+ exploit_date_recorded_timestamp == o.exploit_date_recorded_timestamp &&
520
+ exploit_sources == o.exploit_sources &&
521
+ exploit_status == o.exploit_status &&
522
+ exploit_updated_timestamp == o.exploit_updated_timestamp &&
523
+ exprt_rating == o.exprt_rating &&
524
+ exprt_rating_date_recorded_timestamp == o.exprt_rating_date_recorded_timestamp &&
525
+ exprt_rating_highest == o.exprt_rating_highest &&
526
+ exprt_rating_highest_recorded_timestamp == o.exprt_rating_highest_recorded_timestamp &&
527
+ first_seen_timestamp == o.first_seen_timestamp &&
528
+ references == o.references &&
529
+ remediation_count == o.remediation_count &&
530
+ remediation_sources == o.remediation_sources &&
531
+ remediations == o.remediations &&
532
+ runtime == o.runtime &&
533
+ scanner_version == o.scanner_version &&
534
+ severity == o.severity &&
535
+ top_exprt_rating_factors == o.top_exprt_rating_factors
536
+ end
537
+
538
+ # @see the `==` method
539
+ # @param [Object] Object to be compared
540
+ def eql?(o)
541
+ self == o
542
+ end
543
+
544
+ # Calculates hash code according to all attributes.
545
+ # @return [Integer] Hash code
546
+ def hash
547
+ [cvss_attack_complexity, cvss_attack_vector, cvss_availability_impact, cvss_base_score, cvss_confidentiality_impact, cvss_exploitability_score, cvss_impact_score, cvss_integrity_impact, cvss_privileges_required, cvss_scope, cvss_source, cvss_user_interaction, cvss_vector, description, exploit_date_recorded_timestamp, exploit_sources, exploit_status, exploit_updated_timestamp, exprt_rating, exprt_rating_date_recorded_timestamp, exprt_rating_highest, exprt_rating_highest_recorded_timestamp, first_seen_timestamp, references, remediation_count, remediation_sources, remediations, runtime, scanner_version, severity, top_exprt_rating_factors].hash
548
+ end
549
+
550
+ # Builds the object from hash
551
+ # @param [Hash] attributes Model attributes in the form of hash
552
+ # @return [Object] Returns the model itself
553
+ def self.build_from_hash(attributes)
554
+ new.build_from_hash(attributes)
555
+ end
556
+
557
+ # Builds the object from hash
558
+ # @param [Hash] attributes Model attributes in the form of hash
559
+ # @return [Object] Returns the model itself
560
+ def build_from_hash(attributes)
561
+ return nil unless attributes.is_a?(Hash)
562
+ attributes = attributes.transform_keys(&:to_sym)
563
+ self.class.openapi_types.each_pair do |key, type|
564
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
565
+ self.send("#{key}=", nil)
566
+ elsif type =~ /\AArray<(.*)>/i
567
+ # check to ensure the input is an array given that the attribute
568
+ # is documented as an array but the input is not
569
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
570
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
571
+ end
572
+ elsif !attributes[self.class.attribute_map[key]].nil?
573
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
574
+ end
575
+ end
576
+
577
+ self
578
+ end
579
+
580
+ # Deserializes the data based on type
581
+ # @param string type Data type
582
+ # @param string value Value to be deserialized
583
+ # @return [Object] Deserialized data
584
+ def _deserialize(type, value)
585
+ case type.to_sym
586
+ when :Time
587
+ Time.parse(value)
588
+ when :Date
589
+ Date.parse(value)
590
+ when :String
591
+ value.to_s
592
+ when :Integer
593
+ value.to_i
594
+ when :Float
595
+ value.to_f
596
+ when :Boolean
597
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
598
+ true
599
+ else
600
+ false
601
+ end
602
+ when :Object
603
+ # generic object (usually a Hash), return directly
604
+ value
605
+ when /\AArray<(?<inner_type>.+)>\z/
606
+ inner_type = Regexp.last_match[:inner_type]
607
+ value.map { |v| _deserialize(inner_type, v) }
608
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
609
+ k_type = Regexp.last_match[:k_type]
610
+ v_type = Regexp.last_match[:v_type]
611
+ {}.tap do |hash|
612
+ value.each do |k, v|
613
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
614
+ end
615
+ end
616
+ else # model
617
+ # models (e.g. Pet) or oneOf
618
+ klass = Falcon.const_get(type)
619
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
620
+ end
621
+ end
622
+
623
+ # Returns the string representation of the object
624
+ # @return [String] String presentation of the object
625
+ def to_s
626
+ to_hash.to_s
627
+ end
628
+
629
+ # to_body is an alias to to_hash (backward compatibility)
630
+ # @return [Hash] Returns the object in the form of hash
631
+ def to_body
632
+ to_hash
633
+ end
634
+
635
+ # Returns the object in the form of hash
636
+ # @return [Hash] Returns the object in the form of hash
637
+ def to_hash
638
+ hash = {}
639
+ self.class.attribute_map.each_pair do |attr, param|
640
+ value = self.send(attr)
641
+ if value.nil?
642
+ is_nullable = self.class.openapi_nullable.include?(attr)
643
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
644
+ end
645
+
646
+ hash[param] = _to_hash(value)
647
+ end
648
+ hash
649
+ end
650
+
651
+ # Outputs non-array value in the form of hash
652
+ # For object, use to_hash. Otherwise, just return the value
653
+ # @param [Object] value Any valid value
654
+ # @return [Hash] Returns the value in the form of hash
655
+ def _to_hash(value)
656
+ if value.is_a?(Array)
657
+ value.compact.map { |v| _to_hash(v) }
658
+ elsif value.is_a?(Hash)
659
+ {}.tap do |hash|
660
+ value.each { |k, v| hash[k] = _to_hash(v) }
661
+ end
662
+ elsif value.respond_to? :to_hash
663
+ value.to_hash
664
+ else
665
+ value
666
+ end
667
+ end
668
+ end
669
+ end