crimson-falcon 0.5.0 → 1.0.1

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