crowdstrike-falconpy-dev 1.5.1__tar.gz → 1.5.2__tar.gz

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 (450) hide show
  1. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/CHANGELOG.md +50 -0
  2. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/PKG-INFO +1 -1
  3. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_auth_object/_uber_interface.py +13 -3
  4. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_constant/__init__.py +15 -4
  5. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_cloud_oci_registration.py +1 -1
  6. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_container_vulnerabilities.py +1 -1
  7. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_intelligence_indicator_graph.py +14 -0
  8. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_user_management.py +4 -1
  9. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/deprecated/_cloud_oci_registration.py +1 -1
  10. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_real_time_response.py +1 -1
  11. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_service_class/_service_class.py +13 -3
  12. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_util/_functions.py +9 -0
  13. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_version.py +1 -1
  14. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/intelligence_indicator_graph.py +95 -1
  15. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/user_management.py +1 -1
  16. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/workflows.py +29 -10
  17. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test.yml +3 -0
  18. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_identity_protection.py +36 -13
  19. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_intelligence_indicator_graph.py +7 -1
  20. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_service_class.py +16 -1
  21. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_uber.py +17 -1
  22. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_workflows.py +3 -0
  23. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/.flake8 +0 -0
  24. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/.gitignore +0 -0
  25. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/.pylintrc +0 -0
  26. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/AUTHORS.md +0 -0
  27. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/CITATION.cff +0 -0
  28. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/CODE_OF_CONDUCT.md +0 -0
  29. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/CONTRIBUTING.md +0 -0
  30. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/LICENSE +0 -0
  31. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/OSSMETADATA +0 -0
  32. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/README.md +0 -0
  33. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/SECURITY.md +0 -0
  34. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/SUPPORT.md +0 -0
  35. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/pyproject.toml +0 -0
  36. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/README.md +0 -0
  37. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/__init__.py +0 -0
  38. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_api_request/__init__.py +0 -0
  39. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_api_request/_request.py +0 -0
  40. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_api_request/_request_behavior.py +0 -0
  41. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_api_request/_request_connection.py +0 -0
  42. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_api_request/_request_meta.py +0 -0
  43. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_api_request/_request_payloads.py +0 -0
  44. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_api_request/_request_validator.py +0 -0
  45. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_auth_object/__init__.py +0 -0
  46. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_auth_object/_base_falcon_auth.py +0 -0
  47. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_auth_object/_bearer_token.py +0 -0
  48. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_auth_object/_falcon_interface.py +0 -0
  49. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_auth_object/_interface_config.py +0 -0
  50. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/README.md +0 -0
  51. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/__init__.py +0 -0
  52. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_alerts.py +0 -0
  53. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_api_integrations.py +0 -0
  54. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_aspm.py +0 -0
  55. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_cao_hunting.py +0 -0
  56. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_certificate_based_exclusions.py +0 -0
  57. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_cloud_aws_registration.py +0 -0
  58. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_cloud_azure_registration.py +0 -0
  59. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_cloud_connect_aws.py +0 -0
  60. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_cloud_security_assets.py +0 -0
  61. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_cloud_snapshots.py +0 -0
  62. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_configuration_assessment.py +0 -0
  63. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_configuration_assessment_evaluation_logic.py +0 -0
  64. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_container_alerts.py +0 -0
  65. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_container_detections.py +0 -0
  66. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_container_image_compliance.py +0 -0
  67. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_container_images.py +0 -0
  68. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_container_packages.py +0 -0
  69. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_content_update_policies.py +0 -0
  70. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_correlation_rules.py +0 -0
  71. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_cspm_registration.py +0 -0
  72. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_custom_ioa.py +0 -0
  73. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_custom_storage.py +0 -0
  74. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_d4c_registration.py +0 -0
  75. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_datascanner.py +0 -0
  76. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_delivery_settings.py +0 -0
  77. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_deployments.py +0 -0
  78. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_detects.py +0 -0
  79. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_device_content.py +0 -0
  80. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_device_control_policies.py +0 -0
  81. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_discover.py +0 -0
  82. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_downloads.py +0 -0
  83. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_drift_indicators.py +0 -0
  84. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_event_streams.py +0 -0
  85. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_exposure_management.py +0 -0
  86. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_faas_execution.py +0 -0
  87. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_falcon_complete_dashboard.py +0 -0
  88. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_falcon_container.py +0 -0
  89. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_falconx_sandbox.py +0 -0
  90. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_fdr.py +0 -0
  91. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_filevantage.py +0 -0
  92. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_firewall_management.py +0 -0
  93. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_firewall_policies.py +0 -0
  94. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_foundry_logscale.py +0 -0
  95. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_host_group.py +0 -0
  96. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_host_migration.py +0 -0
  97. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_hosts.py +0 -0
  98. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_identity_protection.py +0 -0
  99. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_image_assessment_policies.py +0 -0
  100. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_incidents.py +0 -0
  101. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_installation_tokens.py +0 -0
  102. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_intel.py +0 -0
  103. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_intelligence_feeds.py +0 -0
  104. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_ioa_exclusions.py +0 -0
  105. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_ioc.py +0 -0
  106. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_iocs.py +0 -0
  107. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_kubernetes_protection.py +0 -0
  108. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_malquery.py +0 -0
  109. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_message_center.py +0 -0
  110. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_ml_exclusions.py +0 -0
  111. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_mobile_enrollment.py +0 -0
  112. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_mssp.py +0 -0
  113. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_ngsiem.py +0 -0
  114. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_oauth2.py +0 -0
  115. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_ods.py +0 -0
  116. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_overwatch_dashboard.py +0 -0
  117. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_prevention_policies.py +0 -0
  118. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_quarantine.py +0 -0
  119. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_quick_scan.py +0 -0
  120. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_quick_scan_pro.py +0 -0
  121. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_real_time_response.py +0 -0
  122. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_real_time_response_admin.py +0 -0
  123. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_real_time_response_audit.py +0 -0
  124. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_recon.py +0 -0
  125. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_report_executions.py +0 -0
  126. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_response_policies.py +0 -0
  127. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_sample_uploads.py +0 -0
  128. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_scheduled_reports.py +0 -0
  129. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_sensor_download.py +0 -0
  130. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_sensor_update_policies.py +0 -0
  131. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_sensor_usage.py +0 -0
  132. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_sensor_visibility_exclusions.py +0 -0
  133. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_serverless_vulnerabilities.py +0 -0
  134. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_spotlight_evaluation_logic.py +0 -0
  135. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_spotlight_vulnerabilities.py +0 -0
  136. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_tailored_intelligence.py +0 -0
  137. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_threatgraph.py +0 -0
  138. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_unidentified_containers.py +0 -0
  139. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_workflows.py +0 -0
  140. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/_zero_trust_assessment.py +0 -0
  141. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/deprecated/README.md +0 -0
  142. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/deprecated/__init__.py +0 -0
  143. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/deprecated/_certificate_based_exclusions.py +0 -0
  144. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/deprecated/_cloud_aws_registration.py +0 -0
  145. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/deprecated/_cloud_azure_registration.py +0 -0
  146. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/deprecated/_cloud_security_assets.py +0 -0
  147. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/deprecated/_correlation_rules.py +0 -0
  148. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/deprecated/_custom_ioa.py +0 -0
  149. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/deprecated/_d4c_registration.py +0 -0
  150. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/deprecated/_datascanner.py +0 -0
  151. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/deprecated/_device_content.py +0 -0
  152. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/deprecated/_discover.py +0 -0
  153. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/deprecated/_exposure_management.py +0 -0
  154. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/deprecated/_fdr.py +0 -0
  155. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/deprecated/_firewall_management.py +0 -0
  156. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/deprecated/_hosts.py +0 -0
  157. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/deprecated/_identity_protection.py +0 -0
  158. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/deprecated/_installation_tokens.py +0 -0
  159. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/deprecated/_ioc.py +0 -0
  160. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/deprecated/_iocs.py +0 -0
  161. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/deprecated/_mapping.py +0 -0
  162. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/deprecated/_ods.py +0 -0
  163. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/deprecated/_real_time_response.py +0 -0
  164. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/deprecated/_real_time_response_admin.py +0 -0
  165. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/deprecated/_report_executions.py +0 -0
  166. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/deprecated/_scheduled_reports.py +0 -0
  167. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_endpoint/deprecated/_zero_trust_assessment.py +0 -0
  168. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_enum/__init__.py +0 -0
  169. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_enum/_base_url.py +0 -0
  170. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_enum/_container_base_url.py +0 -0
  171. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_enum/_ingest_base_url.py +0 -0
  172. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_enum/_ingest_format.py +0 -0
  173. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_enum/_timeunit.py +0 -0
  174. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_enum/_token_fail_reason.py +0 -0
  175. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_error/__init__.py +0 -0
  176. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_error/_exceptions.py +0 -0
  177. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_error/_warnings.py +0 -0
  178. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_helper/__init__.py +0 -0
  179. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_helper/_indicator.py +0 -0
  180. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_helper/_text_colors.py +0 -0
  181. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_log/__init__.py +0 -0
  182. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_log/_facility.py +0 -0
  183. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_ngsiem/__init__.py +0 -0
  184. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_ngsiem/_hec.py +0 -0
  185. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_ngsiem/_ingest_config.py +0 -0
  186. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_ngsiem/_ingest_payload.py +0 -0
  187. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_ngsiem/_session_manager.py +0 -0
  188. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/README.md +0 -0
  189. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/__init__.py +0 -0
  190. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_alerts.py +0 -0
  191. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_api_integrations.py +0 -0
  192. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_aspm.py +0 -0
  193. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_certificate_based_exclusions.py +0 -0
  194. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_cloud_aws_registration.py +0 -0
  195. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_cloud_azure_registration.py +0 -0
  196. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_cloud_connect_aws.py +0 -0
  197. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_cloud_oci_registration.py +0 -0
  198. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_cloud_snapshots.py +0 -0
  199. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_container.py +0 -0
  200. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_content_update_policy.py +0 -0
  201. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_correlation_rules.py +0 -0
  202. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_cspm_registration.py +0 -0
  203. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_d4c_registration.py +0 -0
  204. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_delivery_settings.py +0 -0
  205. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_detects.py +0 -0
  206. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_device_control_policy.py +0 -0
  207. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_exposure_management.py +0 -0
  208. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_falconx.py +0 -0
  209. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_filevantage.py +0 -0
  210. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_firewall.py +0 -0
  211. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_foundry.py +0 -0
  212. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_generic.py +0 -0
  213. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_host_group.py +0 -0
  214. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_identity_protection.py +0 -0
  215. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_incidents.py +0 -0
  216. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_intelligence_indicator_graph.py +0 -0
  217. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_ioa.py +0 -0
  218. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_ioc.py +0 -0
  219. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_malquery.py +0 -0
  220. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_message_center.py +0 -0
  221. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_mobile_enrollment.py +0 -0
  222. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_mssp.py +0 -0
  223. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_ngsiem.py +0 -0
  224. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_ods.py +0 -0
  225. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_prevention_policy.py +0 -0
  226. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_recon.py +0 -0
  227. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_reports.py +0 -0
  228. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_response_policy.py +0 -0
  229. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_sample_uploads.py +0 -0
  230. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_sensor_update_policy.py +0 -0
  231. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_payload/_workflows.py +0 -0
  232. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_result/__base_resource.py +0 -0
  233. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_result/__init__.py +0 -0
  234. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_result/_base_dictionary.py +0 -0
  235. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_result/_errors.py +0 -0
  236. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_result/_expanded_result.py +0 -0
  237. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_result/_headers.py +0 -0
  238. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_result/_meta.py +0 -0
  239. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_result/_resources.py +0 -0
  240. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_result/_response_component.py +0 -0
  241. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_result/_result.py +0 -0
  242. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_service_class/__init__.py +0 -0
  243. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_service_class/_base_service_class.py +0 -0
  244. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_util/__init__.py +0 -0
  245. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_util/_auth.py +0 -0
  246. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_util/_service.py +0 -0
  247. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/_util/_uber.py +0 -0
  248. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/alerts.py +0 -0
  249. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/api_complete/__init__.py +0 -0
  250. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/api_complete/_advanced.py +0 -0
  251. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/api_complete/_legacy.py +0 -0
  252. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/api_integrations.py +0 -0
  253. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/aspm.py +0 -0
  254. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/cao_hunting.py +0 -0
  255. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/certificate_based_exclusions.py +0 -0
  256. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/cloud_aws_registration.py +0 -0
  257. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/cloud_azure_registration.py +0 -0
  258. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/cloud_connect_aws.py +0 -0
  259. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/cloud_oci_registration.py +0 -0
  260. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/cloud_security_assets.py +0 -0
  261. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/cloud_snapshots.py +0 -0
  262. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/configuration_assessment.py +0 -0
  263. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/configuration_assessment_evaluation_logic.py +0 -0
  264. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/container_alerts.py +0 -0
  265. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/container_detections.py +0 -0
  266. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/container_image_compliance.py +0 -0
  267. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/container_images.py +0 -0
  268. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/container_packages.py +0 -0
  269. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/container_vulnerabilities.py +0 -0
  270. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/content_update_policies.py +0 -0
  271. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/correlation_rules.py +0 -0
  272. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/cspm_registration.py +0 -0
  273. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/custom_ioa.py +0 -0
  274. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/custom_storage.py +0 -0
  275. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/d4c_registration.py +0 -0
  276. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/datascanner.py +0 -0
  277. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/debug.py +0 -0
  278. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/delivery_settings.py +0 -0
  279. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/deployments.py +0 -0
  280. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/detects.py +0 -0
  281. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/device_content.py +0 -0
  282. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/device_control_policies.py +0 -0
  283. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/discover.py +0 -0
  284. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/downloads.py +0 -0
  285. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/drift_indicators.py +0 -0
  286. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/event_streams.py +0 -0
  287. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/exposure_management.py +0 -0
  288. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/faas_execution.py +0 -0
  289. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/falcon_complete_dashboard.py +0 -0
  290. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/falcon_container.py +0 -0
  291. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/falconx_sandbox.py +0 -0
  292. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/fdr.py +0 -0
  293. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/filevantage.py +0 -0
  294. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/firewall_management.py +0 -0
  295. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/firewall_policies.py +0 -0
  296. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/foundry_logscale.py +0 -0
  297. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/host_group.py +0 -0
  298. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/host_migration.py +0 -0
  299. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/hosts.py +0 -0
  300. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/identity_protection.py +0 -0
  301. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/image_assessment_policies.py +0 -0
  302. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/incidents.py +0 -0
  303. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/installation_tokens.py +0 -0
  304. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/intel.py +0 -0
  305. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/intelligence_feeds.py +0 -0
  306. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/ioa_exclusions.py +0 -0
  307. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/ioc.py +0 -0
  308. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/iocs.py +0 -0
  309. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/kubernetes_protection.py +0 -0
  310. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/malquery.py +0 -0
  311. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/message_center.py +0 -0
  312. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/ml_exclusions.py +0 -0
  313. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/mobile_enrollment.py +0 -0
  314. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/mssp.py +0 -0
  315. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/ngsiem.py +0 -0
  316. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/oauth2.py +0 -0
  317. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/ods.py +0 -0
  318. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/overwatch_dashboard.py +0 -0
  319. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/prevention_policy.py +0 -0
  320. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/quarantine.py +0 -0
  321. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/quick_scan.py +0 -0
  322. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/quick_scan_pro.py +0 -0
  323. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/real_time_response.py +0 -0
  324. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/real_time_response_admin.py +0 -0
  325. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/real_time_response_audit.py +0 -0
  326. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/recon.py +0 -0
  327. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/report_executions.py +0 -0
  328. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/response_policies.py +0 -0
  329. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/sample_uploads.py +0 -0
  330. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/scheduled_reports.py +0 -0
  331. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/sensor_download.py +0 -0
  332. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/sensor_update_policy.py +0 -0
  333. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/sensor_usage.py +0 -0
  334. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/sensor_visibility_exclusions.py +0 -0
  335. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/serverless_vulnerabilities.py +0 -0
  336. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/spotlight_evaluation_logic.py +0 -0
  337. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/spotlight_vulnerabilities.py +0 -0
  338. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/tailored_intelligence.py +0 -0
  339. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/threatgraph.py +0 -0
  340. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/unidentified_containers.py +0 -0
  341. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/src/falconpydev/zero_trust_assessment.py +0 -0
  342. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/100thousand.raw.gz +0 -0
  343. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/5records.raw +0 -0
  344. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/README.md +0 -0
  345. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/__init__.py +0 -0
  346. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/conftest.py +0 -0
  347. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/coverage.svg +0 -0
  348. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/manual/__init__.py +0 -0
  349. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/manual/test_get_device_details.py +0 -0
  350. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_alerts.py +0 -0
  351. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_api_integrations.py +0 -0
  352. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_api_request.py +0 -0
  353. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_aspm.py +0 -0
  354. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_authentications.py +0 -0
  355. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_authorization.py +0 -0
  356. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_cao_hunting.py +0 -0
  357. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_certificate_based_exclusions.py +0 -0
  358. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_cloud_aws_registration.py +0 -0
  359. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_cloud_azure_registration.py +0 -0
  360. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_cloud_connect_aws.py +0 -0
  361. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_cloud_oci_registration.py +0 -0
  362. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_cloud_security_assets.py +0 -0
  363. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_cloud_snapshots.py +0 -0
  364. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_configuration_assessment.py +0 -0
  365. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_configuration_assessment_evaluation_logic.py +0 -0
  366. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_container_alerts.py +0 -0
  367. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_container_detections.py +0 -0
  368. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_container_image_compliance.py +0 -0
  369. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_container_images.py +0 -0
  370. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_container_packages.py +0 -0
  371. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_container_vulnerabilities.py +0 -0
  372. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_content_update_policies.py +0 -0
  373. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_correlation_rules.py +0 -0
  374. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_cspm_registration.py +0 -0
  375. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_custom_ioa.py +0 -0
  376. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_custom_storage.py +0 -0
  377. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_d4c_registration.py +0 -0
  378. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_datascanner.py +0 -0
  379. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_delivery_settings.py +0 -0
  380. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_deployments.py +0 -0
  381. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_detects.py +0 -0
  382. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_device_content.py +0 -0
  383. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_device_control_policies.py +0 -0
  384. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_discover.py +0 -0
  385. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_downloads.py +0 -0
  386. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_drift_indicators.py +0 -0
  387. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_event_streams.py +0 -0
  388. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_exposure_management.py +0 -0
  389. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_faas_execution.py +0 -0
  390. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_falcon_complete_dashboard.py +0 -0
  391. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_falcon_container.py +0 -0
  392. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_falconx_sandbox.py +0 -0
  393. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_fdr.py +0 -0
  394. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_filevantage.py +0 -0
  395. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_firewall_management.py +0 -0
  396. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_firewall_policies.py +0 -0
  397. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_foundry_logscale.py +0 -0
  398. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_hec.py +0 -0
  399. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_host_group.py +0 -0
  400. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_host_migration.py +0 -0
  401. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_hosts.py +0 -0
  402. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_image_assessment_policies.py +0 -0
  403. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_incidents.py +0 -0
  404. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_installation_tokens.py +0 -0
  405. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_intel.py +0 -0
  406. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_intelligence_feeds.py +0 -0
  407. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_ioa_exclusions.py +0 -0
  408. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_ioc.py +0 -0
  409. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_iocs.py +0 -0
  410. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_kubernetes_protection.py +0 -0
  411. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_malquery.py +0 -0
  412. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_message_center.py +0 -0
  413. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_ml_exclusions.py +0 -0
  414. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_mobile_enrollment.py +0 -0
  415. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_mssp.py +0 -0
  416. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_ngsiem.py +0 -0
  417. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_ods.py +0 -0
  418. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_overwatch_dashboard.py +0 -0
  419. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_prevention_policy.py +0 -0
  420. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_quarantine.py +0 -0
  421. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_quick_scan.py +0 -0
  422. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_quick_scan_pro.py +0 -0
  423. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_real_time_response.py +0 -0
  424. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_real_time_response_admin.py +0 -0
  425. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_real_time_response_audit.py +0 -0
  426. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_recon.py +0 -0
  427. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_report_executions.py +0 -0
  428. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_response_policies.py +0 -0
  429. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_result_object.py +0 -0
  430. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_sample_uploads.py +0 -0
  431. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_scheduled_reports.py +0 -0
  432. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_sensor_download.py +0 -0
  433. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_sensor_update_policy.py +0 -0
  434. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_sensor_usage.py +0 -0
  435. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_sensor_visibility_exclusions.py +0 -0
  436. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_serverless_vulnerabilities.py +0 -0
  437. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_spotlight_evaluation_logic.py +0 -0
  438. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_spotlight_vulnerabilities.py +0 -0
  439. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_tailored_intelligence.py +0 -0
  440. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_threatgraph.py +0 -0
  441. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_timeout.py +0 -0
  442. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_uber_api_complete.py +0 -0
  443. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_unidentified_containers.py +0 -0
  444. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_user_management.py +0 -0
  445. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/test_zero_trust_assessment.py +0 -0
  446. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/testfile.csv +0 -0
  447. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/testfile.json +0 -0
  448. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/testfile.pdf +0 -0
  449. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/testfile.png +0 -0
  450. {crowdstrike_falconpy_dev-1.5.1 → crowdstrike_falconpy_dev-1.5.2}/tests/testfile.zip +0 -0
@@ -1,3 +1,46 @@
1
+ # Version 1.5.2
2
+ ## Added features and functionality
3
+ + Updated: Updated `import_definition` (_WorkflowDefinitionsImport_ operation) method to allow for raw YAML file data to be passed to the `data_file` keyword within the __Workflows__ Service Class. Closes #1341.
4
+ - `workflows.py`
5
+ > Unit testing expanded to complete code coverage.
6
+ - `tests/test_workflows.py`
7
+ - Thanks go out to @jbfuzier for suggesting this update. 🙇
8
+
9
+ + Updated: Expanded error handling for context manager usage scenarios.
10
+ - `_auth_object/_uber_interface.py`
11
+ - `_service_class/_service_class.py`
12
+ > Unit testing expanded to complete code coverage.
13
+ - `tests/test_service_class.py`
14
+ - `tests/test_uber.py`
15
+
16
+ + Updated: Updated default `limit` for the _ReadCombinedVulnerabilitiesDetails_ operation from 100 to 5000 within the __Container Vulnerabilities__ service collection.
17
+ - `_endpoint/_container_vulnerabilities.py`
18
+
19
+ + Added: Added `temporarily_assigned_cids` as an allowed value for the `filter` parameter in the _queryUserV1_ operation within the __User Management__ service collection.
20
+ - `_endpoint/_user_management.py`
21
+ - `user_management.py`
22
+
23
+ + Added: Added new _GetIndicatorAggregates_ operation to the __Intelligence Indicator Graph__ service collection.
24
+ - `_endpoint/_intelligence_indicator_graph.py`
25
+ - `intelligence_indicator_graph.py`
26
+ > Unit testing expanded to complete code coverage.
27
+ - `tests/test_intelligence_indicator_graph.py`
28
+
29
+ ## Issues resolved
30
+ + Fixed: Restored incorrectly removed values from the __PREFER_IDS_IN_BODY__ constant. Closes #1344.
31
+ - `_constant/__init__.py`
32
+ - Thanks go out to @agburch for identifying this issue! 🙇
33
+
34
+ ## Other
35
+ + Updated: Updated `generate_error_result` method to handle context manager and pythonic scenarios.
36
+ - `_util/_functions.py`
37
+
38
+ + Updated: Cosmetic updates to the `filter` parameter for the _cloud_security_registration_oci_get_account_ operation within the __Cloud OCI Registration__ service collection.
39
+ - `_endpoint/_cloud_oci_registration.py`
40
+ - `_endpoint/deprecated/_cloud_oci_registration.py`
41
+
42
+ ---
43
+
1
44
  # Version 1.5.1
