Version 1.4.6 released! #1246
Pinned
jshcodes
started this conversation in
Show and Tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
FalconPy 1.4.6
This update provides new service collections and operations. A few minor bug fixes are also implemented.
Unit test coverage
=================== 395 passed, 3 skipped, 4 warnings in 715.75s (0:11:55) =================== Name Stmts Miss Cover ------------------------------------------------------------------------------------------ src/falconpy/__init__.py 104 0 100% src/falconpy/_api_request/__init__.py 7 0 100% src/falconpy/_api_request/_request.py 109 0 100% src/falconpy/_api_request/_request_behavior.py 55 0 100% src/falconpy/_api_request/_request_connection.py 8 0 100% src/falconpy/_api_request/_request_meta.py 26 0 100% src/falconpy/_api_request/_request_payloads.py 8 0 100% src/falconpy/_api_request/_request_validator.py 6 0 100% src/falconpy/_auth_object/__init__.py 6 0 100% src/falconpy/_auth_object/_base_falcon_auth.py 13 0 100% src/falconpy/_auth_object/_bearer_token.py 63 0 100% src/falconpy/_auth_object/_falcon_interface.py 257 0 100% src/falconpy/_auth_object/_interface_config.py 40 0 100% src/falconpy/_auth_object/_uber_interface.py 42 0 100% src/falconpy/_constant/__init__.py 11 0 100% src/falconpy/_endpoint/__init__.py 200 0 100% src/falconpy/_endpoint/_alerts.py 1 0 100% src/falconpy/_endpoint/_api_integrations.py 1 0 100% src/falconpy/_endpoint/_aspm.py 1 0 100% src/falconpy/_endpoint/_certificate_based_exclusions.py 1 0 100% src/falconpy/_endpoint/_cloud_connect_aws.py 1 0 100% src/falconpy/_endpoint/_cloud_snapshots.py 1 0 100% src/falconpy/_endpoint/_compliance_assessments.py 1 0 100% src/falconpy/_endpoint/_configuration_assessment.py 1 0 100% src/falconpy/_endpoint/_configuration_assessment_evaluation_logic.py 1 0 100% src/falconpy/_endpoint/_container_alerts.py 1 0 100% src/falconpy/_endpoint/_container_detections.py 1 0 100% src/falconpy/_endpoint/_container_images.py 1 0 100% src/falconpy/_endpoint/_container_packages.py 1 0 100% src/falconpy/_endpoint/_container_vulnerabilities.py 1 0 100% src/falconpy/_endpoint/_cspm_registration.py 1 0 100% src/falconpy/_endpoint/_custom_ioa.py 1 0 100% src/falconpy/_endpoint/_custom_storage.py 1 0 100% src/falconpy/_endpoint/_d4c_registration.py 1 0 100% src/falconpy/_endpoint/_datascanner.py 1 0 100% src/falconpy/_endpoint/_delivery_settings.py 1 0 100% src/falconpy/_endpoint/_detects.py 1 0 100% src/falconpy/_endpoint/_device_control_policies.py 1 0 100% src/falconpy/_endpoint/_discover.py 1 0 100% src/falconpy/_endpoint/_downloads.py 1 0 100% src/falconpy/_endpoint/_drift_indicators.py 1 0 100% src/falconpy/_endpoint/_event_streams.py 1 0 100% src/falconpy/_endpoint/_exposure_management.py 1 0 100% src/falconpy/_endpoint/_falcon_complete_dashboard.py 1 0 100% src/falconpy/_endpoint/_falcon_container.py 1 0 100% src/falconpy/_endpoint/_falconx_sandbox.py 1 0 100% src/falconpy/_endpoint/_fdr.py 1 0 100% src/falconpy/_endpoint/_filevantage.py 1 0 100% src/falconpy/_endpoint/_firewall_management.py 1 0 100% src/falconpy/_endpoint/_firewall_policies.py 1 0 100% src/falconpy/_endpoint/_foundry_logscale.py 1 0 100% src/falconpy/_endpoint/_host_group.py 1 0 100% src/falconpy/_endpoint/_host_migration.py 1 0 100% src/falconpy/_endpoint/_hosts.py 1 0 100% src/falconpy/_endpoint/_identity_protection.py 1 0 100% src/falconpy/_endpoint/_image_assessment_policies.py 1 0 100% src/falconpy/_endpoint/_incidents.py 1 0 100% src/falconpy/_endpoint/_installation_tokens.py 1 0 100% src/falconpy/_endpoint/_intel.py 1 0 100% src/falconpy/_endpoint/_ioa_exclusions.py 1 0 100% src/falconpy/_endpoint/_ioc.py 1 0 100% src/falconpy/_endpoint/_iocs.py 1 0 100% src/falconpy/_endpoint/_kubernetes_protection.py 1 0 100% src/falconpy/_endpoint/_malquery.py 1 0 100% src/falconpy/_endpoint/_message_center.py 1 0 100% src/falconpy/_endpoint/_ml_exclusions.py 1 0 100% src/falconpy/_endpoint/_mobile_enrollment.py 1 0 100% src/falconpy/_endpoint/_mssp.py 1 0 100% src/falconpy/_endpoint/_oauth2.py 1 0 100% src/falconpy/_endpoint/_ods.py 1 0 100% src/falconpy/_endpoint/_overwatch_dashboard.py 1 0 100% src/falconpy/_endpoint/_prevention_policies.py 1 0 100% src/falconpy/_endpoint/_quarantine.py 1 0 100% src/falconpy/_endpoint/_quick_scan.py 1 0 100% src/falconpy/_endpoint/_quick_scan_pro.py 1 0 100% src/falconpy/_endpoint/_real_time_response.py 1 0 100% src/falconpy/_endpoint/_real_time_response_admin.py 1 0 100% src/falconpy/_endpoint/_real_time_response_audit.py 1 0 100% src/falconpy/_endpoint/_recon.py 1 0 100% src/falconpy/_endpoint/_report_executions.py 1 0 100% src/falconpy/_endpoint/_response_policies.py 1 0 100% src/falconpy/_endpoint/_sample_uploads.py 1 0 100% src/falconpy/_endpoint/_scheduled_reports.py 1 0 100% src/falconpy/_endpoint/_sensor_download.py 1 0 100% src/falconpy/_endpoint/_sensor_update_policies.py 1 0 100% src/falconpy/_endpoint/_sensor_usage.py 1 0 100% src/falconpy/_endpoint/_sensor_visibility_exclusions.py 1 0 100% src/falconpy/_endpoint/_spotlight_evaluation_logic.py 1 0 100% src/falconpy/_endpoint/_spotlight_vulnerabilities.py 1 0 100% src/falconpy/_endpoint/_tailored_intelligence.py 1 0 100% src/falconpy/_endpoint/_threatgraph.py 1 0 100% src/falconpy/_endpoint/_unidentified_containers.py 1 0 100% src/falconpy/_endpoint/_user_management.py 1 0 100% src/falconpy/_endpoint/_workflows.py 1 0 100% src/falconpy/_endpoint/_zero_trust_assessment.py 1 0 100% src/falconpy/_endpoint/deprecated/__init__.py 41 0 100% src/falconpy/_endpoint/deprecated/_certificate_based_exclusions.py 1 0 100% src/falconpy/_endpoint/deprecated/_custom_ioa.py 1 0 100% src/falconpy/_endpoint/deprecated/_d4c_registration.py 1 0 100% src/falconpy/_endpoint/deprecated/_datascanner.py 1 0 100% src/falconpy/_endpoint/deprecated/_discover.py 1 0 100% src/falconpy/_endpoint/deprecated/_exposure_management.py 1 0 100% src/falconpy/_endpoint/deprecated/_fdr.py 1 0 100% src/falconpy/_endpoint/deprecated/_firewall_management.py 1 0 100% src/falconpy/_endpoint/deprecated/_hosts.py 1 0 100% src/falconpy/_endpoint/deprecated/_identity_protection.py 1 0 100% src/falconpy/_endpoint/deprecated/_installation_tokens.py 1 0 100% src/falconpy/_endpoint/deprecated/_ioc.py 1 0 100% src/falconpy/_endpoint/deprecated/_iocs.py 1 0 100% src/falconpy/_endpoint/deprecated/_mapping.py 2 0 100% src/falconpy/_endpoint/deprecated/_ods.py 1 0 100% src/falconpy/_endpoint/deprecated/_real_time_response.py 1 0 100% src/falconpy/_endpoint/deprecated/_real_time_response_admin.py 1 0 100% src/falconpy/_endpoint/deprecated/_report_executions.py 1 0 100% src/falconpy/_endpoint/deprecated/_scheduled_reports.py 1 0 100% src/falconpy/_endpoint/deprecated/_zero_trust_assessment.py 1 0 100% src/falconpy/_enum/__init__.py 4 0 100% src/falconpy/_enum/_base_url.py 8 0 100% src/falconpy/_enum/_container_base_url.py 7 0 100% src/falconpy/_enum/_token_fail_reason.py 4 0 100% src/falconpy/_error/__init__.py 3 0 100% src/falconpy/_error/_exceptions.py 68 0 100% src/falconpy/_error/_warnings.py 73 0 100% src/falconpy/_log/__init__.py 2 0 100% src/falconpy/_log/_facility.py 34 0 100% src/falconpy/_payload/__init__.py 37 0 100% src/falconpy/_payload/_alerts.py 11 0 100% src/falconpy/_payload/_api_integrations.py 25 0 100% src/falconpy/_payload/_aspm.py 104 0 100% src/falconpy/_payload/_certificate_based_exclusions.py 22 0 100% src/falconpy/_payload/_cloud_snapshots.py 22 0 100% src/falconpy/_payload/_container.py 76 0 100% src/falconpy/_payload/_cspm_registration.py 64 0 100% src/falconpy/_payload/_d4c_registration.py 38 0 100% src/falconpy/_payload/_delivery_settings.py 10 0 100% src/falconpy/_payload/_detects.py 15 0 100% src/falconpy/_payload/_device_control_policy.py 33 0 100% src/falconpy/_payload/_exposure_management.py 14 0 100% src/falconpy/_payload/_falconx.py 25 0 100% src/falconpy/_payload/_filevantage.py 46 0 100% src/falconpy/_payload/_firewall.py 122 0 100% src/falconpy/_payload/_foundry.py 16 0 100% src/falconpy/_payload/_generic.py 66 0 100% src/falconpy/_payload/_host_group.py 31 0 100% src/falconpy/_payload/_identity_protection.py 11 0 100% src/falconpy/_payload/_incidents.py 15 0 100% src/falconpy/_payload/_ioa.py 35 0 100% src/falconpy/_payload/_ioc.py 52 0 100% src/falconpy/_payload/_malquery.py 56 0 100% src/falconpy/_payload/_message_center.py 22 0 100% src/falconpy/_payload/_mobile_enrollment.py 12 0 100% src/falconpy/_payload/_mssp.py 15 0 100% src/falconpy/_payload/_ods.py 13 0 100% src/falconpy/_payload/_prevention_policy.py 19 0 100% src/falconpy/_payload/_real_time_response.py 27 0 100% src/falconpy/_payload/_recon.py 84 0 100% src/falconpy/_payload/_reports.py 19 0 100% src/falconpy/_payload/_response_policy.py 19 0 100% src/falconpy/_payload/_sample_uploads.py 9 0 100% src/falconpy/_payload/_sensor_update_policy.py 30 0 100% src/falconpy/_payload/_workflows.py 42 0 100% src/falconpy/_result/__base_resource.py 28 0 100% src/falconpy/_result/__init__.py 9 0 100% src/falconpy/_result/_base_dictionary.py 31 0 100% src/falconpy/_result/_errors.py 2 0 100% src/falconpy/_result/_expanded_result.py 7 0 100% src/falconpy/_result/_headers.py 24 0 100% src/falconpy/_result/_meta.py 30 0 100% src/falconpy/_result/_resources.py 14 0 100% src/falconpy/_result/_response_component.py 24 0 100% src/falconpy/_result/_result.py 220 0 100% src/falconpy/_service_class/__init__.py 3 0 100% src/falconpy/_service_class/_base_service_class.py 118 0 100% src/falconpy/_service_class/_service_class.py 104 0 100% src/falconpy/_util/__init__.py 5 0 100% src/falconpy/_util/_auth.py 47 0 100% src/falconpy/_util/_functions.py 410 0 100% src/falconpy/_util/_service.py 3 0 100% src/falconpy/_util/_uber.py 49 0 100% src/falconpy/_version.py 37 0 100% src/falconpy/alerts.py 62 0 100% src/falconpy/api_complete/__init__.py 3 0 100% src/falconpy/api_complete/_advanced.py 59 0 100% src/falconpy/api_complete/_legacy.py 202 0 100% src/falconpy/api_integrations.py 22 0 100% src/falconpy/aspm.py 147 0 100% src/falconpy/certificate_based_exclusions.py 34 0 100% src/falconpy/cloud_snapshots.py 35 0 100% src/falconpy/compliance_assessments.py 49 0 100% src/falconpy/configuration_assessment.py 13 0 100% src/falconpy/configuration_assessment_evaluation_logic.py 9 0 100% src/falconpy/container_alerts.py 17 0 100% src/falconpy/container_detections.py 33 0 100% src/falconpy/container_images.py 59 0 100% src/falconpy/container_packages.py 25 0 100% src/falconpy/container_vulnerabilities.py 46 0 100% src/falconpy/cspm_registration.py 212 0 100% src/falconpy/custom_ioa.py 91 0 100% src/falconpy/custom_storage.py 142 0 100% src/falconpy/d4c_registration.py 120 0 100% src/falconpy/datascanner.py 26 0 100% src/falconpy/delivery_settings.py 15 0 100% src/falconpy/detects.py 32 0 100% src/falconpy/device_control_policies.py 78 0 100% src/falconpy/discover.py 47 0 100% src/falconpy/downloads.py 13 0 100% src/falconpy/drift_indicators.py 25 0 100% src/falconpy/event_streams.py 20 0 100% src/falconpy/exposure_management.py 42 0 100% src/falconpy/falcon_complete_dashboard.py 111 0 100% src/falconpy/falcon_container.py 57 0 100% src/falconpy/falconx_sandbox.py 96 0 100% src/falconpy/fdr.py 23 0 100% src/falconpy/filevantage.py 159 0 100% src/falconpy/firewall_management.py 139 0 100% src/falconpy/firewall_policies.py 71 0 100% src/falconpy/foundry_logscale.py 68 0 100% src/falconpy/host_group.py 61 0 100% src/falconpy/host_migration.py 88 0 100% src/falconpy/hosts.py 113 0 100% src/falconpy/identity_protection.py 51 0 100% src/falconpy/image_assessment_policies.py 63 0 100% src/falconpy/incidents.py 41 0 100% src/falconpy/installation_tokens.py 43 0 100% src/falconpy/intel.py 105 0 100% src/falconpy/ioa_exclusions.py 33 0 100% src/falconpy/ioc.py 94 0 100% src/falconpy/iocs.py 40 0 100% src/falconpy/kubernetes_protection.py 261 0 100% src/falconpy/malquery.py 50 0 100% src/falconpy/message_center.py 90 0 100% src/falconpy/ml_exclusions.py 37 0 100% src/falconpy/mobile_enrollment.py 19 0 100% src/falconpy/mssp.py 174 0 100% src/falconpy/oauth2.py 30 0 100% src/falconpy/ods.py 73 0 100% src/falconpy/overwatch_dashboard.py 31 0 100% src/falconpy/prevention_policy.py 62 0 100% src/falconpy/quarantine.py 46 0 100% src/falconpy/quick_scan.py 27 0 100% src/falconpy/quick_scan_pro.py 43 0 100% src/falconpy/real_time_response.py 127 0 100% src/falconpy/real_time_response_admin.py 83 0 100% src/falconpy/real_time_response_audit.py 10 0 100% src/falconpy/recon.py 129 0 100% src/falconpy/report_executions.py 24 0 100% src/falconpy/response_policies.py 61 0 100% src/falconpy/sample_uploads.py 92 0 100% src/falconpy/scheduled_reports.py 20 0 100% src/falconpy/sensor_download.py 55 0 100% src/falconpy/sensor_update_policy.py 110 0 100% src/falconpy/sensor_usage.py 9 0 100% src/falconpy/sensor_visibility_exclusions.py 31 0 100% src/falconpy/spotlight_evaluation_logic.py 23 0 100% src/falconpy/spotlight_vulnerabilities.py 31 0 100% src/falconpy/tailored_intelligence.py 41 0 100% src/falconpy/threatgraph.py 29 0 100% src/falconpy/unidentified_containers.py 17 0 100% src/falconpy/user_management.py 139 0 100% src/falconpy/workflows.py 100 0 100% src/falconpy/zero_trust_assessment.py 23 0 100% ------------------------------------------------------------------------------------------ TOTAL 8952 0 100%
Bandit analysis
[main] INFO running on Python 3.13.0 Run started:2024-10-28 15:54:32.485034 Test results: No issues identified. Code scanned: Total lines of code: 78699 Total lines skipped (#nosec): 0 Run metrics: Total issues (by severity): Undefined: 0 Low: 0 Medium: 0 High: 0 Total issues (by confidence): Undefined: 0 Low: 0 Medium: 0 High: 0 Files skipped (0):
Added features and functionality
Added: Added ExecuteCommandProxy operation to the API Integrations service collection.
_endpoint/_api_integrations.py
_payload/_api_integrations.py
api_integrations.py
tests/test_api_integrations.py
Added: Added new ASPM service collection with 23 operations.
_endpoint/__init__.py
_endpoint/_aspm.py
_payload/__init__.py
_payload/_aspm.py
_util/_functions.py
_util/_uber.py
__init__.py
aspm.py
tests/test_aspm.py
Added: Added 1 new operation (GetCredentialsIAC) to the Cloud Snapshots service collection.
_endpoint/_cloud_snapshots.py
cloud_snapshots.py
tests/test_cloud_snapshots.py
Added: Added new operations, parameters and parameter options to the Container Images service collection.
include_base_image_vuln
as a filter option to the AggregateImageCount operation.source
as a sort option to the GetCombinedImages operation.include_base_image_vuln
as a filter option to the ReadCombinedImagesExport operation.source
as a sort option to the ReadCombinedImagesExport operation.include_base_image_vuln
parameter to the CombinedImageIssuesSummary operation.include_base_image_vuln
parameter to the CombinedImageVulnerabilitySummary operation._endpoint/_container_images.py
_payload/__init__.py
_payload/_container.py
container_images.py
tests/test_container_images.py
Added: Added parameters to multiple operations within the CSPM Registration service collection.
template
parameter to the GetCSPMAwsConsoleSetupURLs operation.account_type
,dspm_enabled
,dspm_regions
, anddspm_role
parameters to the GetCSPMAwsAccountScriptsAttachment operation._endpoint/_cspm_registration.py
cspm_registration.py
Added: Added six new operations to the Custom Storage service collection.
_endpoint/_custom_storage.py
_util/_functions.py
_util/_uber.py
custom_storage.py
tests/test_custom_storage.py
Added: Added
dspm_enabled
,dspm_regions
, anddspm_role
to the GetD4CAWSAccountScriptsAttachment operation within the D4C Registration service collection._endpoint/_d4c_registration.py
d4c_registration.py
Updated: Added new filter options to all operations within the Compliance Assessment service collection.
_endpoint/__init__.py
_endpoint/_compliance_assessments.py
compliance_assessments.py
Added: Added
include_base_image_vuln
as an allowed filter option to multiple operations within the Container Vulnerabilities service collection._endpoint/_container_vulnerabilities.py
container_vulnerabilities.py
Added: Added new DataScanner service collection with 4 new operations.
_endpoint/__init__.py
_endpoint/_datascanner.py
_endpoint/deprecated/__init__.py
_endpoint/deprecated/_datascanner.py
__init__.py
datascanner.py
tests/test_datascanner.py
Added: Added new DeliverySettings service collection with 2 new operations.
_endpoint/__init__.py
_endpoint/_delivery_settings.py
_payload/__init__.py
_payload/_delivery_settings.py
__init__.py
delivery_settings.py
tests/test_delivery_settings.py
Added: Added combined_applications and combined_hosts operations to the Discover service collection.
_endpoint/_discover.py
_endpoint/deprecated/_discover.py
discover.py
tests/test_discover.py
Added: Added new ReadDriftIndicatorEntities operation to the Drift Indicators service collection.
_endpoint/_drift_indicators.py
drift_indicators.py
tests/test_drift_indicators.py
Added: Added new Downloads service collection with 2 new operations.
_endpoint/__init__.py
_endpoint/_downloads.py
__init__.py
downloads.py
tests/test_downloads.py
Added: Added new delete_external_assets operation to the Exposure Management service collection.
_endpoint/_exposure_management.py
_endpoint/deprecated/_exposure_management.py
exposure_management.py
Added: Added
aid
parameter and two new values forenvironment_id
to the Submit operation within the Falcon Intelligence Sandbox service collection._endpoint/_falconx_sandbox.py
falconx_sandbox.py
Added: Added
data_content
parameter to IngestDataAsyncV1 and IngestData operations and addedjob_status_only
parameter to the GetSavedSearchesExecuteV1 operation within the Foundry LogScale service collection._endpoint/_foundry_logscale.py
foundry_logscale.py
Updated: Increased resultset max return for the QueryDevicesByFilterScroll operation to align with new API maximums. (Hosts Service Class)
_endpoint/_hosts.py
hosts.py
Added: Added 4 new operations to the Identity Protection service collection. Deprecated
api_preempt_proxy_
prefix from all operation IDs._endpoint/_identity_protection.py
_endpoint/deprecated/_identity_protection.py
_payload/__init__.py
_payload/_identity_protection.py
identity_protection.py
tests/test_identity_protection.py
Added: Added
cl_regex
andifn_regex
parameters to the queryIOAExclusionsV1 operation within the IOA Exclusions service collection._endpoint/_ioa_exclusions.py
ioa_exclusions.py
Added: Added 5 new operations to the Kubernetes Protection service collection.
_endpoint/_kubernetes_protection.py
kubernetes_protection.py
tests/test_kubernetes_protection.py
Added: Added new QuickScan Pro service collection with 6 new operations.
__init__.py
_endpoint/__init__.py
_endpoint/_quick_scan_pro.py
quick_scan_pro.py
tests/test_quick_scan_pro.py
Added: Added
secondary_sort
(Also accepted:secondarySort
) parameter to the QueryRulesV1 operation within the Recon service collection._endpoint/_recon.py
_recon.py
Added: Added new Sensor Usage service collection with one operation (GetSensorUsageWeekly).
_endpoint/__init__.py
_endpoint/_sensor_usage.py
__init__.py
sensor_usage.py
tests/test_sensor_usage.py
Added: Added
is_descendent_process
parameter to the updateSensorVisibilityExclusionsV1 operation within the Sensor Visibility Exclusions service collection._payload/_generic.py
sensor_visibility_exclusions.py
Added: Added additional vertices types as possible values to the
combined_summary_get
,entities_vertices_get
, andentities_vertices_getv2
operations within the ThreatGraph service collection._endpoint/_threatgraph.py
_util/_functions.py
threatgraph.py
Issues resolved
Fixed: Resolve issue causing headers to not be passed to the PutObject operation within the Custom Storage service collection.
custom_storage.py
Updated: Fixed typing syntax on
update_device_tags
method. (Hosts Service Class)hosts.py
Fixed: Added "all" as the default for the
groups
parameter if it is not present when calling the createMLExclusionsV1 operation. Closes [ DOC ] ML exclusion creation targeting all host groups (applied_gobally=True) needs ["all"] as fake group id #1233.ml_exclusions.py
Other
Added: Added US-GOV-2 region to CrowdStrike container region (Container Base URL) enumerator.
_enum/_container_base_url.py
Deprecated: Moved the GetQueriesAlertsV1, PostEntitiesAlertsV1, PatchEntitiesAlertsV2, and PostAggregatesAlertsV1 operations within the Alerts service collection to a deprecated status.
_endpoint/_alerts.py
alerts.py
Updated: Cosmetic updates to multiple operation descriptions within the Custom IOA service collection.
_endpoint/_custom_ioa.py
_endpoint/deprecated/_custom_ioa.py
Updated: Cosmetic updates to multiple operation descriptions and enumerators within the Host Migration service collection.
_endpoint/_host_migration.py
Updated: Enumerator updated for the QueryCasesIdsByFilter operation within the Message Center service collection.
_endpoint/_message_center.py
Updated: Updated descriptions for GetNotificationsDetailedTranslatedV1 and GetNotificationsDetailedV1 operations within the Recon service collection.
_endpoint/_recon.py
_recon.py
Installation
You can install this new release by installing the package via the Python Package Index.
or
Upgrading
You can upgrade to this new release by installing the update via the Python Package Index.
or
This discussion was created from the release Version 1.4.6.
Beta Was this translation helpful? Give feedback.
All reactions