Skip to content

Conversation

dweissbacher
Copy link

Added WorkflowDefinitionsStatus operation to Workflows service class

Added WorkflowDefinitionsStatus operation to Workflows service class, which allows disabling and enabling of workflows.

  • Enhancement
  • Updated unit tests

Unit test coverage

Name                                                                   Stmts   Miss  Cover
------------------------------------------------------------------------------------------
src/falconpy/__init__.py                                                 122      0   100%
src/falconpy/_api_request/__init__.py                                      7      0   100%
src/falconpy/_api_request/_request.py                                    112      4    96%
src/falconpy/_api_request/_request_behavior.py                            64      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     16    94%
src/falconpy/_auth_object/_interface_config.py                            40      0   100%
src/falconpy/_auth_object/_uber_interface.py                              51      0   100%
src/falconpy/_constant/__init__.py                                        11      0   100%
src/falconpy/_endpoint/__init__.py                                       248      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/_cao_hunting.py                                     1      0   100%
src/falconpy/_endpoint/_certificate_based_exclusions.py                    1      0   100%
src/falconpy/_endpoint/_cloud_aws_registration.py                          1      0   100%
src/falconpy/_endpoint/_cloud_azure_registration.py                        1      0   100%
src/falconpy/_endpoint/_cloud_connect_aws.py                               1      0   100%
src/falconpy/_endpoint/_cloud_oci_registration.py                          1      0   100%
src/falconpy/_endpoint/_cloud_security_assets.py                           1      0   100%
src/falconpy/_endpoint/_cloud_security_compliance.py                       1      0   100%
src/falconpy/_endpoint/_cloud_snapshots.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_image_compliance.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/_content_update_policies.py                         1      0   100%
src/falconpy/_endpoint/_correlation_rules.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/_delivery_settings.py                               1      0   100%
src/falconpy/_endpoint/_deployments.py                                     1      0   100%
src/falconpy/_endpoint/_detects.py                                         1      0   100%
src/falconpy/_endpoint/_device_content.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/_faas_execution.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/_intelligence_feeds.py                              1      0   100%
src/falconpy/_endpoint/_intelligence_indicator_graph.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/_it_automation.py                                   1      0   100%
src/falconpy/_endpoint/_kubernetes_container_compliance.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/_ngsiem.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/_serverless_vulnerabilities.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                             55      0   100%
src/falconpy/_endpoint/deprecated/_certificate_based_exclusions.py         1      0   100%
src/falconpy/_endpoint/deprecated/_cloud_aws_registration.py               1      0   100%
src/falconpy/_endpoint/deprecated/_cloud_azure_registration.py             1      0   100%
src/falconpy/_endpoint/deprecated/_cloud_oci_registration.py               1      0   100%
src/falconpy/_endpoint/deprecated/_cloud_security_assets.py                1      0   100%
src/falconpy/_endpoint/deprecated/_cloud_security_compliance.py            1      0   100%
src/falconpy/_endpoint/deprecated/_correlation_rules.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/_device_content.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                                             7      0   100%
src/falconpy/_enum/_base_url.py                                            8      0   100%
src/falconpy/_enum/_container_base_url.py                                  7      0   100%
src/falconpy/_enum/_ingest_base_url.py                                     6      0   100%
src/falconpy/_enum/_ingest_format.py                                       6      0   100%
src/falconpy/_enum/_timeunit.py                                            5      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                                        77      0   100%
src/falconpy/_error/_warnings.py                                          76     25    67%
src/falconpy/_helper/__init__.py                                          15      0   100%
src/falconpy/_helper/_find_operation.py                                   38      0   100%
src/falconpy/_helper/_indicator.py                                        36      0   100%
src/falconpy/_helper/_text_colors.py                                      16      0   100%
src/falconpy/_log/__init__.py                                              2      0   100%
src/falconpy/_log/_facility.py                                            41      0   100%
src/falconpy/_ngsiem/__init__.py                                           3      0   100%
src/falconpy/_ngsiem/_hec.py                                             301     10    97%
src/falconpy/_ngsiem/_ingest_config.py                                    72      0   100%
src/falconpy/_ngsiem/_ingest_payload.py                                  127      0   100%
src/falconpy/_ngsiem/_session_manager.py                                  49      0   100%
src/falconpy/_payload/__init__.py                                         44      0   100%
src/falconpy/_payload/_alerts.py                                          19      0   100%
src/falconpy/_payload/_api_integrations.py                                25      0   100%
src/falconpy/_payload/_aspm.py                                           113      0   100%
src/falconpy/_payload/_certificate_based_exclusions.py                    24      0   100%
src/falconpy/_payload/_cloud_aws_registration.py                          13      0   100%
src/falconpy/_payload/_cloud_azure_registration.py                        20      0   100%
src/falconpy/_payload/_cloud_oci_registration.py                          35      0   100%
src/falconpy/_payload/_cloud_snapshots.py                                 22      0   100%
src/falconpy/_payload/_container.py                                       90     37    59%
src/falconpy/_payload/_content_update_policy.py                           23      0   100%
src/falconpy/_payload/_correlation_rules.py                               24     21    12%
src/falconpy/_payload/_cspm_registration.py                               71      0   100%
src/falconpy/_payload/_d4c_registration.py                                38      0   100%
src/falconpy/_payload/_delivery_settings.py                               10      0   100%
src/falconpy/_payload/_device_control_policy.py                           64      0   100%
src/falconpy/_payload/_exposure_management.py                             31      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                                         71      0   100%
src/falconpy/_payload/_host_group.py                                      31      0   100%
src/falconpy/_payload/_identity_protection.py                             11     10     9%
src/falconpy/_payload/_incidents.py                                       15      0   100%
src/falconpy/_payload/_intelligence_indicator_graph.py                     0      0   100%
src/falconpy/_payload/_ioa.py                                             35      0   100%
src/falconpy/_payload/_ioc.py                                             52      0   100%
src/falconpy/_payload/_it_automation.py                                   80      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/_ngsiem.py                                          14      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                                       43      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                       119      0   100%
src/falconpy/_service_class/_service_class.py                            113      1    99%
src/falconpy/_util/__init__.py                                             5      0   100%
src/falconpy/_util/_auth.py                                               47      0   100%
src/falconpy/_util/_functions.py                                         451     25    94%
src/falconpy/_util/_service.py                                             3      0   100%
src/falconpy/_util/_uber.py                                               53      9    83%
src/falconpy/_version.py                                                  38      0   100%
src/falconpy/alerts.py                                                    69      0   100%
src/falconpy/api_complete/__init__.py                                      3      0   100%
src/falconpy/api_complete/_advanced.py                                    62      4    94%
src/falconpy/api_complete/_legacy.py                                     202     18    91%
src/falconpy/api_integrations.py                                          23      0   100%
src/falconpy/aspm.py                                                     284      0   100%
src/falconpy/cao_hunting.py                                               25      0   100%
src/falconpy/certificate_based_exclusions.py                              35      0   100%
src/falconpy/cloud_aws_registration.py                                    34      0   100%
src/falconpy/cloud_azure_registration.py                                  37      0   100%
src/falconpy/cloud_oci_registration.py                                    45      0   100%
src/falconpy/cloud_security_assets.py                                     18      0   100%
src/falconpy/cloud_security_compliance.py                                 14      0   100%
src/falconpy/cloud_snapshots.py                                           36      0   100%
src/falconpy/configuration_assessment.py                                  14      0   100%
src/falconpy/configuration_assessment_evaluation_logic.py                 10      0   100%
src/falconpy/container_alerts.py                                          18      0   100%
src/falconpy/container_detections.py                                      34      0   100%
src/falconpy/container_image_compliance.py                                51      0   100%
src/falconpy/container_images.py                                          60      0   100%
src/falconpy/container_packages.py                                        34      0   100%
src/falconpy/container_vulnerabilities.py                                 47      0   100%
src/falconpy/content_update_policies.py                                   59      0   100%
src/falconpy/correlation_rules.py                                         79     27    66%
src/falconpy/cspm_registration.py                                        221      2    99%
src/falconpy/custom_ioa.py                                                92      0   100%
src/falconpy/custom_storage.py                                           194      0   100%
src/falconpy/d4c_registration.py                                         123      3    98%
src/falconpy/delivery_settings.py                                         16      0   100%
src/falconpy/deployments.py                                               38      0   100%
src/falconpy/device_content.py                                            14      0   100%
src/falconpy/device_control_policies.py                                  110      0   100%
src/falconpy/discover.py                                                  48      0   100%
src/falconpy/downloads.py                                                 14      0   100%
src/falconpy/drift_indicators.py                                          26      0   100%
src/falconpy/event_streams.py                                             21      0   100%
src/falconpy/exposure_management.py                                       64      0   100%
src/falconpy/faas_execution.py                                            10      0   100%
src/falconpy/falcon_complete_dashboard.py                                117      0   100%
src/falconpy/falcon_container.py                                          85     29    66%
src/falconpy/falconx_sandbox.py                                           98      0   100%
src/falconpy/fdr.py                                                       25      0   100%
src/falconpy/filevantage.py                                              160      0   100%
src/falconpy/firewall_management.py                                      140      0   100%
src/falconpy/firewall_policies.py                                         72      0   100%
src/falconpy/foundry_logscale.py                                         105      0   100%
src/falconpy/host_group.py                                                62      0   100%
src/falconpy/host_migration.py                                            89      0   100%
src/falconpy/hosts.py                                                    122      0   100%
src/falconpy/identity_protection.py                                       52     13    75%
src/falconpy/image_assessment_policies.py                                 64      0   100%
src/falconpy/incidents.py                                                 42      0   100%
src/falconpy/installation_tokens.py                                       44      0   100%
src/falconpy/intel.py                                                    116      7    94%
src/falconpy/intelligence_feeds.py                                        18      0   100%
src/falconpy/intelligence_indicator_graph.py                              24      0   100%
src/falconpy/ioa_exclusions.py                                            34      0   100%
src/falconpy/ioc.py                                                       95      0   100%
src/falconpy/iocs.py                                                      41      0   100%
src/falconpy/it_automation.py                                            188      0   100%
src/falconpy/kubernetes_container_compliance.py                           47      0   100%
src/falconpy/kubernetes_protection.py                                    267      0   100%
src/falconpy/malquery.py                                                  52      0   100%
src/falconpy/message_center.py                                            79      0   100%
src/falconpy/ml_exclusions.py                                             36      0   100%
src/falconpy/mobile_enrollment.py                                         20      0   100%
src/falconpy/mssp.py                                                     175      0   100%
src/falconpy/ngsiem.py                                                   102      0   100%
src/falconpy/oauth2.py                                                    32      1    97%
src/falconpy/ods.py                                                       75      0   100%
src/falconpy/overwatch_dashboard.py                                       32      0   100%
src/falconpy/prevention_policy.py                                         63      0   100%
src/falconpy/quarantine.py                                                47      0   100%
src/falconpy/quick_scan.py                                                28      0   100%
src/falconpy/quick_scan_pro.py                                            46      0   100%
src/falconpy/real_time_response.py                                       129      0   100%
src/falconpy/real_time_response_admin.py                                  88      0   100%
src/falconpy/real_time_response_audit.py                                  11      0   100%
src/falconpy/recon.py                                                    130      0   100%
src/falconpy/report_executions.py                                         25      0   100%
src/falconpy/response_policies.py                                         62      0   100%
src/falconpy/sample_uploads.py                                            94      0   100%
src/falconpy/scheduled_reports.py                                         21      0   100%
src/falconpy/sensor_download.py                                           57      0   100%
src/falconpy/sensor_update_policy.py                                     111      0   100%
src/falconpy/sensor_usage.py                                              10      0   100%
src/falconpy/sensor_visibility_exclusions.py                              32      0   100%
src/falconpy/serverless_vulnerabilities.py                                10      0   100%
src/falconpy/spotlight_evaluation_logic.py                                24      0   100%
src/falconpy/spotlight_vulnerabilities.py                                 32      0   100%
src/falconpy/tailored_intelligence.py                                     42     17    60%
src/falconpy/threatgraph.py                                               30      0   100%
src/falconpy/unidentified_containers.py                                   18      0   100%
src/falconpy/user_management.py                                          152      1    99%
src/falconpy/workflows.py                                                127      0   100%
src/falconpy/zero_trust_assessment.py                                     24      0   100%
------------------------------------------------------------------------------------------
TOTAL                                                                  11299    280    98%

Bandit analysis

Run started:2025-09-04 11:28:45.695356

Test results:
	No issues identified.

Code scanned:
	Total lines of code: 98667
	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

  • Support for the following operations have been added to the Workflows service class.
    • WorkflowDefinitionsStatus

Unit tests have been updated to reflect these additional methods

Other

  • Added WorkflowDefinitionsStatus to PREFER_IDS_IN_BODY in init.py
  • Added WorkflowDefinitionsStatus to wordlist.txt
  • Added WorkflowDefinitionsStatus to _workflows endpoint
  • Imported args_to_params from _util to workflows.py for usage in set_workflow_definition_status()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant