crowdstrike-falconpy-dev 1.3.0.dev10__tar.gz → 1.3.1__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.
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/AUTHORS.md +3 -1
- {crowdstrike-falconpy-dev-1.3.0.dev10/src/crowdstrike_falconpy_dev.egg-info → crowdstrike-falconpy-dev-1.3.1}/PKG-INFO +3 -4
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/README.md +2 -3
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1/src/crowdstrike_falconpy_dev.egg-info}/PKG-INFO +3 -4
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/crowdstrike_falconpy_dev.egg-info/SOURCES.txt +65 -1
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/__init__.py +6 -3
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_api_request/_request.py +9 -12
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_api_request/_request_behavior.py +24 -24
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_api_request/_request_connection.py +6 -13
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_api_request/_request_meta.py +6 -12
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_api_request/_request_payloads.py +4 -13
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_api_request/_request_validator.py +8 -15
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_auth_object/_bearer_token.py +17 -21
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_auth_object/_falcon_interface.py +35 -37
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_auth_object/_interface_config.py +8 -22
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_constant/__init__.py +1 -1
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/__init__.py +2 -0
- crowdstrike-falconpy-dev-1.3.0.dev10/src/falconpydev/_endpoint/_identity_protection.py → crowdstrike-falconpy-dev-1.3.1/src/falconpydev/_endpoint/_cloud_snapshots.py +29 -11
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_falcon_complete_dashboard.py +50 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_falcon_container.py +35 -0
- crowdstrike-falconpy-dev-1.3.1/src/falconpydev/_endpoint/_filevantage.py +773 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_firewall_policies.py +3 -1
- crowdstrike-falconpy-dev-1.3.1/src/falconpydev/_endpoint/_identity_protection.py +119 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_incidents.py +2 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_intel.py +35 -5
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_mssp.py +32 -2
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_error/__init__.py +3 -2
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_error/_warnings.py +7 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_log/_facility.py +5 -10
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_payload/__init__.py +10 -1
- crowdstrike-falconpy-dev-1.3.1/src/falconpydev/_payload/_cloud_snapshots.py +145 -0
- crowdstrike-falconpy-dev-1.3.1/src/falconpydev/_payload/_filevantage.py +166 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_payload/_incidents.py +2 -1
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_result/__base_resource.py +4 -8
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_result/_base_dictionary.py +11 -10
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_result/_response_component.py +4 -9
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_result/_result.py +18 -17
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_service_class/_base_service_class.py +23 -34
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_service_class/_service_class.py +50 -25
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_util/__init__.py +2 -1
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_util/_functions.py +34 -6
- crowdstrike-falconpy-dev-1.3.1/src/falconpydev/_util/_service.py +69 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_util/_uber.py +7 -1
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_version.py +1 -1
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/api_complete.py +8 -1
- crowdstrike-falconpy-dev-1.3.1/src/falconpydev/cloud_snapshots.py +219 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/debug.py +0 -24
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/falcon_complete_dashboard.py +108 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/falcon_container.py +44 -0
- crowdstrike-falconpy-dev-1.3.1/src/falconpydev/filevantage.py +1152 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/firewall_policies.py +2 -2
- crowdstrike-falconpy-dev-1.3.1/src/falconpydev/identity_protection.py +260 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/incidents.py +1 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/intel.py +19 -4
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/mssp.py +47 -1
- crowdstrike-falconpy-dev-1.3.1/tests/test_alerts.py +70 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_api_request.py +144 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_authentications.py +321 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_authorization.py +298 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_cloud_connect_aws.py +217 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_cloud_snapshots.py +47 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_cspm_registration.py +133 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_custom_ioa.py +92 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_d4c_registration.py +155 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_detects.py +145 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_device_control_policies.py +145 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_discover.py +77 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_event_streams.py +111 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_falcon_complete_dashboard.py +121 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_falcon_container.py +64 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_falconx_sandbox.py +85 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_fdr.py +36 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_filevantage.py +90 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_firewall_management.py +253 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_firewall_policies.py +68 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_host_group.py +141 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_hosts.py +284 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_identity_protection.py +89 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_incidents.py +113 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_installation_tokens.py +103 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_intel.py +63 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_ioa_exclusions.py +71 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_ioc.py +83 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_iocs.py +63 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_kubernetes_protection.py +55 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_malquery.py +90 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_message_center.py +100 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_ml_exclusions.py +59 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_mobile_enrollment.py +30 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_mssp.py +65 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_ods.py +126 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_overwatch_dashboard.py +64 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_prevention_policy.py +144 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_quarantine.py +43 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_quick_scan.py +78 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_real_time_response.py +144 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_real_time_response_admin.py +161 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_recon.py +114 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_report_executions.py +44 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_response_policies.py +76 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_result_object.py +746 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_sample_uploads.py +156 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_scheduled_reports.py +43 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_sensor_download.py +106 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_sensor_update_policy.py +195 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_sensor_visibility_exclusions.py +56 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_service_class.py +378 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_spotlight_evaluation_logic.py +77 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_spotlight_vulnerabilities.py +87 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_tailored_intelligence.py +48 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_timeout.py +124 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_uber_api_complete.py +383 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_user_management.py +204 -0
- crowdstrike-falconpy-dev-1.3.1/tests/test_zero_trust_assessment.py +50 -0
- crowdstrike-falconpy-dev-1.3.0.dev10/src/falconpydev/_endpoint/_filevantage.py +0 -104
- crowdstrike-falconpy-dev-1.3.0.dev10/src/falconpydev/filevantage.py +0 -126
- crowdstrike-falconpy-dev-1.3.0.dev10/src/falconpydev/identity_protection.py +0 -109
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/LICENSE +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/dev_setup.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/setup.cfg +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/setup.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/crowdstrike_falconpy_dev.egg-info/dependency_links.txt +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/crowdstrike_falconpy_dev.egg-info/requires.txt +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/crowdstrike_falconpy_dev.egg-info/top_level.txt +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_api_request/__init__.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_auth_object/__init__.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_auth_object/_base_falcon_auth.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_auth_object/_uber_interface.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_alerts.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_cloud_connect_aws.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_cspm_registration.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_custom_ioa.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_d4c_registration.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_detects.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_device_control_policies.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_discover.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_event_streams.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_falconx_sandbox.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_fdr.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_firewall_management.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_host_group.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_hosts.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_installation_tokens.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_ioa_exclusions.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_ioc.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_iocs.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_kubernetes_protection.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_malquery.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_message_center.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_ml_exclusions.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_mobile_enrollment.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_oauth2.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_ods.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_overwatch_dashboard.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_prevention_policies.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_quarantine.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_quick_scan.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_real_time_response.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_real_time_response_admin.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_recon.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_report_executions.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_response_policies.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_sample_uploads.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_scheduled_reports.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_sensor_download.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_sensor_update_policies.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_sensor_visibility_exclusions.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_spotlight_evaluation_logic.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_spotlight_vulnerabilities.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_tailored_intelligence.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_user_management.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/_zero_trust_assessment.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/deprecated/__init__.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/deprecated/_custom_ioa.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/deprecated/_d4c_registration.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/deprecated/_discover.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/deprecated/_fdr.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/deprecated/_firewall_management.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/deprecated/_hosts.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/deprecated/_identity_protection.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/deprecated/_installation_tokens.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/deprecated/_ioc.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/deprecated/_iocs.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/deprecated/_ods.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/deprecated/_real_time_response.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/deprecated/_real_time_response_admin.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/deprecated/_report_executions.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/deprecated/_scheduled_reports.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_endpoint/deprecated/_zero_trust_assessment.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_enum/__init__.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_enum/_base_url.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_enum/_container_base_url.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_enum/_token_fail_reason.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_error/_exceptions.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_log/__init__.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_payload/_alerts.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_payload/_cloud_connect_aws.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_payload/_container.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_payload/_cspm_registration.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_payload/_d4c_registration.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_payload/_detects.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_payload/_device_control_policy.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_payload/_falconx.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_payload/_firewall.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_payload/_generic.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_payload/_host_group.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_payload/_ioa.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_payload/_ioc.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_payload/_malquery.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_payload/_message_center.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_payload/_mssp.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_payload/_ods.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_payload/_prevention_policy.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_payload/_real_time_response.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_payload/_recon.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_payload/_reports.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_payload/_response_policy.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_payload/_sample_uploads.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_payload/_sensor_update_policy.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_result/__init__.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_result/_errors.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_result/_expanded_result.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_result/_headers.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_result/_meta.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_result/_resources.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_service_class/__init__.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/_util/_auth.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/alerts.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/cloud_connect_aws.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/cspm_registration.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/custom_ioa.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/d4c_registration.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/detects.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/device_control_policies.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/discover.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/event_streams.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/falconx_sandbox.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/fdr.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/firewall_management.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/host_group.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/hosts.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/installation_tokens.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/ioa_exclusions.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/ioc.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/iocs.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/kubernetes_protection.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/malquery.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/message_center.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/ml_exclusions.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/mobile_enrollment.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/oauth2.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/ods.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/overwatch_dashboard.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/prevention_policy.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/quarantine.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/quick_scan.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/real_time_response.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/real_time_response_admin.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/recon.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/report_executions.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/response_policies.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/sample_uploads.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/scheduled_reports.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/sensor_download.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/sensor_update_policy.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/sensor_visibility_exclusions.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/spotlight_evaluation_logic.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/spotlight_vulnerabilities.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/tailored_intelligence.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/user_management.py +0 -0
- {crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/zero_trust_assessment.py +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|

|
|
2
2
|
|
|
3
|
-
[](https://reddit.com/r/crowdstrike)
|
|
4
|
+
|
|
4
5
|
|
|
5
6
|
# FalconPy Project Authors
|
|
6
7
|
The FalconPy project exists to enable developer interactions with the CrowdStrike Falcon API. Designed to be easy to integrate and use within your Python projects, the library is released under the [Unlicense](LICENSE) license. Developed and maintained by a diverse group of security architects, engineers and specialists, FalconPy has received multiple contributions from the community at large.
|
|
@@ -88,6 +89,7 @@ This has been a critical element in the development of the FalconPy project.
|
|
|
88
89
|
+ Alex, `@khyberspache`
|
|
89
90
|
+ Phil Massyn, `@massyn`
|
|
90
91
|
+ Russell Snyder, `@rusnyder`
|
|
92
|
+
+ `@PeroSoy`
|
|
91
93
|
|
|
92
94
|
|
|
93
95
|
## Sponsors
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: crowdstrike-falconpy-dev
|
|
3
|
-
Version: 1.3.
|
|
3
|
+
Version: 1.3.1
|
|
4
4
|
Summary: The CrowdStrike Falcon SDK for Python 3
|
|
5
5
|
Home-page: https://github.com/CrowdStrike/falconpy
|
|
6
6
|
Author: CrowdStrike
|
|
@@ -42,7 +42,7 @@ License-File: AUTHORS.md
|
|
|
42
42
|
|
|
43
43
|

|
|
44
44
|
|
|
45
|
-
[](https://reddit.com/r/crowdstrike)<br/>
|
|
46
46
|
|
|
47
47
|
# FalconPy - The CrowdStrike Falcon SDK for Python
|
|
48
48
|
|
|
@@ -80,8 +80,6 @@ The CrowdStrike Falcon SDK for Python completely abstracts token management, whi
|
|
|
80
80
|
#### Supported versions of Python
|
|
81
81
|
The CrowdStrike Falcon SDK for Python was developed for Python 3, and does not support versions of Python below 3.6. Every commit to the FalconPy code base is unit tested for functionality using all versions of Python the library currently supports.
|
|
82
82
|
|
|
83
|
-
> While Python 3.5 should not have problems running FalconPy, as of February 2021 this version is no longer analyzed as part of our unit testing.
|
|
84
|
-
|
|
85
83
|
[](https://pypi.org/project/crowdstrike-falconpy/#files)
|
|
86
84
|
[](https://pypi.org/project/crowdstrike-falconpy/#files)
|
|
87
85
|
[](https://github.com/CrowdStrike/falconpy/actions/workflows/unit_testing_ubuntu.yml)
|
|
@@ -138,6 +136,7 @@ For each CrowdStrike Falcon API service collection, a matching Service Class is
|
|
|
138
136
|
| Firewall Management | [firewall_management.py](https://github.com/CrowdStrike/falconpy/blob/main/src/falconpy/firewall_management.py) | [FirewallManagement](https://www.falconpy.io/Service-Collections/Firewall-Management.html) |
|
|
139
137
|
| Firewall Policy Management | [firewall_policies.py](https://github.com/CrowdStrike/falconpy/blob/main/src/falconpy/firewall_policies.py) | [FirewallPolicies](https://www.falconpy.io/Service-Collections/Firewall-Policies.html) |
|
|
140
138
|
| Falcon Complete Dashboard | [falcon_complete_dashboard.py](https://github.com/CrowdStrike/falconpy/blob/main/src/falconpy/falcon_complete_dashboard.py) | [FalconCompleteDashboard](https://www.falconpy.io/Service-Collections/Falcon-Complete-Dashboard.html) |
|
|
139
|
+
| Falcon Data Replicator | [fdr.py](https://github.com/CrowdStrike/falconpy/blob/main/src/falconpy/fdr.py) | [FDR](https://www.falconpy.io/Service-Collections/FDR.html) |
|
|
141
140
|
| Falcon Flight Control | [mssp.py](https://github.com/CrowdStrike/falconpy/blob/main/src/falconpy/mssp.py) | [FlightControl](https://www.falconpy.io/Service-Collections/MSSP.html) |
|
|
142
141
|
| Host Groups | [host_group.py](https://github.com/CrowdStrike/falconpy/blob/main/src/falconpy/host_group.py) | [HostGroup](https://www.falconpy.io/Service-Collections/Host-Group.html) |
|
|
143
142
|
| Hosts | [hosts.py](https://github.com/CrowdStrike/falconpy/blob/main/src/falconpy/hosts.py) | [Hosts](https://www.falconpy.io/Service-Collections/Hosts.html) |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|

|
|
2
2
|
|
|
3
|
-
[](https://reddit.com/r/crowdstrike)<br/>
|
|
4
4
|
|
|
5
5
|
# FalconPy - The CrowdStrike Falcon SDK for Python
|
|
6
6
|
|
|
@@ -33,8 +33,6 @@ The CrowdStrike Falcon SDK for Python completely abstracts token management, whi
|
|
|
33
33
|
#### Supported versions of Python
|
|
34
34
|
The CrowdStrike Falcon SDK for Python was developed for Python 3, and does not support versions of Python below 3.6. Every commit to the FalconPy code base is unit tested for functionality using all versions of Python the library currently supports.
|
|
35
35
|
|
|
36
|
-
> While Python 3.5 should not have problems running FalconPy, as of February 2021 this version is no longer analyzed as part of our unit testing.
|
|
37
|
-
|
|
38
36
|
[](https://pypi.org/project/crowdstrike-falconpy/#files)
|
|
39
37
|
[](https://pypi.org/project/crowdstrike-falconpy/#files)
|
|
40
38
|
[](https://github.com/CrowdStrike/falconpy/actions/workflows/unit_testing_ubuntu.yml)
|
|
@@ -91,6 +89,7 @@ For each CrowdStrike Falcon API service collection, a matching Service Class is
|
|
|
91
89
|
| Firewall Management | [firewall_management.py](https://github.com/CrowdStrike/falconpy/blob/main/src/falconpy/firewall_management.py) | [FirewallManagement](https://www.falconpy.io/Service-Collections/Firewall-Management.html) |
|
|
92
90
|
| Firewall Policy Management | [firewall_policies.py](https://github.com/CrowdStrike/falconpy/blob/main/src/falconpy/firewall_policies.py) | [FirewallPolicies](https://www.falconpy.io/Service-Collections/Firewall-Policies.html) |
|
|
93
91
|
| Falcon Complete Dashboard | [falcon_complete_dashboard.py](https://github.com/CrowdStrike/falconpy/blob/main/src/falconpy/falcon_complete_dashboard.py) | [FalconCompleteDashboard](https://www.falconpy.io/Service-Collections/Falcon-Complete-Dashboard.html) |
|
|
92
|
+
| Falcon Data Replicator | [fdr.py](https://github.com/CrowdStrike/falconpy/blob/main/src/falconpy/fdr.py) | [FDR](https://www.falconpy.io/Service-Collections/FDR.html) |
|
|
94
93
|
| Falcon Flight Control | [mssp.py](https://github.com/CrowdStrike/falconpy/blob/main/src/falconpy/mssp.py) | [FlightControl](https://www.falconpy.io/Service-Collections/MSSP.html) |
|
|
95
94
|
| Host Groups | [host_group.py](https://github.com/CrowdStrike/falconpy/blob/main/src/falconpy/host_group.py) | [HostGroup](https://www.falconpy.io/Service-Collections/Host-Group.html) |
|
|
96
95
|
| Hosts | [hosts.py](https://github.com/CrowdStrike/falconpy/blob/main/src/falconpy/hosts.py) | [Hosts](https://www.falconpy.io/Service-Collections/Hosts.html) |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: crowdstrike-falconpy-dev
|
|
3
|
-
Version: 1.3.
|
|
3
|
+
Version: 1.3.1
|
|
4
4
|
Summary: The CrowdStrike Falcon SDK for Python 3
|
|
5
5
|
Home-page: https://github.com/CrowdStrike/falconpy
|
|
6
6
|
Author: CrowdStrike
|
|
@@ -42,7 +42,7 @@ License-File: AUTHORS.md
|
|
|
42
42
|
|
|
43
43
|

|
|
44
44
|
|
|
45
|
-
[](https://reddit.com/r/crowdstrike)<br/>
|
|
46
46
|
|
|
47
47
|
# FalconPy - The CrowdStrike Falcon SDK for Python
|
|
48
48
|
|
|
@@ -80,8 +80,6 @@ The CrowdStrike Falcon SDK for Python completely abstracts token management, whi
|
|
|
80
80
|
#### Supported versions of Python
|
|
81
81
|
The CrowdStrike Falcon SDK for Python was developed for Python 3, and does not support versions of Python below 3.6. Every commit to the FalconPy code base is unit tested for functionality using all versions of Python the library currently supports.
|
|
82
82
|
|
|
83
|
-
> While Python 3.5 should not have problems running FalconPy, as of February 2021 this version is no longer analyzed as part of our unit testing.
|
|
84
|
-
|
|
85
83
|
[](https://pypi.org/project/crowdstrike-falconpy/#files)
|
|
86
84
|
[](https://pypi.org/project/crowdstrike-falconpy/#files)
|
|
87
85
|
[](https://github.com/CrowdStrike/falconpy/actions/workflows/unit_testing_ubuntu.yml)
|
|
@@ -138,6 +136,7 @@ For each CrowdStrike Falcon API service collection, a matching Service Class is
|
|
|
138
136
|
| Firewall Management | [firewall_management.py](https://github.com/CrowdStrike/falconpy/blob/main/src/falconpy/firewall_management.py) | [FirewallManagement](https://www.falconpy.io/Service-Collections/Firewall-Management.html) |
|
|
139
137
|
| Firewall Policy Management | [firewall_policies.py](https://github.com/CrowdStrike/falconpy/blob/main/src/falconpy/firewall_policies.py) | [FirewallPolicies](https://www.falconpy.io/Service-Collections/Firewall-Policies.html) |
|
|
140
138
|
| Falcon Complete Dashboard | [falcon_complete_dashboard.py](https://github.com/CrowdStrike/falconpy/blob/main/src/falconpy/falcon_complete_dashboard.py) | [FalconCompleteDashboard](https://www.falconpy.io/Service-Collections/Falcon-Complete-Dashboard.html) |
|
|
139
|
+
| Falcon Data Replicator | [fdr.py](https://github.com/CrowdStrike/falconpy/blob/main/src/falconpy/fdr.py) | [FDR](https://www.falconpy.io/Service-Collections/FDR.html) |
|
|
141
140
|
| Falcon Flight Control | [mssp.py](https://github.com/CrowdStrike/falconpy/blob/main/src/falconpy/mssp.py) | [FlightControl](https://www.falconpy.io/Service-Collections/MSSP.html) |
|
|
142
141
|
| Host Groups | [host_group.py](https://github.com/CrowdStrike/falconpy/blob/main/src/falconpy/host_group.py) | [HostGroup](https://www.falconpy.io/Service-Collections/Host-Group.html) |
|
|
143
142
|
| Hosts | [hosts.py](https://github.com/CrowdStrike/falconpy/blob/main/src/falconpy/hosts.py) | [Hosts](https://www.falconpy.io/Service-Collections/Hosts.html) |
|
|
@@ -13,6 +13,7 @@ src/falconpydev/_version.py
|
|
|
13
13
|
src/falconpydev/alerts.py
|
|
14
14
|
src/falconpydev/api_complete.py
|
|
15
15
|
src/falconpydev/cloud_connect_aws.py
|
|
16
|
+
src/falconpydev/cloud_snapshots.py
|
|
16
17
|
src/falconpydev/cspm_registration.py
|
|
17
18
|
src/falconpydev/custom_ioa.py
|
|
18
19
|
src/falconpydev/d4c_registration.py
|
|
@@ -81,6 +82,7 @@ src/falconpydev/_constant/__init__.py
|
|
|
81
82
|
src/falconpydev/_endpoint/__init__.py
|
|
82
83
|
src/falconpydev/_endpoint/_alerts.py
|
|
83
84
|
src/falconpydev/_endpoint/_cloud_connect_aws.py
|
|
85
|
+
src/falconpydev/_endpoint/_cloud_snapshots.py
|
|
84
86
|
src/falconpydev/_endpoint/_cspm_registration.py
|
|
85
87
|
src/falconpydev/_endpoint/_custom_ioa.py
|
|
86
88
|
src/falconpydev/_endpoint/_d4c_registration.py
|
|
@@ -160,12 +162,14 @@ src/falconpydev/_log/_facility.py
|
|
|
160
162
|
src/falconpydev/_payload/__init__.py
|
|
161
163
|
src/falconpydev/_payload/_alerts.py
|
|
162
164
|
src/falconpydev/_payload/_cloud_connect_aws.py
|
|
165
|
+
src/falconpydev/_payload/_cloud_snapshots.py
|
|
163
166
|
src/falconpydev/_payload/_container.py
|
|
164
167
|
src/falconpydev/_payload/_cspm_registration.py
|
|
165
168
|
src/falconpydev/_payload/_d4c_registration.py
|
|
166
169
|
src/falconpydev/_payload/_detects.py
|
|
167
170
|
src/falconpydev/_payload/_device_control_policy.py
|
|
168
171
|
src/falconpydev/_payload/_falconx.py
|
|
172
|
+
src/falconpydev/_payload/_filevantage.py
|
|
169
173
|
src/falconpydev/_payload/_firewall.py
|
|
170
174
|
src/falconpydev/_payload/_generic.py
|
|
171
175
|
src/falconpydev/_payload/_host_group.py
|
|
@@ -199,4 +203,64 @@ src/falconpydev/_service_class/_service_class.py
|
|
|
199
203
|
src/falconpydev/_util/__init__.py
|
|
200
204
|
src/falconpydev/_util/_auth.py
|
|
201
205
|
src/falconpydev/_util/_functions.py
|
|
202
|
-
src/falconpydev/_util/
|
|
206
|
+
src/falconpydev/_util/_service.py
|
|
207
|
+
src/falconpydev/_util/_uber.py
|
|
208
|
+
tests/test_alerts.py
|
|
209
|
+
tests/test_api_request.py
|
|
210
|
+
tests/test_authentications.py
|
|
211
|
+
tests/test_authorization.py
|
|
212
|
+
tests/test_cloud_connect_aws.py
|
|
213
|
+
tests/test_cloud_snapshots.py
|
|
214
|
+
tests/test_cspm_registration.py
|
|
215
|
+
tests/test_custom_ioa.py
|
|
216
|
+
tests/test_d4c_registration.py
|
|
217
|
+
tests/test_detects.py
|
|
218
|
+
tests/test_device_control_policies.py
|
|
219
|
+
tests/test_discover.py
|
|
220
|
+
tests/test_event_streams.py
|
|
221
|
+
tests/test_falcon_complete_dashboard.py
|
|
222
|
+
tests/test_falcon_container.py
|
|
223
|
+
tests/test_falconx_sandbox.py
|
|
224
|
+
tests/test_fdr.py
|
|
225
|
+
tests/test_filevantage.py
|
|
226
|
+
tests/test_firewall_management.py
|
|
227
|
+
tests/test_firewall_policies.py
|
|
228
|
+
tests/test_host_group.py
|
|
229
|
+
tests/test_hosts.py
|
|
230
|
+
tests/test_identity_protection.py
|
|
231
|
+
tests/test_incidents.py
|
|
232
|
+
tests/test_installation_tokens.py
|
|
233
|
+
tests/test_intel.py
|
|
234
|
+
tests/test_ioa_exclusions.py
|
|
235
|
+
tests/test_ioc.py
|
|
236
|
+
tests/test_iocs.py
|
|
237
|
+
tests/test_kubernetes_protection.py
|
|
238
|
+
tests/test_malquery.py
|
|
239
|
+
tests/test_message_center.py
|
|
240
|
+
tests/test_ml_exclusions.py
|
|
241
|
+
tests/test_mobile_enrollment.py
|
|
242
|
+
tests/test_mssp.py
|
|
243
|
+
tests/test_ods.py
|
|
244
|
+
tests/test_overwatch_dashboard.py
|
|
245
|
+
tests/test_prevention_policy.py
|
|
246
|
+
tests/test_quarantine.py
|
|
247
|
+
tests/test_quick_scan.py
|
|
248
|
+
tests/test_real_time_response.py
|
|
249
|
+
tests/test_real_time_response_admin.py
|
|
250
|
+
tests/test_recon.py
|
|
251
|
+
tests/test_report_executions.py
|
|
252
|
+
tests/test_response_policies.py
|
|
253
|
+
tests/test_result_object.py
|
|
254
|
+
tests/test_sample_uploads.py
|
|
255
|
+
tests/test_scheduled_reports.py
|
|
256
|
+
tests/test_sensor_download.py
|
|
257
|
+
tests/test_sensor_update_policy.py
|
|
258
|
+
tests/test_sensor_visibility_exclusions.py
|
|
259
|
+
tests/test_service_class.py
|
|
260
|
+
tests/test_spotlight_evaluation_logic.py
|
|
261
|
+
tests/test_spotlight_vulnerabilities.py
|
|
262
|
+
tests/test_tailored_intelligence.py
|
|
263
|
+
tests/test_timeout.py
|
|
264
|
+
tests/test_uber_api_complete.py
|
|
265
|
+
tests/test_user_management.py
|
|
266
|
+
tests/test_zero_trust_assessment.py
|
{crowdstrike-falconpy-dev-1.3.0.dev10 → crowdstrike-falconpy-dev-1.3.1}/src/falconpydev/__init__.py
RENAMED
|
@@ -60,7 +60,8 @@ from ._error import (
|
|
|
60
60
|
PayloadValidationError,
|
|
61
61
|
NoAuthenticationMechanism,
|
|
62
62
|
InvalidIndex,
|
|
63
|
-
InvalidCredentialFormat
|
|
63
|
+
InvalidCredentialFormat,
|
|
64
|
+
UnnecessaryEncodingUsed
|
|
64
65
|
)
|
|
65
66
|
from ._result import (
|
|
66
67
|
Result,
|
|
@@ -85,6 +86,7 @@ from ._api_request import (
|
|
|
85
86
|
)
|
|
86
87
|
from .alerts import Alerts
|
|
87
88
|
from .api_complete import APIHarness
|
|
89
|
+
from .cloud_snapshots import CloudSnapshots
|
|
88
90
|
from .cloud_connect_aws import CloudConnectAWS
|
|
89
91
|
from .cspm_registration import CSPMRegistration
|
|
90
92
|
from .custom_ioa import CustomIOA
|
|
@@ -169,8 +171,9 @@ __all__ = [
|
|
|
169
171
|
"FunctionalityNotImplemented", "BearerToken", "LogFacility", "InvalidBaseURL",
|
|
170
172
|
"InterfaceConfiguration", "RequestBehavior", "RequestConnection", "RequestMeta",
|
|
171
173
|
"RequestPayloads", "RequestValidator", "PayloadValidationError", "MIN_TOKEN_RENEW_WINDOW",
|
|
172
|
-
"MAX_TOKEN_RENEW_WINDOW", "GLOBAL_API_MAX_RETURN", "MOCK_OPERATIONS",
|
|
173
|
-
"NoAuthenticationMechanism", "InvalidIndex", "version", "InvalidCredentialFormat"
|
|
174
|
+
"MAX_TOKEN_RENEW_WINDOW", "GLOBAL_API_MAX_RETURN", "MOCK_OPERATIONS", "CloudSnapshots",
|
|
175
|
+
"NoAuthenticationMechanism", "InvalidIndex", "version", "InvalidCredentialFormat",
|
|
176
|
+
"UnnecessaryEncodingUsed"
|
|
174
177
|
]
|
|
175
178
|
"""
|
|
176
179
|
This is free and unencumbered software released into the public domain.
|
|
@@ -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
|
-
from typing import Union, Dict, Optional, List,
|
|
38
|
+
from typing import Union, Dict, Optional, List, Any
|
|
39
39
|
from logging import Logger
|
|
40
40
|
from ._request_behavior import RequestBehavior
|
|
41
41
|
from ._request_connection import RequestConnection
|
|
@@ -47,16 +47,6 @@ from .._log import LogFacility
|
|
|
47
47
|
class APIRequest:
|
|
48
48
|
"""This class represents a request made to the CrowdStrike API."""
|
|
49
49
|
|
|
50
|
-
# ____ ___ ___ ____ _ ___ _ _ ___ ____ ____
|
|
51
|
-
# |__| | | |__/ | |__] | | | |___ [__
|
|
52
|
-
# | | | | | \ | |__] |__| | |___ ___]
|
|
53
|
-
#
|
|
54
|
-
_meta: RequestMeta = RequestMeta()
|
|
55
|
-
_payloads: RequestPayloads = RequestPayloads()
|
|
56
|
-
_connection: RequestConnection = RequestConnection()
|
|
57
|
-
_behavior = RequestBehavior()
|
|
58
|
-
_request_log: Optional[LogFacility] = None
|
|
59
|
-
|
|
60
50
|
# ____ ____ _ _ ____ ___ ____ _ _ ____ ___ ____ ____
|
|
61
51
|
# | | | |\ | [__ | |__/ | | | | | | |__/
|
|
62
52
|
# |___ |__| | \| ___] | | \ |__| |___ | |__| | \
|
|
@@ -95,6 +85,13 @@ class APIRequest:
|
|
|
95
85
|
sanitize_log=initializer.get("sanitize", None)
|
|
96
86
|
)
|
|
97
87
|
|
|
88
|
+
else:
|
|
89
|
+
self._meta = RequestMeta()
|
|
90
|
+
self._payloads = RequestPayloads()
|
|
91
|
+
self._connection = RequestConnection()
|
|
92
|
+
self._behavior = RequestBehavior()
|
|
93
|
+
self._request_log: Optional[LogFacility] = None
|
|
94
|
+
|
|
98
95
|
# _ _ ____ ___ _ _ ____ ___ ____
|
|
99
96
|
# |\/| |___ | |__| | | | \ [__
|
|
100
97
|
# | | |___ | | | |__| |__/ ___]
|
|
@@ -212,7 +209,7 @@ class APIRequest:
|
|
|
212
209
|
self.behavior.perform = value
|
|
213
210
|
|
|
214
211
|
@property
|
|
215
|
-
def body_validator(self) -> Optional[Dict[str,
|
|
212
|
+
def body_validator(self) -> Optional[Dict[str, Any]]:
|
|
216
213
|
"""Return the body payload validator from the behavior object."""
|
|
217
214
|
return self.behavior.body_validator
|
|
218
215
|
|
|
@@ -35,48 +35,48 @@ OTHER DEALINGS IN THE SOFTWARE.
|
|
|
35
35
|
|
|
36
36
|
For more information, please refer to <https://unlicense.org>
|
|
37
37
|
"""
|
|
38
|
-
from typing import Optional, Dict, List
|
|
38
|
+
from typing import Optional, Any, Dict, List
|
|
39
39
|
from ._request_validator import RequestValidator
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
class RequestBehavior:
|
|
43
43
|
"""This class represents specified behaviors for an API request."""
|
|
44
44
|
|
|
45
|
-
# ____ ___ ___ ____ _ ___ _ _ ___ ____ ____
|
|
46
|
-
# |__| | | |__/ | |__] | | | |___ [__
|
|
47
|
-
# | | | | | \ | |__] |__| | |___ ___]
|
|
48
|
-
#
|
|
49
|
-
_expand_result: bool = False
|
|
50
|
-
_container: bool = False
|
|
51
|
-
_authenticating: bool = False
|
|
52
|
-
_perform: bool = True
|
|
53
|
-
_validator = RequestValidator()
|
|
54
|
-
|
|
55
45
|
# ____ ____ _ _ ____ ___ ____ _ _ ____ ___ ____ ____
|
|
56
46
|
# | | | |\ | [__ | |__/ | | | | | | |__/
|
|
57
47
|
# |___ |__| | \| ___] | | \ |__| |___ | |__| | \
|
|
58
48
|
#
|
|
59
49
|
def __init__(self,
|
|
60
|
-
expand_result: Optional[bool] =
|
|
61
|
-
container: Optional[bool] =
|
|
62
|
-
authenticating: Optional[bool] =
|
|
63
|
-
perform: Optional[bool] =
|
|
64
|
-
body_validator: Optional[Dict[str,
|
|
50
|
+
expand_result: Optional[bool] = False,
|
|
51
|
+
container: Optional[bool] = False,
|
|
52
|
+
authenticating: Optional[bool] = False,
|
|
53
|
+
perform: Optional[bool] = True,
|
|
54
|
+
body_validator: Optional[Dict[str, Any]] = None,
|
|
65
55
|
body_required: Optional[List[str]] = None
|
|
66
56
|
):
|
|
67
57
|
"""Construct an instance of RequestBehavior class."""
|
|
58
|
+
self._expand_result = False
|
|
68
59
|
if isinstance(expand_result, bool):
|
|
69
|
-
self.
|
|
60
|
+
self._expand_result = expand_result
|
|
61
|
+
|
|
62
|
+
self._container = False
|
|
70
63
|
if isinstance(container, bool):
|
|
71
|
-
self.
|
|
64
|
+
self._container = container
|
|
65
|
+
|
|
66
|
+
self._authenticating = False
|
|
72
67
|
if isinstance(authenticating, bool):
|
|
73
|
-
self.
|
|
68
|
+
self._authenticating = authenticating
|
|
69
|
+
|
|
70
|
+
self._perform = True
|
|
74
71
|
if isinstance(perform, bool):
|
|
75
|
-
self.
|
|
72
|
+
self._perform = perform
|
|
73
|
+
|
|
76
74
|
if isinstance(body_validator, dict) or isinstance(body_required, list):
|
|
77
|
-
self.
|
|
78
|
-
|
|
79
|
-
|
|
75
|
+
self._validator = RequestValidator(validator=body_validator,
|
|
76
|
+
required=body_required
|
|
77
|
+
)
|
|
78
|
+
else:
|
|
79
|
+
self._validator = RequestValidator()
|
|
80
80
|
|
|
81
81
|
# ___ ____ ____ ___ ____ ____ ___ _ ____ ____
|
|
82
82
|
# |__] |__/ | | |__] |___ |__/ | | |___ [__
|
|
@@ -133,7 +133,7 @@ class RequestBehavior:
|
|
|
133
133
|
self._validator = value
|
|
134
134
|
|
|
135
135
|
@property
|
|
136
|
-
def body_validator(self) -> Optional[Dict[str,
|
|
136
|
+
def body_validator(self) -> Optional[Dict[str, Any]]:
|
|
137
137
|
"""Reflection into the validator object for the body payload validator."""
|
|
138
138
|
return self.validator.validator
|
|
139
139
|
|
|
@@ -41,15 +41,6 @@ from typing import Optional, Dict, Union
|
|
|
41
41
|
class RequestConnection:
|
|
42
42
|
"""This class represents connection details related to an API request."""
|
|
43
43
|
|
|
44
|
-
# ____ ___ ___ ____ _ ___ _ _ ___ ____ ____
|
|
45
|
-
# |__| | | |__/ | |__] | | | |___ [__
|
|
46
|
-
# | | | | | \ | |__] |__| | |___ ___]
|
|
47
|
-
#
|
|
48
|
-
_user_agent: Optional[str] = None
|
|
49
|
-
_verify: bool = True
|
|
50
|
-
_timeout: Optional[Union[int, tuple]] = None
|
|
51
|
-
_proxy: Optional[Dict[str, str]] = None
|
|
52
|
-
|
|
53
44
|
# ____ ____ _ _ ____ ___ ____ _ _ ____ ___ ____ ____
|
|
54
45
|
# | | | |\ | [__ | |__/ | | | | | | |__/
|
|
55
46
|
# |___ |__| | \| ___] | | \ |__| |___ | |__| | \
|
|
@@ -58,12 +49,14 @@ class RequestConnection:
|
|
|
58
49
|
user_agent: Optional[str] = None,
|
|
59
50
|
proxy: Optional[Dict[str, str]] = None,
|
|
60
51
|
timeout: Optional[Union[int, tuple]] = None,
|
|
61
|
-
verify: Optional[bool] =
|
|
52
|
+
verify: Optional[bool] = True
|
|
62
53
|
):
|
|
63
54
|
"""Construct an instance of RequestConnection class."""
|
|
64
|
-
self.
|
|
65
|
-
self.
|
|
66
|
-
self.
|
|
55
|
+
self._user_agent: Optional[str] = user_agent
|
|
56
|
+
self._proxy: Optional[Dict[str, str]] = proxy
|
|
57
|
+
self._timeout: Optional[Union[int, tuple]] = timeout
|
|
58
|
+
|
|
59
|
+
self._verify = True
|
|
67
60
|
if isinstance(verify, bool):
|
|
68
61
|
self.verify: bool = verify
|
|
69
62
|
|
|
@@ -41,15 +41,6 @@ from typing import Dict, Union, Optional
|
|
|
41
41
|
class RequestMeta:
|
|
42
42
|
"""This class contains the relevant metadata for the API request being performed."""
|
|
43
43
|
|
|
44
|
-
# ____ ___ ___ ____ _ ___ _ _ ___ ____ ____
|
|
45
|
-
# |__| | | |__/ | |__] | | | |___ [__
|
|
46
|
-
# | | | | | \ | |__] |__| | |___ ___]
|
|
47
|
-
#
|
|
48
|
-
_method: str = "GET"
|
|
49
|
-
_endpoint: Optional[str] = None
|
|
50
|
-
# These are set during the processing of the request
|
|
51
|
-
_debug_headers: Optional[Dict[str, Optional[Union[str, int, float]]]] = {}
|
|
52
|
-
|
|
53
44
|
# ____ ____ _ _ ____ ___ ____ _ _ ____ ___ ____ ____
|
|
54
45
|
# | | | |\ | [__ | |__/ | | | | | | |__/
|
|
55
46
|
# |___ |__| | \| ___] | | \ |__| |___ | |__| | \
|
|
@@ -60,9 +51,12 @@ class RequestMeta:
|
|
|
60
51
|
debug_headers: Optional[Dict[str, Optional[Union[str, int, float]]]] = None
|
|
61
52
|
):
|
|
62
53
|
"""Construct an instance of RequestMeta class."""
|
|
63
|
-
self.
|
|
64
|
-
self.
|
|
65
|
-
|
|
54
|
+
self._endpoint: Optional[str] = endpoint
|
|
55
|
+
self._method: str = method
|
|
56
|
+
|
|
57
|
+
self._debug_headers: Optional[Dict[str, Optional[Union[str, int, float]]]] = debug_headers
|
|
58
|
+
if debug_headers is None:
|
|
59
|
+
self._debug_headers = {}
|
|
66
60
|
|
|
67
61
|
# ___ ____ ____ ___ ____ ____ ___ _ ____ ____
|
|
68
62
|
# |__] |__/ | | |__] |___ |__/ | | |___ [__
|
|
@@ -41,15 +41,6 @@ from typing import Optional, Dict, List, Union
|
|
|
41
41
|
class RequestPayloads:
|
|
42
42
|
"""This class contains all of the payloads sent as part of the API request."""
|
|
43
43
|
|
|
44
|
-
# ____ ___ ___ ____ _ ___ _ _ ___ ____ ____
|
|
45
|
-
# |__| | | |__/ | |__] | | | |___ [__
|
|
46
|
-
# | | | | | \ | |__] |__| | |___ ___]
|
|
47
|
-
#
|
|
48
|
-
_params: Optional[Dict[str, Optional[Union[str, int, float, list, dict]]]] = None
|
|
49
|
-
_body: Optional[Union[bytes, Dict[str, Union[str, int, dict, list, bytes]]]] = None
|
|
50
|
-
_data: Optional[Union[bytes, Dict[str, Union[str, int, dict, list, bytes]]]] = None
|
|
51
|
-
_files: Optional[List[tuple]] = None
|
|
52
|
-
|
|
53
44
|
# ____ ____ _ _ ____ ___ ____ _ _ ____ ___ ____ ____
|
|
54
45
|
# | | | |\ | [__ | |__/ | | | | | | |__/
|
|
55
46
|
# |___ |__| | \| ___] | | \ |__| |___ | |__| | \
|
|
@@ -61,10 +52,10 @@ class RequestPayloads:
|
|
|
61
52
|
files: Optional[List[tuple]] = None
|
|
62
53
|
):
|
|
63
54
|
"""Construct an instance of RequestPayloads class."""
|
|
64
|
-
self.
|
|
65
|
-
self.
|
|
66
|
-
self.
|
|
67
|
-
self.
|
|
55
|
+
self._params = params
|
|
56
|
+
self._body = body
|
|
57
|
+
self._data = data
|
|
58
|
+
self._files = files
|
|
68
59
|
|
|
69
60
|
# ___ ____ ____ ___ ____ ____ ___ _ ____ ____
|
|
70
61
|
# |__] |__/ | | |__] |___ |__/ | | |___ [__
|
|
@@ -35,42 +35,35 @@ OTHER DEALINGS IN THE SOFTWARE.
|
|
|
35
35
|
|
|
36
36
|
For more information, please refer to <https://unlicense.org>
|
|
37
37
|
"""
|
|
38
|
-
from typing import
|
|
38
|
+
from typing import Any, Dict, Optional, List
|
|
39
39
|
|
|
40
40
|
|
|
41
41
|
class RequestValidator:
|
|
42
42
|
"""This class represents a request payload validator."""
|
|
43
43
|
|
|
44
|
-
# ____ ___ ___ ____ _ ___ _ _ ___ ____ ____
|
|
45
|
-
# |__| | | |__/ | |__] | | | |___ [__
|
|
46
|
-
# | | | | | \ | |__] |__| | |___ ___]
|
|
47
|
-
#
|
|
48
|
-
_validator: Optional[Dict[str, Type]] = None
|
|
49
|
-
_required: Optional[List[str]] = None
|
|
50
|
-
|
|
51
44
|
# ____ ____ _ _ ____ ___ ____ _ _ ____ ___ ____ ____
|
|
52
45
|
# | | | |\ | [__ | |__/ | | | | | | |__/
|
|
53
46
|
# |___ |__| | \| ___] | | \ |__| |___ | |__| | \
|
|
54
47
|
#
|
|
55
48
|
def __init__(self,
|
|
56
|
-
validator: Optional[Dict[str,
|
|
49
|
+
validator: Optional[Dict[str, Any]] = None,
|
|
57
50
|
required: Optional[List[str]] = None
|
|
58
51
|
):
|
|
59
52
|
"""Construct an instance of RequestValidator class."""
|
|
60
|
-
self.
|
|
61
|
-
self.
|
|
53
|
+
self._validator: Optional[Dict[str, Any]] = validator
|
|
54
|
+
self._required: Optional[List[str]] = required
|
|
62
55
|
|
|
63
56
|
# ___ ____ ____ ___ ____ ____ ___ _ ____ ____
|
|
64
57
|
# |__] |__/ | | |__] |___ |__/ | | |___ [__
|
|
65
58
|
# | | \ |__| | |___ | \ | | |___ ___]
|
|
66
59
|
#
|
|
67
60
|
@property
|
|
68
|
-
def validator(self) -> Optional[Dict[str,
|
|
61
|
+
def validator(self) -> Optional[Dict[str, Any]]:
|
|
69
62
|
"""Return the validator dictionary."""
|
|
70
63
|
return self._validator
|
|
71
64
|
|
|
72
65
|
@validator.setter
|
|
73
|
-
def validator(self, value: Optional[Dict[str,
|
|
66
|
+
def validator(self, value: Optional[Dict[str, Any]]):
|
|
74
67
|
"""Set the validator dictionary."""
|
|
75
68
|
self._validator = value
|
|
76
69
|
|
|
@@ -88,7 +81,7 @@ class RequestValidator:
|
|
|
88
81
|
# This code will be updated to the following once Python 3.6 support is dropped.
|
|
89
82
|
#
|
|
90
83
|
# from dataclasses import dataclass
|
|
91
|
-
# from typing import
|
|
84
|
+
# from typing import Any, Dict, Optional, List
|
|
92
85
|
|
|
93
86
|
|
|
94
87
|
# @dataclass
|
|
@@ -99,5 +92,5 @@ class RequestValidator:
|
|
|
99
92
|
# # |__| | | |__/ | |__] | | | |___ [__
|
|
100
93
|
# # | | | | | \ | |__] |__| | |___ ___]
|
|
101
94
|
# #
|
|
102
|
-
# validator: Optional[Dict[str,
|
|
95
|
+
# validator: Optional[Dict[str, Any]] = None
|
|
103
96
|
# required: Optional[List[str]] = None
|
|
@@ -43,23 +43,6 @@ from .._constant import MIN_TOKEN_RENEW_WINDOW, MAX_TOKEN_RENEW_WINDOW
|
|
|
43
43
|
class BearerToken:
|
|
44
44
|
"""This class represents a bearer token received from the API."""
|
|
45
45
|
|
|
46
|
-
# ____ ___ ___ ____ _ ___ _ _ ___ ____ ____
|
|
47
|
-
# |__| | | |__/ | |__] | | | |___ [__
|
|
48
|
-
# | | | | | \ | |__] |__| | |___ ___]
|
|
49
|
-
#
|
|
50
|
-
# Integer specifying the amount of time remaining before the token expires (in seconds).
|
|
51
|
-
_expiration: int = 0
|
|
52
|
-
# Float indicating the moment in time that the token was generated (timestamp).
|
|
53
|
-
_token_time: float = 0
|
|
54
|
-
# String containing the error message received from the API when token generation failed.
|
|
55
|
-
_fail_reason: Optional[str] = None
|
|
56
|
-
# Integer representing the HTTP status code received when generating the token.
|
|
57
|
-
_status: Optional[int] = None
|
|
58
|
-
# String representation of the token.
|
|
59
|
-
_value: Optional[str] = None
|
|
60
|
-
# Number of seconds between token expiration and now before a token is considered stale.
|
|
61
|
-
_renew_window: int = 120
|
|
62
|
-
|
|
63
46
|
# ____ ____ _ _ ____ ___ ____ _ _ ____ ___ ____ ____
|
|
64
47
|
# | | | |\ | [__ | |__/ | | | | | | |__/
|
|
65
48
|
# |___ |__| | \| ___] | | \ |__| |___ | |__| | \
|
|
@@ -67,19 +50,32 @@ class BearerToken:
|
|
|
67
50
|
# Tokens can be instantiated without a value (e.g. invalid or expired).
|
|
68
51
|
def __init__(self,
|
|
69
52
|
token_value: Optional[str] = None,
|
|
70
|
-
expiration: Optional[int] =
|
|
53
|
+
expiration: Optional[int] = 0,
|
|
71
54
|
status: Optional[int] = None
|
|
72
55
|
):
|
|
73
56
|
"""Create an instance of the BearerToken class."""
|
|
74
|
-
# if token_value:
|
|
75
57
|
self._value = token_value
|
|
58
|
+
|
|
59
|
+
# String containing the error message received from the API when token generation failed.
|
|
60
|
+
self._fail_reason: Optional[str] = None
|
|
61
|
+
# Number of seconds between token expiration and now before a token is considered stale.
|
|
62
|
+
self._renew_window: int = 120
|
|
63
|
+
|
|
64
|
+
# Integer specifying the amount of time remaining before the token expires (in seconds).
|
|
65
|
+
self._expiration: int = 0
|
|
76
66
|
if isinstance(expiration, int):
|
|
77
67
|
self._expiration = expiration
|
|
78
|
-
|
|
79
|
-
|
|
68
|
+
|
|
69
|
+
# Integer representing the HTTP status code received when generating the token.
|
|
70
|
+
self._status: Optional[int] = None
|
|
80
71
|
if isinstance(status, int):
|
|
81
72
|
self._status = status
|
|
82
73
|
|
|
74
|
+
# Float indicating the moment in time that the token was generated (timestamp).
|
|
75
|
+
self._token_time: float = 0
|
|
76
|
+
if token_value:
|
|
77
|
+
self._token_time = time.time()
|
|
78
|
+
|
|
83
79
|
# _ _ ____ ___ _ _ ____ ___ ____
|
|
84
80
|
# |\/| |___ | |__| | | | \ [__
|
|
85
81
|
# | | |___ | | | |__| |__/ ___]
|