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,257 @@
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 ApiPatchRuleOperationV1
35
+ attr_accessor :schedule
36
+
37
+ attr_accessor :start_on
38
+
39
+ attr_accessor :stop_on
40
+
41
+ # Attribute mapping from ruby-style variable name to JSON key.
42
+ def self.attribute_map
43
+ {
44
+ :'schedule' => :'schedule',
45
+ :'start_on' => :'start_on',
46
+ :'stop_on' => :'stop_on'
47
+ }
48
+ end
49
+
50
+ # Returns all the JSON keys this model knows about
51
+ def self.acceptable_attributes
52
+ attribute_map.values
53
+ end
54
+
55
+ # Attribute type mapping.
56
+ def self.openapi_types
57
+ {
58
+ :'schedule' => :'ApiRuleScheduleV1Patch',
59
+ :'start_on' => :'Time',
60
+ :'stop_on' => :'String'
61
+ }
62
+ end
63
+
64
+ # List of attributes with nullable: true
65
+ def self.openapi_nullable
66
+ Set.new([
67
+ ])
68
+ end
69
+
70
+ # Initializes the object
71
+ # @param [Hash] attributes Model attributes in the form of hash
72
+ def initialize(attributes = {})
73
+ if (!attributes.is_a?(Hash))
74
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ApiPatchRuleOperationV1` initialize method"
75
+ end
76
+
77
+ # check to see if the attribute exists and convert string to symbol for hash key
78
+ attributes = attributes.each_with_object({}) { |(k, v), h|
79
+ if (!self.class.attribute_map.key?(k.to_sym))
80
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ApiPatchRuleOperationV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
81
+ end
82
+ h[k.to_sym] = v
83
+ }
84
+
85
+ if attributes.key?(:'schedule')
86
+ self.schedule = attributes[:'schedule']
87
+ end
88
+
89
+ if attributes.key?(:'start_on')
90
+ self.start_on = attributes[:'start_on']
91
+ end
92
+
93
+ if attributes.key?(:'stop_on')
94
+ self.stop_on = attributes[:'stop_on']
95
+ end
96
+ end
97
+
98
+ # Show invalid properties with the reasons. Usually used together with valid?
99
+ # @return Array for valid properties with the reasons
100
+ def list_invalid_properties
101
+ invalid_properties = Array.new
102
+ if @stop_on.nil?
103
+ invalid_properties.push('invalid value for "stop_on", stop_on cannot be nil.')
104
+ end
105
+
106
+ invalid_properties
107
+ end
108
+
109
+ # Check to see if the all the properties in the model are valid
110
+ # @return true if the model is valid
111
+ def valid?
112
+ return false if @stop_on.nil?
113
+ true
114
+ end
115
+
116
+ # Checks equality by comparing each attribute.
117
+ # @param [Object] Object to be compared
118
+ def ==(o)
119
+ return true if self.equal?(o)
120
+ self.class == o.class &&
121
+ schedule == o.schedule &&
122
+ start_on == o.start_on &&
123
+ stop_on == o.stop_on
124
+ end
125
+
126
+ # @see the `==` method
127
+ # @param [Object] Object to be compared
128
+ def eql?(o)
129
+ self == o
130
+ end
131
+
132
+ # Calculates hash code according to all attributes.
133
+ # @return [Integer] Hash code
134
+ def hash
135
+ [schedule, start_on, stop_on].hash
136
+ end
137
+
138
+ # Builds the object from hash
139
+ # @param [Hash] attributes Model attributes in the form of hash
140
+ # @return [Object] Returns the model itself
141
+ def self.build_from_hash(attributes)
142
+ new.build_from_hash(attributes)
143
+ end
144
+
145
+ # Builds the object from hash
146
+ # @param [Hash] attributes Model attributes in the form of hash
147
+ # @return [Object] Returns the model itself
148
+ def build_from_hash(attributes)
149
+ return nil unless attributes.is_a?(Hash)
150
+ attributes = attributes.transform_keys(&:to_sym)
151
+ self.class.openapi_types.each_pair do |key, type|
152
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
153
+ self.send("#{key}=", nil)
154
+ elsif type =~ /\AArray<(.*)>/i
155
+ # check to ensure the input is an array given that the attribute
156
+ # is documented as an array but the input is not
157
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
158
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
159
+ end
160
+ elsif !attributes[self.class.attribute_map[key]].nil?
161
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
162
+ end
163
+ end
164
+
165
+ self
166
+ end
167
+
168
+ # Deserializes the data based on type
169
+ # @param string type Data type
170
+ # @param string value Value to be deserialized
171
+ # @return [Object] Deserialized data
172
+ def _deserialize(type, value)
173
+ case type.to_sym
174
+ when :Time
175
+ Time.parse(value)
176
+ when :Date
177
+ Date.parse(value)
178
+ when :String
179
+ value.to_s
180
+ when :Integer
181
+ value.to_i
182
+ when :Float
183
+ value.to_f
184
+ when :Boolean
185
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
186
+ true
187
+ else
188
+ false
189
+ end
190
+ when :Object
191
+ # generic object (usually a Hash), return directly
192
+ value
193
+ when /\AArray<(?<inner_type>.+)>\z/
194
+ inner_type = Regexp.last_match[:inner_type]
195
+ value.map { |v| _deserialize(inner_type, v) }
196
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
197
+ k_type = Regexp.last_match[:k_type]
198
+ v_type = Regexp.last_match[:v_type]
199
+ {}.tap do |hash|
200
+ value.each do |k, v|
201
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
202
+ end
203
+ end
204
+ else # model
205
+ # models (e.g. Pet) or oneOf
206
+ klass = Falcon.const_get(type)
207
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
208
+ end
209
+ end
210
+
211
+ # Returns the string representation of the object
212
+ # @return [String] String presentation of the object
213
+ def to_s
214
+ to_hash.to_s
215
+ end
216
+
217
+ # to_body is an alias to to_hash (backward compatibility)
218
+ # @return [Hash] Returns the object in the form of hash
219
+ def to_body
220
+ to_hash
221
+ end
222
+
223
+ # Returns the object in the form of hash
224
+ # @return [Hash] Returns the object in the form of hash
225
+ def to_hash
226
+ hash = {}
227
+ self.class.attribute_map.each_pair do |attr, param|
228
+ value = self.send(attr)
229
+ if value.nil?
230
+ is_nullable = self.class.openapi_nullable.include?(attr)
231
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
232
+ end
233
+
234
+ hash[param] = _to_hash(value)
235
+ end
236
+ hash
237
+ end
238
+
239
+ # Outputs non-array value in the form of hash
240
+ # For object, use to_hash. Otherwise, just return the value
241
+ # @param [Object] value Any valid value
242
+ # @return [Hash] Returns the value in the form of hash
243
+ def _to_hash(value)
244
+ if value.is_a?(Array)
245
+ value.compact.map { |v| _to_hash(v) }
246
+ elsif value.is_a?(Hash)
247
+ {}.tap do |hash|
248
+ value.each { |k, v| hash[k] = _to_hash(v) }
249
+ end
250
+ elsif value.respond_to? :to_hash
251
+ value.to_hash
252
+ else
253
+ value
254
+ end
255
+ end
256
+ end
257
+ end
@@ -0,0 +1,261 @@
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 ApiPatchRuleSearchV1
35
+ attr_accessor :filter
36
+
37
+ attr_accessor :lookback
38
+
39
+ attr_accessor :outcome
40
+
41
+ attr_accessor :trigger_mode
42
+
43
+ # Attribute mapping from ruby-style variable name to JSON key.
44
+ def self.attribute_map
45
+ {
46
+ :'filter' => :'filter',
47
+ :'lookback' => :'lookback',
48
+ :'outcome' => :'outcome',
49
+ :'trigger_mode' => :'trigger_mode'
50
+ }
51
+ end
52
+
53
+ # Returns all the JSON keys this model knows about
54
+ def self.acceptable_attributes
55
+ attribute_map.values
56
+ end
57
+
58
+ # Attribute type mapping.
59
+ def self.openapi_types
60
+ {
61
+ :'filter' => :'String',
62
+ :'lookback' => :'String',
63
+ :'outcome' => :'String',
64
+ :'trigger_mode' => :'String'
65
+ }
66
+ end
67
+
68
+ # List of attributes with nullable: true
69
+ def self.openapi_nullable
70
+ Set.new([
71
+ ])
72
+ end
73
+
74
+ # Initializes the object
75
+ # @param [Hash] attributes Model attributes in the form of hash
76
+ def initialize(attributes = {})
77
+ if (!attributes.is_a?(Hash))
78
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ApiPatchRuleSearchV1` initialize method"
79
+ end
80
+
81
+ # check to see if the attribute exists and convert string to symbol for hash key
82
+ attributes = attributes.each_with_object({}) { |(k, v), h|
83
+ if (!self.class.attribute_map.key?(k.to_sym))
84
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ApiPatchRuleSearchV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
85
+ end
86
+ h[k.to_sym] = v
87
+ }
88
+
89
+ if attributes.key?(:'filter')
90
+ self.filter = attributes[:'filter']
91
+ end
92
+
93
+ if attributes.key?(:'lookback')
94
+ self.lookback = attributes[:'lookback']
95
+ end
96
+
97
+ if attributes.key?(:'outcome')
98
+ self.outcome = attributes[:'outcome']
99
+ end
100
+
101
+ if attributes.key?(:'trigger_mode')
102
+ self.trigger_mode = attributes[:'trigger_mode']
103
+ end
104
+ end
105
+
106
+ # Show invalid properties with the reasons. Usually used together with valid?
107
+ # @return Array for valid properties with the reasons
108
+ def list_invalid_properties
109
+ invalid_properties = Array.new
110
+ invalid_properties
111
+ end
112
+
113
+ # Check to see if the all the properties in the model are valid
114
+ # @return true if the model is valid
115
+ def valid?
116
+ true
117
+ end
118
+
119
+ # Checks equality by comparing each attribute.
120
+ # @param [Object] Object to be compared
121
+ def ==(o)
122
+ return true if self.equal?(o)
123
+ self.class == o.class &&
124
+ filter == o.filter &&
125
+ lookback == o.lookback &&
126
+ outcome == o.outcome &&
127
+ trigger_mode == o.trigger_mode
128
+ end
129
+
130
+ # @see the `==` method
131
+ # @param [Object] Object to be compared
132
+ def eql?(o)
133
+ self == o
134
+ end
135
+
136
+ # Calculates hash code according to all attributes.
137
+ # @return [Integer] Hash code
138
+ def hash
139
+ [filter, lookback, outcome, trigger_mode].hash
140
+ end
141
+
142
+ # Builds the object from hash
143
+ # @param [Hash] attributes Model attributes in the form of hash
144
+ # @return [Object] Returns the model itself
145
+ def self.build_from_hash(attributes)
146
+ new.build_from_hash(attributes)
147
+ end
148
+
149
+ # Builds the object from hash
150
+ # @param [Hash] attributes Model attributes in the form of hash
151
+ # @return [Object] Returns the model itself
152
+ def build_from_hash(attributes)
153
+ return nil unless attributes.is_a?(Hash)
154
+ attributes = attributes.transform_keys(&:to_sym)
155
+ self.class.openapi_types.each_pair do |key, type|
156
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
157
+ self.send("#{key}=", nil)
158
+ elsif type =~ /\AArray<(.*)>/i
159
+ # check to ensure the input is an array given that the attribute
160
+ # is documented as an array but the input is not
161
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
162
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
163
+ end
164
+ elsif !attributes[self.class.attribute_map[key]].nil?
165
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
166
+ end
167
+ end
168
+
169
+ self
170
+ end
171
+
172
+ # Deserializes the data based on type
173
+ # @param string type Data type
174
+ # @param string value Value to be deserialized
175
+ # @return [Object] Deserialized data
176
+ def _deserialize(type, value)
177
+ case type.to_sym
178
+ when :Time
179
+ Time.parse(value)
180
+ when :Date
181
+ Date.parse(value)
182
+ when :String
183
+ value.to_s
184
+ when :Integer
185
+ value.to_i
186
+ when :Float
187
+ value.to_f
188
+ when :Boolean
189
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
190
+ true
191
+ else
192
+ false
193
+ end
194
+ when :Object
195
+ # generic object (usually a Hash), return directly
196
+ value
197
+ when /\AArray<(?<inner_type>.+)>\z/
198
+ inner_type = Regexp.last_match[:inner_type]
199
+ value.map { |v| _deserialize(inner_type, v) }
200
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
201
+ k_type = Regexp.last_match[:k_type]
202
+ v_type = Regexp.last_match[:v_type]
203
+ {}.tap do |hash|
204
+ value.each do |k, v|
205
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
206
+ end
207
+ end
208
+ else # model
209
+ # models (e.g. Pet) or oneOf
210
+ klass = Falcon.const_get(type)
211
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
212
+ end
213
+ end
214
+
215
+ # Returns the string representation of the object
216
+ # @return [String] String presentation of the object
217
+ def to_s
218
+ to_hash.to_s
219
+ end
220
+
221
+ # to_body is an alias to to_hash (backward compatibility)
222
+ # @return [Hash] Returns the object in the form of hash
223
+ def to_body
224
+ to_hash
225
+ end
226
+
227
+ # Returns the object in the form of hash
228
+ # @return [Hash] Returns the object in the form of hash
229
+ def to_hash
230
+ hash = {}
231
+ self.class.attribute_map.each_pair do |attr, param|
232
+ value = self.send(attr)
233
+ if value.nil?
234
+ is_nullable = self.class.openapi_nullable.include?(attr)
235
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
236
+ end
237
+
238
+ hash[param] = _to_hash(value)
239
+ end
240
+ hash
241
+ end
242
+
243
+ # Outputs non-array value in the form of hash
244
+ # For object, use to_hash. Otherwise, just return the value
245
+ # @param [Object] value Any valid value
246
+ # @return [Hash] Returns the value in the form of hash
247
+ def _to_hash(value)
248
+ if value.is_a?(Array)
249
+ value.compact.map { |v| _to_hash(v) }
250
+ elsif value.is_a?(Hash)
251
+ {}.tap do |hash|
252
+ value.each { |k, v| hash[k] = _to_hash(v) }
253
+ end
254
+ elsif value.respond_to? :to_hash
255
+ value.to_hash
256
+ else
257
+ value
258
+ end
259
+ end
260
+ end
261
+ end