2
45
  ## Added features and functionality
3
46
  + Added: Added the _CreateFileV1_ and _UpdateFileV1_ operations to the __Foundry LogScale__ service collection.
@@ -58,6 +101,13 @@
58
101
  - `_util/_uber.py`
59
102
  - Thanks go out to @Gage-BCCA for submitting this fix! 🙇
60
103
 
104
+ + Updated: Expanded the operations covered by the PREFER_IDS_IN_BODY constant.
105
+ - `_constant/__init__.py`
106
+
107
+ + Updated: Updated the `data_payload` payload handler for operations within __Real Time Response__ service collections to allow for blank parameter values. Closes #1339.
108
+ - `_payload/_real_time_response.py`
109
+ - Thanks go out to @jbfuzier for reporting this issue! 🙇
110
+
61
111
  ## Other
62
112
  + Updated: Cosmetic updates to enum and parameter descriptions in the _GetMigrationIDsV1_ and _GetHostMigrationIDsV1_ operations within the __Host Migration__ service collection.
63
113
  - `_endpoint/_host_migration.py`
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: crowdstrike-falconpy-dev
3
- Version: 1.5.1
3
+ Version: 1.5.2
4
4
  Summary: The CrowdStrike Falcon SDK for Python
5
5
  Project-URL: Documentation, https://www.falconpy.io
6
6
  Project-URL: Homepage, https://github.com/CrowdStrike/falconpy
@@ -35,6 +35,7 @@ OTHER DEALINGS IN THE SOFTWARE.
35
35
 
36
36
  For more information, please refer to <https://unlicense.org>
37
37
  """
38
+ from traceback import extract_tb
38
39
  from typing import Dict, List, Optional, Union
39
40
  from ._falcon_interface import FalconInterface
40
41
  from .._constant import MAX_DEBUG_RECORDS
@@ -156,10 +157,19 @@ class UberInterface(FalconInterface):
156
157
  """Allow for entry as a context manager."""
157
158
  return self
158
159
 
159
- def __exit__(self, *args):
160
- """Discard our token when we exit the context."""
160
+ def __exit__(self, exc_type, exc_val, exc_tb):
161
+ """Discard our token when we exit the context and handle any errors."""
162
+ if exc_type is not None:
163
+ if self.log:
164
+ # Log the error and traceback detail
165
+ self.log.error("ERROR: [%s] %s", exc_type.__name__, exc_val)
166
+ frame_list = extract_tb(exc_tb)
167
+ frame = frame_list[len(frame_list)-1]
168
+ lineno = frame.lineno
169
+ func = frame.name
170
+ fname = frame.filename
171
+ self.log.error("LOCATION: %s, Line #%i in Function '%s'", fname, lineno, func)
161
172
  self.logout()
162
- return args
163
173
 
164
174
  # Legacy property getters maintained for backwards functionality.
165
175
  def authenticated(self) -> bool:
@@ -43,10 +43,21 @@ PREFER_NONETYPE: List[str] = [
43
43
  "RTR_DeleteSession"
44
44
  ]
45
45
  PREFER_IDS_IN_BODY: List[str] = [
46
- "GetDeviceDetails", "PostDeviceDetailsV2", "GetVulnerabilities", "GetIntelIndicatorEntities",
47
- "getChildrenV2", "cancel-scans", "GetDetectSummaries", "UpdateQuarantinedDetectsByIds",
48
- "GetQuarantineFiles", "PostEntitiesAlertsV1", "CreateSavedSearchesDeployV1",
49
- "WorkflowExecutionsAction", "signalChangesExternal"
46
+ "GetBehaviors", "GetCaseActivityByIds", "GetCaseEntitiesByIDs", "GetDetectSummaries",
47
+ "GetEventsEntities", "GetHostMigrationsV1", "GetIncidents", "GetIntelIndicatorEntities",
48
+ "GetQuarantineFiles", "GetRulesEntities", "GetSensorDetails", "GetVulnerabilities",
49
+ "HostMigrationsActionsV1", "MigrationsActionsV1", "PatchEntitiesAlertsV2", "PerformActionV2",
50
+ "PerformIncidentAction", "PostDeviceDetailsV2", "PostEntitiesAlertsV1", "PostMitreAttacks",
51
+ "QueryDeviceLoginHistory", "QueryDeviceLoginHistoryV2", "QueryGetNetworkAddressHistoryV1",
52
+ "RTR_ListQueuedSessions", "RTR_ListSessions", "UpdateDetectsByIdsV2", "cancel_scans",
53
+ "UpdateQuarantinedDetectsByIds", "WorkflowExecutionsAction", "get_rules_get", "getChildrenV2",
54
+ "performContentUpdatePoliciesAction", "performDeviceControlPoliciesAction", "userActionV1",
55
+ "performFirewallPoliciesAction", "performGroupAction", "performPreventionPoliciesAction",
56
+ "performRTResponsePoliciesAction", "performSensorUpdatePoliciesAction", "retrieveUsersGETV1",
57
+ "setContentUpdatePoliciesPrecedence", "setDeviceControlPoliciesPrecedence",
58
+ "setFirewallPoliciesPrecedence", "setPreventionPoliciesPrecedence", "signalChangesExternal",
59
+ "setRTResponsePoliciesPrecedence", "setSensorUpdatePoliciesPrecedence", "GetDeviceDetails",
60
+ "CreateSavedSearchesDeployV1", "cancel-scans", "get-rules-get"
50
61
  ]
51
62
  MOCK_OPERATIONS: List[str] = [
52
63
  "GetImageAssessmentReport", "DeleteImageDetails", "ImageMatchesPolicy"
@@ -47,7 +47,7 @@ _cloud_oci_registration_endpoints = [
47
47
  {
48
48
  "type": "string",
49
49
  "description": "FQL (Falcon Query Language) string for filtering results. Allowed filters are "
50
- "Set{updated_at, tenancy_ocid, tenancy_name, home_region, key_age, overall_status, created_at}",
50
+ "Set{overall_status, created_at, updated_at, tenancy_ocid, tenancy_name, home_region, key_age}",
51
51
  "name": "filter",
52
52
  "in": "query"
53
53
  },
@@ -279,7 +279,7 @@ _container_vulnerabilities_endpoints = [
279
279
  },
280
280
  {
281
281
  "type": "integer",
282
- "default": 100,
282
+ "default": 5000,
283
283
  "description": "The upper-bound on the number of records to retrieve.",
284
284
  "name": "limit",
285
285
  "in": "query"
@@ -37,6 +37,20 @@ For more information, please refer to <https://unlicense.org>
37
37
  """
38
38
 
39
39
  _intelligence_indicator_graph_endpoints = [
40
+ [
41
+ "GetIndicatorAggregates",
42
+ "POST",
43
+ "/intelligence/aggregates/indicators/v1",
44
+ "Get aggregates for indicators based on requests",
45
+ "intelligence_indicator_graph",
46
+ [
47
+ {
48
+ "name": "body",
49
+ "in": "body",
50
+ "required": True
51
+ }
52
+ ]
53
+ ],
40
54
  [
41
55
  "SearchIndicators",
42
56
  "POST",
@@ -377,7 +377,8 @@ _user_management_endpoints = [
377
377
  {
378
378
  "type": "string",
379
379
  "description": "Filter using a query in Falcon Query Language (FQL). Supported filters: assigned_cids, "
380
- "cid, direct_assigned_cids, factors, first_name, has_temporary_roles, last_name, name, status, uid",
380
+ " cid, direct_assigned_cids, factors, first_name, has_temporary_roles, last_name, name, status, "
381
+ "temporarily_assigned_cids, uid",
381
382
  "name": "filter",
382
383
  "in": "query"
383
384
  },
@@ -416,6 +417,8 @@ _user_management_endpoints = [
416
417
  "name|desc",
417
418
  "status|asc",
418
419
  "status|desc",
420
+ "temporarily_assigned_cids|asc",
421
+ "temporarily_assigned_cids|desc",
419
422
  "uid|asc",
420
423
  "uid|desc"
421
424
  ],
@@ -47,7 +47,7 @@ _cloud_oci_registration_endpoints = [
47
47
  {
48
48
  "type": "string",
49
49
  "description": "FQL (Falcon Query Language) string for filtering results. Allowed filters are "
50
- "Set{updated_at, tenancy_ocid, tenancy_name, home_region, key_age, overall_status, created_at}",
50
+ "Set{overall_status, created_at, updated_at, tenancy_ocid, tenancy_name, home_region, key_age}",
51
51
  "name": "filter",
52
52
  "in": "query"
53
53
  },
@@ -114,7 +114,7 @@ def data_payload(passed_keywords: dict) -> dict:
114
114
  "content", "platform", "permission_type"
115
115
  ]
116
116
  for key in keys:
117
- if passed_keywords.get(key, None):
117
+ if passed_keywords.get(key, None) is not None:
118
118
  returned_payload[key] = passed_keywords.get(key, None)
119
119
 
120
120
  return returned_payload
@@ -35,6 +35,7 @@ OTHER DEALINGS IN THE SOFTWARE.
35
35
 
36
36
  For more information, please refer to <https://unlicense.org>
37
37
  """
38
+ from traceback import extract_tb
38
39
  from typing import Dict, Type, Optional, Union
39
40
  from ._base_service_class import BaseServiceClass
40
41
  from .._auth_object import FalconInterface
@@ -239,10 +240,19 @@ class ServiceClass(BaseServiceClass):
239
240
  """Allow for entry as a context manager."""
240
241
  return self
241
242
 
242
- def __exit__(self, *args):
243
- """Discard our token when we exit the context."""
243
+ def __exit__(self, exc_type, exc_val, exc_tb):
244
+ """Discard our token when we exit the context and handle any errors."""
245
+ if exc_type is not None:
246
+ if self.log:
247
+ # Log the error and traceback detail
248
+ self.log.error("ERROR: [%s] %s", exc_type.__name__, exc_val)
249
+ frame_list = extract_tb(exc_tb)
250
+ frame = frame_list[len(frame_list)-1]
251
+ lineno = frame.lineno
252
+ func = frame.name
253
+ fname = frame.filename
254
+ self.log.error("LOCATION: %s, Line #%i in Function '%s'", fname, lineno, func)
244
255
  self.logout()
245
- return args
246
256
 
247
257
  # ___ ____ ____ ___ ____ ____ ___ _ ____ ____
248
258
  # |__] |__/ | | |__] |___ |__/ | | |___ [__
@@ -534,6 +534,15 @@ def generate_error_result(
534
534
  ) -> dict:
535
535
  """Normalize error messages."""
536
536
  return_headers = kwargs.get("headers", {})
537
+ caller: ServiceClass = kwargs.get("caller", None)
538
+ if caller:
539
+ pythonic_handling = caller.pythonic
540
+ log_handler: Logger = caller.log
541
+ if log_handler:
542
+ log_handler.error("ERROR: [%i] %s", code, message)
543
+ if pythonic_handling:
544
+ raise SDKError(code=code, message=message, headers=return_headers)
545
+
537
546
  return Result()(status_code=code, headers=return_headers, body={"errors": [{"message": f"{message}"}], "resources": []})
538
547
 
539
548
 
@@ -35,7 +35,7 @@ OTHER DEALINGS IN THE SOFTWARE.
35
35
 
36
36
  For more information, please refer to <https://unlicense.org>
37
37
  """
38
- _VERSION = '1.5.1'
38
+ _VERSION = '1.5.2'
39
39
  _HEC_VERSION = '1.0.0'
40
40
  _MAINTAINER = 'Joshua Hiller'
41
41
  _AUTHOR = 'CrowdStrike'
@@ -37,7 +37,7 @@ For more information, please refer to <https://unlicense.org>
37
37
  """
38
38
  from typing import Dict, Union
39
39
  from ._util import force_default, process_service_request
40
- from ._payload import indicator_graph_payload
40
+ from ._payload import indicator_graph_payload, aggregate_payload
41
41
  from ._result import Result
42
42
  from ._service_class import ServiceClass
43
43
  from ._endpoint._intelligence_indicator_graph import _intelligence_indicator_graph_endpoints as Endpoints
@@ -56,6 +56,99 @@ class IntelligenceIndicatorGraph(ServiceClass):
56
56
  - a valid token provided by the authentication service class (oauth2.py)
57
57
  """
58
58
 
59
+ @force_default(defaults=["body"], default_types=["dict"])
60
+ def aggregate_indicators(self: object,
61
+ body: dict = None,
62
+ **kwargs
63
+ ) -> Union[Dict[str, Union[int, dict]], Result]:
64
+ """Get indicator aggregates.
65
+
66
+ Keyword arguments:
67
+ body -- full body payload, not required when using other keywords.
68
+ {
69
+ "requests": [
70
+ {
71
+ "date_ranges": [
72
+ {
73
+ "from": "string",
74
+ "to": "string"
75
+ }
76
+ ],
77
+ "exclude": "string",
78
+ "extended_bounds": {
79
+ "max": "string",
80
+ "min": "string"
81
+ }
82
+ "field": "string",
83
+ "filter": "string",
84
+ "from": integer,
85
+ "include": "string",
86
+ "interval": "string",
87
+ "max_doc_count": integer,
88
+ "min_doc_count": integer,
89
+ "missing": "string",
90
+ "name": "string",
91
+ "q": "string",
92
+ "ranges": [
93
+ {
94
+ "From": integer,
95
+ "To": integer
96
+ }
97
+ ],
98
+ "size": integer,
99
+ "sort": "string",
100
+ "sub_aggregates": [
101
+ null
102
+ ],
103
+ "time_zone": "string",
104
+ "type": "string"
105
+ }
106
+ ]
107
+ }
108
+ date_ranges -- If peforming a date range query specify the from and to date ranges.
109
+ These can be in common date formats like 2019-07-18 or now.
110
+ List of dictionaries.
111
+ exclude -- Fields to exclude. String.
112
+ extended_bounds -- Extended bounds. Dictionary containing "min" and "max" as strings.
113
+ field -- Term you want to aggregate on. If doing a date_range query,
114
+ this is the date field you want to apply the date ranges to. String.
115
+ filter -- Optional filter criteria in the form of an FQL query.
116
+ For more information about FQL queries, see our FQL documentation in Falcon.
117
+ String.
118
+ from -- Integer.
119
+ include -- Fields to include. String.
120
+ interval -- String.
121
+ max_doc_count -- Maximum number of documents. Integer.
122
+ min_doc_count -- Minimum number of documents. Integer.
123
+ missing -- String.
124
+ name -- Scan name. String.
125
+ q -- FQL syntax. String.
126
+ ranges -- List of dictionaries.
127
+ size -- Integer.
128
+ sort -- FQL syntax. String.
129
+ sub_aggregates -- List of strings.
130
+ time_zone -- String.
131
+ type -- String.
132
+
133
+ This method only supports keywords for providing arguments.
134
+
135
+ Returns: dict object containing API response.
136
+
137
+ HTTP Method: POST
138
+
139
+ Swagger URL
140
+ https://assets.falcon.crowdstrike.com/support/api/swagger.html#/user-management/aggregateUsersV1
141
+ """
142
+ if not body:
143
+ body = {"requests": [aggregate_payload(submitted_keywords=kwargs)]}
144
+
145
+ return process_service_request(
146
+ calling_object=self,
147
+ endpoints=Endpoints,
148
+ operation_id="GetIndicatorAggregates",
149
+ body=body
150
+ )
151
+
59
152
  @force_default(defaults=["parameters", "body"], default_types=["dict", "dict"])
60
153
  def search(self: object,
61
154
  body: dict = None,
@@ -103,4 +196,5 @@ class IntelligenceIndicatorGraph(ServiceClass):
103
196
  body=body
104
197
  )
105
198
 
199
+ GetIndicatorAggregates = aggregate_indicators
106
200
  SearchIndicators = search
@@ -687,7 +687,7 @@ class UserManagement(ServiceClass):
687
687
  cid name
688
688
  direct_assigned_cids status
689
689
  first_name uid
690
- has_temporary_roles
690
+ has_temporary_roles temporarily_assigned_cids
691
691
  limit : int (range 1-500, default 0)
692
692
  The maximum number of records to return.
693
693
  offset : int (default 0)
@@ -35,6 +35,8 @@ OTHER DEALINGS IN THE SOFTWARE.
35
35
 
36
36
  For more information, please refer to <https://unlicense.org>
37
37
  """
38
+ import re
39
+ from os.path import exists
38
40
  from typing import Dict, Union
39
41
  from ._util import (
40
42
  force_default,
@@ -249,7 +251,8 @@ class Workflows(ServiceClass):
249
251
  """Import a workflow definition based on the provided model.
250
252
 
251
253
  Keyword arguments:
252
- data_file -- A workflow definition in YAML format to import. Binary data.
254
+ data_file -- A workflow definition in YAML format to import. Can be the file location or file contents.
255
+ Supports string or binary data.
253
256
  name -- Workflow name to override. String.
254
257
  validate_only -- When enabled, prevents saving workflow after validating. Boolean.
255
258
  parameters -- Full parameters payload dictionary. Not required if using other keywords.
@@ -265,16 +268,29 @@ class Workflows(ServiceClass):
265
268
  """
266
269
  data_file = kwargs.get("data_file", None)
267
270
  content_type = "application/x-yaml"
268
- # Create a multipart form payload for our upload file
269
- try:
271
+ # Retrieve data file contents from the specified location
272
+ valid_format = False
273
+ if exists(data_file):
270
274
  with open(data_file, "r", encoding="utf-8") as yaml_file:
271
275
  file_data = yaml_file.read()
272
- file_extended = [("data_file", ("yaml_upload", file_data, content_type))]
273
- except FileNotFoundError:
274
- data_file = None
275
- # Remove the data file from the keywords dictionary before args_to_params
276
- kwargs.pop("data_file")
277
- if data_file and file_data:
276
+ else:
277
+ # Assume file contents are provided instead, can handle string or binary data
278
+ file_data = data_file
279
+ if isinstance(data_file, bytes):
280
+ file_data = data_file.decode()
281
+ if file_data:
282
+ # Check yaml formatting
283
+ # Look for key: value pairs
284
+ if re.search(r'\s*:\s*[^:\n]+', file_data):
285
+ valid_format = True
286
+ # Look for list items
287
+ if re.search(r'-\s+.*', file_data):
288
+ valid_format = True
289
+ if valid_format:
290
+ # Create a multipart form payload for our upload file
291
+ file_extended = [("data_file", ("yaml_upload", file_data, content_type))]
292
+ # Remove the data file from the keywords dictionary before args_to_params processing
293
+ kwargs.pop("data_file")
278
294
  returned = process_service_request(
279
295
  calling_object=self,
280
296
  endpoints=Endpoints,
@@ -284,7 +300,10 @@ class Workflows(ServiceClass):
284
300
  files=file_extended
285
301
  )
286
302
  else:
287
- returned = generate_error_result("You must provide a workflow file in YAML format to import.")
303
+ returned = generate_error_result(
304
+ "You must provide a workflow file in YAML format or a workfile location to import.",
305
+ caller=self
306
+ )
288
307
 
289
308
  return returned
290
309
 
@@ -2,3 +2,6 @@
2
2
 
3
3
  name: Test-Workflow
4
4
  description: Generic test workflow
5
+ stuff:
6
+ - Thing1
7
+ - Thing2
@@ -18,34 +18,57 @@ config = auth.getConfigObject()
18
18
  falcon = IdentityProtection(auth_object=config)
19
19
  AllowedResponses = [200, 400, 429]
20
20
 
21
+ # TEST_QUERY = r"""query ($after: Cursor) {
22
+ # entities(types: [USER], archived: false, learned: false, first: 5, after: $after) {
23
+ # nodes {
24
+ # primaryDisplayName
25
+ # secondaryDisplayName
26
+ # accounts {
27
+ # ... on ActiveDirectoryAccountDescriptor {
28
+ # domain
29
+ # }
30
+ # }
31
+ # }
32
+ # pageInfo {
33
+ # hasNextPage
34
+ # endCursor
35
+ # }
36
+ # }
37
+ # }"""
38
+
21
39
  TEST_QUERY = """
22
- query ($after: Cursor) {
23
- entities(types: [USER], archived: false, learned: false, first: 5, after: $after) {
24
- nodes {
25
- primaryDisplayName
26
- secondaryDisplayName
27
- accounts {
28
- ... on ActiveDirectoryAccountDescriptor {
29
- domain
30
- }
31
- }
32
- }
40
+ {
41
+ entities (
42
+ roles: [BuiltinAdministratorRole]
43
+ sortKey: PRIMARY_DISPLAY_NAME
44
+ sortOrder: ASCENDING
45
+ # Limit the response to two records:
46
+ first: 2
47
+ )
48
+ {
49
+ # Include pageInfo properties for pagination:
33
50
  pageInfo {
51
+ # Are there more results to obtain?
34
52
  hasNextPage
53
+ # Identify the last records in the results:
35
54
  endCursor
36
55
  }
56
+ nodes {
57
+ primaryDisplayName
58
+ secondaryDisplayName
59
+ }
37
60
  }
38
61
  }
39
62
  """
40
-
41
63
  class TestIdentityProtection:
42
64
  def idp_graphql(self):
43
65
  payload = {"query":"{\n entities(first: 1)\n {\n nodes {\n entityId \n }\n }\n}"}
44
- result = falcon.GraphQL(query=TEST_QUERY, variables={"after", ""})
66
+ result = falcon.GraphQL(query=TEST_QUERY, variables={"after": "$after"})
45
67
  if not isinstance(result, dict):
46
68
  result = json.loads(result.decode())
47
69
  else:
48
70
  result = result["body"]
71
+
49
72
  if result.get("data", {}).get("entities", {}).get("pageInfo", {}).get("hasNextPage", None):
50
73
  next_page = result["data"].get("entities", {}).get("pageInfo", {}).get("endCursor", None)
51
74
  result = falcon.graphql(query=TEST_QUERY, variables={"after": next_page})["body"]
@@ -5,6 +5,7 @@
5
5
  import os
6
6
  import sys
7
7
  import pytest
8
+ from urllib.parse import urlparse
8
9
  # Authentication via the test_authorization.py
9
10
  from tests import test_authorization as Authorization
10
11
 
@@ -16,7 +17,7 @@ from falconpy import IntelligenceIndicatorGraph
16
17
  auth = Authorization.TestAuthorization()
17
18
  config = auth.getConfigObject()
18
19
  falcon = IntelligenceIndicatorGraph(auth_object=config)
19
- AllowedResponses = [200, 201, 207, 400, 403, 429]
20
+ AllowedResponses = [200, 201, 207, 400, 401, 403, 429]
20
21
 
21
22
 
22
23
  class TestIntelligenceIndicatorGraph:
@@ -28,6 +29,11 @@ class TestIntelligenceIndicatorGraph:
28
29
  tests = {
29
30
  "SearchIndicators": falcon.search(filter="indicator:'malware.ru'", limit=1, sort={"order": "desc"})
30
31
  }
32
+ if urlparse(config.base_url).hostname == "api.crowdstrike.com":
33
+ tests["GetIndicatorAggregates"] = falcon.aggregate_indicators(field="string",
34
+ filter="string",
35
+ interval="string"
36
+ )
31
37
  for key in tests:
32
38
  if tests[key]["status_code"] not in AllowedResponses:
33
39
  error_checks = False
@@ -21,10 +21,12 @@ from falconpy import (
21
21
  FunctionalityNotImplemented,
22
22
  SSLDisabledWarning,
23
23
  APIError,
24
+ SDKError,
24
25
  NoAuthenticationMechanism,
25
26
  Result,
26
27
  ExpandedResult,
27
- InvalidBaseURL
28
+ InvalidBaseURL,
29
+ Workflows
28
30
  )
29
31
 
30
32
  auth = Authorization.TestAuthorization()
@@ -130,6 +132,19 @@ class TestServiceClass:
130
132
  _success = True
131
133
  assert _success
132
134
 
135
+ @rate_limited
136
+ @not_supported
137
+ def test_service_class_context_manager_with_pythonic_error(self):
138
+ _success = False
139
+ new_sdk = Workflows(creds=config.creds, base_url=config.base_url, pythonic=True, debug=True)
140
+ try:
141
+ with new_sdk as sdk:
142
+ result = sdk.import_definition(data_file="InvalidDataFile")
143
+ raise SDKError(code=500, message="Unit testing")
144
+ except SDKError:
145
+ _success = True
146
+ assert _success
147
+
133
148
  @rate_limited
134
149
  @not_supported
135
150
  def test_property_refreshable(self):
@@ -12,7 +12,7 @@ sys.path.append(os.path.abspath('src'))
12
12
  # flake8: noqa=E402
13
13
  # pylint: disable=C0103
14
14
  # Classes to test - manually imported from our sibling folder
15
- from falconpy import APIHarnessV2, APIError
15
+ from falconpy import APIHarnessV2, APIError, SDKError
16
16
  # Import perform_request from _util so we can test generating 405's directly
17
17
  from falconpy._util import perform_request, force_default
18
18
 
@@ -52,6 +52,22 @@ class TestUber:
52
52
  _success = True
53
53
  assert _success
54
54
 
55
+ def test_uber_context_with_pythonic_error(self):
56
+ _success = False
57
+ test_uber = APIHarnessV2(client_id=config["falcon_client_id"],
58
+ client_secret=config["falcon_client_secret"],
59
+ base_url=config["falcon_base_url"],
60
+ pythonic=True,
61
+ debug=True
62
+ )
63
+ try:
64
+ with test_uber as sdk:
65
+ raise SDKError(code=500, message="Unit testing")
66
+ except (SDKError, APIError):
67
+ _success = True
68
+
69
+ assert _success
70
+
55
71
  def uberCCAWS_GetAWSSettings(self):
56
72
  returned = False
57
73
  authenticated = falcon.authenticated()
@@ -17,6 +17,8 @@ config = auth.getConfigObject()
17
17
  falcon = Workflows(auth_object=config)
18
18
  AllowedResponses = [200, 201, 400, 403, 404, 415, 500, 502] # Allowing 415 due to workflow import
19
19
 
20
+ with open("tests/test.yml", "rb") as file_data:
21
+ binary_example = file_data.read()
20
22
 
21
23
  class TestWorkflows:
22
24
  def run_all_tests(self):
@@ -39,6 +41,7 @@ class TestWorkflows:
39
41
  "WorkflowDefinitionsImport2": falcon.import_definition(validate_only=True, file_data="this_will_500"),
40
42
  "WorkflowDefinitionsImport3": falcon.import_definition(validate_only=True, data_file="not_here.yml"),
41
43
  "WorkflowDefinitionsImport4": falcon.import_definition(validate_only=True, data_file="tests/test.yml", name="workflow_name"),
44
+ "WorkflowDefinitionsImport4": falcon.import_definition(validate_only=True, data_file=binary_example, name="workflow_name"),
42
45
  "WorkflowDefinitionsUpdate": falcon.update_definition(change_log="testing"),
43
46
  "WorkflowGetHumanInputV1": falcon.get_human_input(ids="1234567"),
44
47
  "WorkflowUpdateHumanInputV1": falcon.update_human_input(input="whatever", note="whatever"),