taegis-sdk-python 1.6.14__tar.gz → 1.6.16__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.
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/PKG-INFO +1 -1
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/_version.py +1 -1
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/middlewares/__init__.py +2 -1
- taegis_sdk_python-1.6.16/taegis_sdk_python/middlewares/curl/__init__.py +5 -0
- taegis_sdk_python-1.6.16/taegis_sdk_python/middlewares/curl/_default.py +57 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/__init__.py +18 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/alerts/mutations.py +106 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/alerts/queries.py +158 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/alerts/subscriptions.py +24 -0
- taegis_sdk_python-1.6.16/taegis_sdk_python/services/context_summarizer/__init__.py +30 -0
- taegis_sdk_python-1.6.16/taegis_sdk_python/services/context_summarizer/mutations.py +33 -0
- taegis_sdk_python-1.6.16/taegis_sdk_python/services/context_summarizer/queries.py +212 -0
- taegis_sdk_python-1.6.16/taegis_sdk_python/services/context_summarizer/subscriptions.py +33 -0
- taegis_sdk_python-1.6.16/taegis_sdk_python/services/context_summarizer/types.py +187 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/entity_context/mutations.py +17 -0
- taegis_sdk_python-1.6.16/taegis_sdk_python/services/event_stats/__init__.py +30 -0
- taegis_sdk_python-1.6.16/taegis_sdk_python/services/event_stats/mutations.py +33 -0
- taegis_sdk_python-1.6.16/taegis_sdk_python/services/event_stats/queries.py +51 -0
- taegis_sdk_python-1.6.16/taegis_sdk_python/services/event_stats/subscriptions.py +33 -0
- taegis_sdk_python-1.6.16/taegis_sdk_python/services/event_stats/types.py +56 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/investigations2/types.py +358 -326
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/rules/mutations.py +32 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/rules/types.py +39 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/tenants/mutations.py +1 -1
- taegis_sdk_python-1.6.16/taegis_sdk_python/services/threat_publications/mutations.py +62 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/threat_publications/types.py +21 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/trip/mutations.py +40 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/trip/queries.py +40 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/trip/types.py +78 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/users/types.py +28 -0
- taegis_sdk_python-1.6.14/taegis_sdk_python/services/threat_publications/mutations.py +0 -33
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/.gitignore +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/LICENSE +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/README.md +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/pyproject.toml +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/_consts.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/authentication.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/commons/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/commons/alerts/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/commons/alerts/federated_search.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/commons/alerts/search.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/commons/cases/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/commons/cases/federated_search.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/commons/cases/search.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/commons/events/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/commons/events/search.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/commons/investigations/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/commons/investigations/federated_search.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/commons/investigations/search.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/commons/sharelinks/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/commons/sharelinks/create.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/commons/sharelinks/unfurl.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/config.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/errors.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/middlewares/logging/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/middlewares/logging/_default.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/middlewares/retry/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/middlewares/retry/_default.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/middlewares/utils.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/service_core.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/access_points/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/access_points/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/access_points/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/access_points/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/access_points/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/agent/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/agent/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/agent/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/agent/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/agent/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/alerts/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/alerts/types.py +820 -820
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/alerts_history/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/alerts_history/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/alerts_history/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/alerts_history/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/alerts_history/types.py +198 -198
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/assets/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/assets/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/assets/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/assets/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/assets/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/assets2/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/assets2/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/assets2/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/assets2/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/assets2/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/audits/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/audits/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/audits/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/audits/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/audits/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/authz/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/authz/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/authz/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/authz/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/authz/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/byoti/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/byoti/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/byoti/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/byoti/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/byoti/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/clients/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/clients/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/clients/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/clients/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/clients/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/collector/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/collector/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/collector/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/collector/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/collector/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/comments/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/comments/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/comments/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/comments/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/comments/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/contracted_endpoint/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/contracted_endpoint/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/contracted_endpoint/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/contracted_endpoint/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/contracted_endpoint/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/cql_metadata/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/cql_metadata/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/cql_metadata/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/cql_metadata/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/cql_metadata/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/datasources/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/datasources/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/datasources/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/datasources/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/datasources/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/detector_registry/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/detector_registry/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/detector_registry/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/detector_registry/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/detector_registry/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/endpoint_command_manager/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/endpoint_command_manager/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/endpoint_command_manager/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/endpoint_command_manager/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/endpoint_command_manager/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/endpoint_management_service/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/endpoint_management_service/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/endpoint_management_service/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/endpoint_management_service/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/endpoint_management_service/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/entity_context/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/entity_context/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/entity_context/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/entity_context/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/escalation_policies/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/escalation_policies/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/escalation_policies/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/escalation_policies/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/escalation_policies/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/event_search/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/event_search/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/event_search/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/event_search/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/event_search/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/events/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/events/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/events/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/events/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/events/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/exports/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/exports/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/exports/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/exports/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/exports/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/fast_ioc/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/fast_ioc/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/fast_ioc/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/fast_ioc/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/fast_ioc/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/file_info/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/file_info/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/file_info/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/file_info/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/file_info/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/ingest_stats/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/ingest_stats/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/ingest_stats/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/ingest_stats/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/ingest_stats/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/investigations/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/investigations/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/investigations/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/investigations/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/investigations/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/investigations2/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/investigations2/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/investigations2/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/investigations2/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/isensor/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/isensor/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/isensor/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/isensor/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/isensor/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/llm_service/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/llm_service/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/llm_service/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/llm_service/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/llm_service/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/mitre_attack_info/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/mitre_attack_info/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/mitre_attack_info/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/mitre_attack_info/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/mitre_attack_info/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/multi_tenant_context/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/multi_tenant_context/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/multi_tenant_context/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/multi_tenant_context/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/multi_tenant_context/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/multi_tenant_ioc/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/multi_tenant_ioc/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/multi_tenant_ioc/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/multi_tenant_ioc/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/multi_tenant_ioc/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/nl_search/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/nl_search/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/nl_search/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/nl_search/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/nl_search/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/notebooks/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/notebooks/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/notebooks/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/notebooks/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/notebooks/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/notifications/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/notifications/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/notifications/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/notifications/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/notifications/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/notifications2/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/notifications2/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/notifications2/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/notifications2/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/notifications2/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/preferences/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/preferences/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/preferences/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/preferences/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/preferences/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/process_trees/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/process_trees/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/process_trees/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/process_trees/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/process_trees/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/ql_schemas/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/ql_schemas/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/ql_schemas/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/ql_schemas/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/ql_schemas/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/queries/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/queries/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/queries/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/queries/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/queries/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/roadrunner/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/roadrunner/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/roadrunner/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/roadrunner/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/roadrunner/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/rules/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/rules/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/rules/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/sharelinks/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/sharelinks/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/sharelinks/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/sharelinks/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/sharelinks/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/subjects/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/subjects/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/subjects/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/subjects/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/subjects/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/tenant_profiles/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/tenant_profiles/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/tenant_profiles/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/tenant_profiles/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/tenant_profiles/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/tenants/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/tenants/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/tenants/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/tenants/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/tenants4/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/tenants4/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/tenants4/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/tenants4/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/tenants4/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/threat/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/threat/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/threat/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/threat/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/threat/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/threat_publications/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/threat_publications/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/threat_publications/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/threat_score/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/threat_score/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/threat_score/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/threat_score/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/threat_score/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/trigger_action/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/trigger_action/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/trigger_action/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/trigger_action/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/trigger_action/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/trip/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/trip/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/users/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/users/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/users/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/users/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/vdr/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/vdr/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/vdr/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/vdr/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/vdr/types.py +190 -190
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/xdr_central_connector/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/xdr_central_connector/mutations.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/xdr_central_connector/queries.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/xdr_central_connector/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/xdr_central_connector/types.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/templates/__init__.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/templates/_jinja2.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/tokens.py +0 -0
- {taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: taegis-sdk-python
|
|
3
|
-
Version: 1.6.
|
|
3
|
+
Version: 1.6.16
|
|
4
4
|
Summary: Taegis Python SDK
|
|
5
5
|
Project-URL: Homepage, https://github.com/secureworks/taegis-sdk-python
|
|
6
6
|
Project-URL: Bug Reports, https://github.com/secureworks/taegis-sdk-python/issues
|
{taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/middlewares/__init__.py
RENAMED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""Taegis SDK Middlewares."""
|
|
2
2
|
|
|
3
|
+
from taegis_sdk_python.middlewares.curl import to_curl
|
|
3
4
|
from taegis_sdk_python.middlewares.logging import headers_logging_middleware
|
|
4
5
|
from taegis_sdk_python.middlewares.retry import retry_middleware
|
|
5
6
|
|
|
6
|
-
__all__ = ["headers_logging_middleware", "retry_middleware"]
|
|
7
|
+
__all__ = ["headers_logging_middleware", "retry_middleware", "to_curl"]
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"""Logs a curl command representation that makes the same HTTP request as the provided request"""
|
|
2
|
+
|
|
3
|
+
import logging
|
|
4
|
+
from shlex import quote
|
|
5
|
+
|
|
6
|
+
from aiohttp import BytesPayload, ClientHandlerType, ClientRequest, ClientResponse
|
|
7
|
+
|
|
8
|
+
from taegis_sdk_python.middlewares.utils import scrub_dict
|
|
9
|
+
|
|
10
|
+
log = logging.getLogger(__name__)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
async def to_curl(request: ClientRequest, handler: ClientHandlerType) -> ClientResponse:
|
|
14
|
+
"""
|
|
15
|
+
Logs a curl command representation that makes the same HTTP request as
|
|
16
|
+
the provided request object.
|
|
17
|
+
"""
|
|
18
|
+
command = []
|
|
19
|
+
|
|
20
|
+
inferred_method = "GET"
|
|
21
|
+
if request.body is not None:
|
|
22
|
+
inferred_method = "POST"
|
|
23
|
+
if request.method != inferred_method:
|
|
24
|
+
command.append("-X " + quote(request.method))
|
|
25
|
+
|
|
26
|
+
headers = scrub_dict(request.headers)
|
|
27
|
+
|
|
28
|
+
for k, v in headers.items():
|
|
29
|
+
if v:
|
|
30
|
+
command.append("-H " + quote(f"{k}: {v}"))
|
|
31
|
+
else:
|
|
32
|
+
# -H 'Accept:' disables sending the Accept header, use semicolon to send
|
|
33
|
+
# empty header
|
|
34
|
+
command.append("-H " + quote(f"{k};"))
|
|
35
|
+
|
|
36
|
+
if body := request.body:
|
|
37
|
+
if isinstance(body, (bytes, BytesPayload)):
|
|
38
|
+
body = body.decode("utf-8")
|
|
39
|
+
else:
|
|
40
|
+
log.error(
|
|
41
|
+
f"Unsupported body type for curl middleware: {type(body)}, request.body must be bytes or BytesPayload"
|
|
42
|
+
)
|
|
43
|
+
return await handler(request)
|
|
44
|
+
|
|
45
|
+
data_type = "-d"
|
|
46
|
+
if body.startswith("@"): # -d @filename causes curl to read from file
|
|
47
|
+
data_type = "--data-raw"
|
|
48
|
+
command.append(data_type + " " + quote(body))
|
|
49
|
+
|
|
50
|
+
command.append(quote(str(request.url)))
|
|
51
|
+
|
|
52
|
+
joiner = " "
|
|
53
|
+
if len(command) > 3:
|
|
54
|
+
joiner = " \\\n "
|
|
55
|
+
log.info(f"curl {joiner.join(command)}")
|
|
56
|
+
|
|
57
|
+
return await handler(request)
|
{taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/__init__.py
RENAMED
|
@@ -34,6 +34,7 @@ from taegis_sdk_python.services.byoti import ByotiService
|
|
|
34
34
|
from taegis_sdk_python.services.clients import ClientsService
|
|
35
35
|
from taegis_sdk_python.services.collector import CollectorService
|
|
36
36
|
from taegis_sdk_python.services.comments import CommentsService
|
|
37
|
+
from taegis_sdk_python.services.context_summarizer import ContextSummarizerService
|
|
37
38
|
from taegis_sdk_python.services.contracted_endpoint import ContractedEndpointService
|
|
38
39
|
from taegis_sdk_python.services.cql_metadata import CqlMetadataService
|
|
39
40
|
from taegis_sdk_python.services.datasources import DatasourcesService
|
|
@@ -47,6 +48,7 @@ from taegis_sdk_python.services.endpoint_management_service import (
|
|
|
47
48
|
from taegis_sdk_python.services.entity_context import EntityContextService
|
|
48
49
|
from taegis_sdk_python.services.escalation_policies import EscalationPoliciesService
|
|
49
50
|
from taegis_sdk_python.services.event_search import EventSearchService
|
|
51
|
+
from taegis_sdk_python.services.event_stats import EventStatsService
|
|
50
52
|
from taegis_sdk_python.services.events import EventsService
|
|
51
53
|
from taegis_sdk_python.services.exports import ExportsService
|
|
52
54
|
from taegis_sdk_python.services.fast_ioc import FastIocService
|
|
@@ -204,6 +206,7 @@ class GraphQLService:
|
|
|
204
206
|
self._clients = None
|
|
205
207
|
self._collector = None
|
|
206
208
|
self._comments = None
|
|
209
|
+
self._context_summarizer = None
|
|
207
210
|
self._contracted_endpoint = None
|
|
208
211
|
self._cql_metadata = None
|
|
209
212
|
self._datasources = None
|
|
@@ -212,6 +215,7 @@ class GraphQLService:
|
|
|
212
215
|
self._endpoint_management_service = None
|
|
213
216
|
self._entity_context = None
|
|
214
217
|
self._event_search = None
|
|
218
|
+
self._event_stats = None
|
|
215
219
|
self._escalation_policies = None
|
|
216
220
|
self._events = None
|
|
217
221
|
self._exports = None
|
|
@@ -584,6 +588,13 @@ class GraphQLService:
|
|
|
584
588
|
self._comments = CommentsService(self)
|
|
585
589
|
return self._comments
|
|
586
590
|
|
|
591
|
+
@property
|
|
592
|
+
def context_summarizer(self):
|
|
593
|
+
"""Context Summarizer Service Endpoint."""
|
|
594
|
+
if not self._context_summarizer:
|
|
595
|
+
self._context_summarizer = ContextSummarizerService(self)
|
|
596
|
+
return self._context_summarizer
|
|
597
|
+
|
|
587
598
|
@property
|
|
588
599
|
def contracted_endpoint(self):
|
|
589
600
|
"""ContractedEndpoint Service Endpoint."""
|
|
@@ -647,6 +658,13 @@ class GraphQLService:
|
|
|
647
658
|
self._event_search = EventSearchService(self)
|
|
648
659
|
return self._event_search
|
|
649
660
|
|
|
661
|
+
@property
|
|
662
|
+
def event_stats(self):
|
|
663
|
+
"""EventStats Service Endpoint."""
|
|
664
|
+
if not self._event_stats:
|
|
665
|
+
self._event_stats = EventStatsService(self)
|
|
666
|
+
return self._event_stats
|
|
667
|
+
|
|
650
668
|
@property
|
|
651
669
|
def events(self):
|
|
652
670
|
"""Events Service Endpoint."""
|
{taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/alerts/mutations.py
RENAMED
|
@@ -165,3 +165,109 @@ class TaegisSDKAlertsMutation:
|
|
|
165
165
|
raise GraphQLNoRowsInResultSetError(
|
|
166
166
|
"for mutation alertsServiceUpdateThreatScoreV2"
|
|
167
167
|
)
|
|
168
|
+
|
|
169
|
+
def detection_update_investigation_info(
|
|
170
|
+
self, in_: Optional[UpdateInvestigationRequestInput] = None
|
|
171
|
+
) -> UpdateInvestigationResponse:
|
|
172
|
+
"""No developer notes."""
|
|
173
|
+
endpoint = "detectionUpdateInvestigationInfo"
|
|
174
|
+
|
|
175
|
+
result = self.service.execute_mutation(
|
|
176
|
+
endpoint=endpoint,
|
|
177
|
+
variables={
|
|
178
|
+
"in": prepare_input(in_),
|
|
179
|
+
},
|
|
180
|
+
output=build_output_string(
|
|
181
|
+
UpdateInvestigationResponse,
|
|
182
|
+
exclude_deprecated_output=self.service.exclude_deprecated_output,
|
|
183
|
+
),
|
|
184
|
+
)
|
|
185
|
+
if result.get(endpoint) is not None:
|
|
186
|
+
return UpdateInvestigationResponse.from_dict(result.get(endpoint))
|
|
187
|
+
raise GraphQLNoRowsInResultSetError(
|
|
188
|
+
"for mutation detectionUpdateInvestigationInfo"
|
|
189
|
+
)
|
|
190
|
+
|
|
191
|
+
def detection_update_resolution_info(
|
|
192
|
+
self, in_: Optional[UpdateResolutionRequestInput] = None
|
|
193
|
+
) -> UpdateResolutionResponse:
|
|
194
|
+
"""Add a resolution or modify an existing resolution for a give list of alert IDs."""
|
|
195
|
+
endpoint = "detectionUpdateResolutionInfo"
|
|
196
|
+
|
|
197
|
+
result = self.service.execute_mutation(
|
|
198
|
+
endpoint=endpoint,
|
|
199
|
+
variables={
|
|
200
|
+
"in": prepare_input(in_),
|
|
201
|
+
},
|
|
202
|
+
output=build_output_string(
|
|
203
|
+
UpdateResolutionResponse,
|
|
204
|
+
exclude_deprecated_output=self.service.exclude_deprecated_output,
|
|
205
|
+
),
|
|
206
|
+
)
|
|
207
|
+
if result.get(endpoint) is not None:
|
|
208
|
+
return UpdateResolutionResponse.from_dict(result.get(endpoint))
|
|
209
|
+
raise GraphQLNoRowsInResultSetError(
|
|
210
|
+
"for mutation detectionUpdateResolutionInfo"
|
|
211
|
+
)
|
|
212
|
+
|
|
213
|
+
def detection_bulk_investigations_processor(
|
|
214
|
+
self, in_: Optional[BulkInvestigationsRequestInput] = None
|
|
215
|
+
) -> BulkInvestigationsResponse:
|
|
216
|
+
"""Bulk add alerts to an existing investigation by providing either a query or list of alert IDs. If a query is provided, then all alerts matching the query will be added to the investigation."""
|
|
217
|
+
endpoint = "detectionBulkInvestigationsProcessor"
|
|
218
|
+
|
|
219
|
+
result = self.service.execute_mutation(
|
|
220
|
+
endpoint=endpoint,
|
|
221
|
+
variables={
|
|
222
|
+
"in": prepare_input(in_),
|
|
223
|
+
},
|
|
224
|
+
output=build_output_string(
|
|
225
|
+
BulkInvestigationsResponse,
|
|
226
|
+
exclude_deprecated_output=self.service.exclude_deprecated_output,
|
|
227
|
+
),
|
|
228
|
+
)
|
|
229
|
+
if result.get(endpoint) is not None:
|
|
230
|
+
return BulkInvestigationsResponse.from_dict(result.get(endpoint))
|
|
231
|
+
raise GraphQLNoRowsInResultSetError(
|
|
232
|
+
"for mutation detectionBulkInvestigationsProcessor"
|
|
233
|
+
)
|
|
234
|
+
|
|
235
|
+
def detection_update_threat_score(
|
|
236
|
+
self, in_: UpdateThreatScoreRequestInput
|
|
237
|
+
) -> UpdateThreatScoreResponse:
|
|
238
|
+
"""Update threat score for a given list of alert IDs."""
|
|
239
|
+
endpoint = "detectionUpdateThreatScore"
|
|
240
|
+
|
|
241
|
+
result = self.service.execute_mutation(
|
|
242
|
+
endpoint=endpoint,
|
|
243
|
+
variables={
|
|
244
|
+
"in": prepare_input(in_),
|
|
245
|
+
},
|
|
246
|
+
output=build_output_string(
|
|
247
|
+
UpdateThreatScoreResponse,
|
|
248
|
+
exclude_deprecated_output=self.service.exclude_deprecated_output,
|
|
249
|
+
),
|
|
250
|
+
)
|
|
251
|
+
if result.get(endpoint) is not None:
|
|
252
|
+
return UpdateThreatScoreResponse.from_dict(result.get(endpoint))
|
|
253
|
+
raise GraphQLNoRowsInResultSetError("for mutation detectionUpdateThreatScore")
|
|
254
|
+
|
|
255
|
+
def detection_update_threat_score_v2(
|
|
256
|
+
self, in_: UpdateThreatScoreV2RequestInput
|
|
257
|
+
) -> UpdateThreatScoreResponse:
|
|
258
|
+
"""Update threat score v2 for a given list of alert IDs."""
|
|
259
|
+
endpoint = "detectionUpdateThreatScoreV2"
|
|
260
|
+
|
|
261
|
+
result = self.service.execute_mutation(
|
|
262
|
+
endpoint=endpoint,
|
|
263
|
+
variables={
|
|
264
|
+
"in": prepare_input(in_),
|
|
265
|
+
},
|
|
266
|
+
output=build_output_string(
|
|
267
|
+
UpdateThreatScoreResponse,
|
|
268
|
+
exclude_deprecated_output=self.service.exclude_deprecated_output,
|
|
269
|
+
),
|
|
270
|
+
)
|
|
271
|
+
if result.get(endpoint) is not None:
|
|
272
|
+
return UpdateThreatScoreResponse.from_dict(result.get(endpoint))
|
|
273
|
+
raise GraphQLNoRowsInResultSetError("for mutation detectionUpdateThreatScoreV2")
|
{taegis_sdk_python-1.6.14 → taegis_sdk_python-1.6.16}/taegis_sdk_python/services/alerts/queries.py
RENAMED
|
@@ -199,3 +199,161 @@ class TaegisSDKAlertsQuery:
|
|
|
199
199
|
raise GraphQLNoRowsInResultSetError(
|
|
200
200
|
"for query alertsServiceAggregateAlertsBySeverity"
|
|
201
201
|
)
|
|
202
|
+
|
|
203
|
+
def detection_retrieve_by_id(
|
|
204
|
+
self, in_: Optional[GetByIDRequestInput] = None
|
|
205
|
+
) -> AlertsResponse:
|
|
206
|
+
"""Provide a list of Alert IDs to retrieve each alert's detail."""
|
|
207
|
+
endpoint = "detectionRetrieveById"
|
|
208
|
+
|
|
209
|
+
result = self.service.execute_query(
|
|
210
|
+
endpoint=endpoint,
|
|
211
|
+
variables={
|
|
212
|
+
"in": prepare_input(in_),
|
|
213
|
+
},
|
|
214
|
+
output=build_output_string(
|
|
215
|
+
AlertsResponse,
|
|
216
|
+
exclude_deprecated_output=self.service.exclude_deprecated_output,
|
|
217
|
+
),
|
|
218
|
+
)
|
|
219
|
+
if result.get(endpoint) is not None:
|
|
220
|
+
return AlertsResponse.from_dict(result.get(endpoint))
|
|
221
|
+
raise GraphQLNoRowsInResultSetError("for query detectionRetrieveById")
|
|
222
|
+
|
|
223
|
+
def detection_retrieve_by_host(
|
|
224
|
+
self, in_: Optional[GetByIDRequestInput] = None
|
|
225
|
+
) -> AlertsResponse:
|
|
226
|
+
"""Provide a list of Host IDs to retrieve alert details about each alert that contains those hosts."""
|
|
227
|
+
endpoint = "detectionRetrieveByHost"
|
|
228
|
+
|
|
229
|
+
result = self.service.execute_query(
|
|
230
|
+
endpoint=endpoint,
|
|
231
|
+
variables={
|
|
232
|
+
"in": prepare_input(in_),
|
|
233
|
+
},
|
|
234
|
+
output=build_output_string(
|
|
235
|
+
AlertsResponse,
|
|
236
|
+
exclude_deprecated_output=self.service.exclude_deprecated_output,
|
|
237
|
+
),
|
|
238
|
+
)
|
|
239
|
+
if result.get(endpoint) is not None:
|
|
240
|
+
return AlertsResponse.from_dict(result.get(endpoint))
|
|
241
|
+
raise GraphQLNoRowsInResultSetError("for query detectionRetrieveByHost")
|
|
242
|
+
|
|
243
|
+
def detection_retrieve_by_entity(
|
|
244
|
+
self, in_: Optional[GetByIDRequestInput] = None
|
|
245
|
+
) -> AlertsResponse:
|
|
246
|
+
"""Provide a list of entities to retrieve alert details about each alert that contains those entities."""
|
|
247
|
+
endpoint = "detectionRetrieveByEntity"
|
|
248
|
+
|
|
249
|
+
result = self.service.execute_query(
|
|
250
|
+
endpoint=endpoint,
|
|
251
|
+
variables={
|
|
252
|
+
"in": prepare_input(in_),
|
|
253
|
+
},
|
|
254
|
+
output=build_output_string(
|
|
255
|
+
AlertsResponse,
|
|
256
|
+
exclude_deprecated_output=self.service.exclude_deprecated_output,
|
|
257
|
+
),
|
|
258
|
+
)
|
|
259
|
+
if result.get(endpoint) is not None:
|
|
260
|
+
return AlertsResponse.from_dict(result.get(endpoint))
|
|
261
|
+
raise GraphQLNoRowsInResultSetError("for query detectionRetrieveByEntity")
|
|
262
|
+
|
|
263
|
+
def detection_retrieve_by_group_key(
|
|
264
|
+
self, in_: Optional[GetByIDRequestInput] = None
|
|
265
|
+
) -> AlertsResponse:
|
|
266
|
+
"""Provide a list of entities to retrieve alert details about each alert that contains the group_key. This is used by the service to aid in alert deduplication. This would not commonly be used by a tenant of XDR."""
|
|
267
|
+
endpoint = "detectionRetrieveByGroupKey"
|
|
268
|
+
|
|
269
|
+
result = self.service.execute_query(
|
|
270
|
+
endpoint=endpoint,
|
|
271
|
+
variables={
|
|
272
|
+
"in": prepare_input(in_),
|
|
273
|
+
},
|
|
274
|
+
output=build_output_string(
|
|
275
|
+
AlertsResponse,
|
|
276
|
+
exclude_deprecated_output=self.service.exclude_deprecated_output,
|
|
277
|
+
),
|
|
278
|
+
)
|
|
279
|
+
if result.get(endpoint) is not None:
|
|
280
|
+
return AlertsResponse.from_dict(result.get(endpoint))
|
|
281
|
+
raise GraphQLNoRowsInResultSetError("for query detectionRetrieveByGroupKey")
|
|
282
|
+
|
|
283
|
+
def detection_count_by_tenant(
|
|
284
|
+
self, in_: AlertsCountByTenantInput
|
|
285
|
+
) -> AlertsCountByTenantResponse:
|
|
286
|
+
"""Returns the count of alerts per tenant. Allows a CQL query, but any aggregation or pipe will be ignored."""
|
|
287
|
+
endpoint = "detectionCountByTenant"
|
|
288
|
+
|
|
289
|
+
result = self.service.execute_query(
|
|
290
|
+
endpoint=endpoint,
|
|
291
|
+
variables={
|
|
292
|
+
"in": prepare_input(in_),
|
|
293
|
+
},
|
|
294
|
+
output=build_output_string(
|
|
295
|
+
AlertsCountByTenantResponse,
|
|
296
|
+
exclude_deprecated_output=self.service.exclude_deprecated_output,
|
|
297
|
+
),
|
|
298
|
+
)
|
|
299
|
+
if result.get(endpoint) is not None:
|
|
300
|
+
return AlertsCountByTenantResponse.from_dict(result.get(endpoint))
|
|
301
|
+
raise GraphQLNoRowsInResultSetError("for query detectionCountByTenant")
|
|
302
|
+
|
|
303
|
+
def detection_search(
|
|
304
|
+
self, in_: Optional[SearchRequestInput] = None
|
|
305
|
+
) -> AlertsResponse:
|
|
306
|
+
"""Search alerts using Query Language. This is the same query language provided in Advanced Search page in Taegis XDR."""
|
|
307
|
+
endpoint = "detectionSearch"
|
|
308
|
+
|
|
309
|
+
result = self.service.execute_query(
|
|
310
|
+
endpoint=endpoint,
|
|
311
|
+
variables={
|
|
312
|
+
"in": prepare_input(in_),
|
|
313
|
+
},
|
|
314
|
+
output=build_output_string(
|
|
315
|
+
AlertsResponse,
|
|
316
|
+
exclude_deprecated_output=self.service.exclude_deprecated_output,
|
|
317
|
+
),
|
|
318
|
+
)
|
|
319
|
+
if result.get(endpoint) is not None:
|
|
320
|
+
return AlertsResponse.from_dict(result.get(endpoint))
|
|
321
|
+
raise GraphQLNoRowsInResultSetError("for query detectionSearch")
|
|
322
|
+
|
|
323
|
+
def detection_poll(self, in_: Optional[PollRequestInput] = None) -> AlertsResponse:
|
|
324
|
+
"""Poll for results for a specific `search_id`."""
|
|
325
|
+
endpoint = "detectionPoll"
|
|
326
|
+
|
|
327
|
+
result = self.service.execute_query(
|
|
328
|
+
endpoint=endpoint,
|
|
329
|
+
variables={
|
|
330
|
+
"in": prepare_input(in_),
|
|
331
|
+
},
|
|
332
|
+
output=build_output_string(
|
|
333
|
+
AlertsResponse,
|
|
334
|
+
exclude_deprecated_output=self.service.exclude_deprecated_output,
|
|
335
|
+
),
|
|
336
|
+
)
|
|
337
|
+
if result.get(endpoint) is not None:
|
|
338
|
+
return AlertsResponse.from_dict(result.get(endpoint))
|
|
339
|
+
raise GraphQLNoRowsInResultSetError("for query detectionPoll")
|
|
340
|
+
|
|
341
|
+
def detection_aggregates_by_severity(
|
|
342
|
+
self, in_: Optional[AggregateAlertsBySeverityInputInput] = None
|
|
343
|
+
) -> AlertsAggregateResponse:
|
|
344
|
+
"""Pull alert severity aggregates based on `group_by` parameters: domain, watchlist, hostname, detector, user."""
|
|
345
|
+
endpoint = "detectionAggregatesBySeverity"
|
|
346
|
+
|
|
347
|
+
result = self.service.execute_query(
|
|
348
|
+
endpoint=endpoint,
|
|
349
|
+
variables={
|
|
350
|
+
"in": prepare_input(in_),
|
|
351
|
+
},
|
|
352
|
+
output=build_output_string(
|
|
353
|
+
AlertsAggregateResponse,
|
|
354
|
+
exclude_deprecated_output=self.service.exclude_deprecated_output,
|
|
355
|
+
),
|
|
356
|
+
)
|
|
357
|
+
if result.get(endpoint) is not None:
|
|
358
|
+
return AlertsAggregateResponse.from_dict(result.get(endpoint))
|
|
359
|
+
raise GraphQLNoRowsInResultSetError("for query detectionAggregatesBySeverity")
|
|
@@ -55,3 +55,27 @@ class TaegisSDKAlertsSubscription:
|
|
|
55
55
|
raise GraphQLNoRowsInResultSetError(
|
|
56
56
|
"for subscription alertsServiceBulkResolutionProcessor"
|
|
57
57
|
)
|
|
58
|
+
|
|
59
|
+
def detection_bulk_resolution_processor(
|
|
60
|
+
self, in_: Optional[BulkResolutionRequestInput] = None
|
|
61
|
+
) -> List[BulkResolutionResponse]:
|
|
62
|
+
"""Add a resolution or modify an existing resolution for multiple alerts selected with a CQL query."""
|
|
63
|
+
endpoint = "detectionBulkResolutionProcessor"
|
|
64
|
+
|
|
65
|
+
result = self.service.execute_subscription(
|
|
66
|
+
endpoint=endpoint,
|
|
67
|
+
variables={
|
|
68
|
+
"in": prepare_input(in_),
|
|
69
|
+
},
|
|
70
|
+
output=build_output_string(
|
|
71
|
+
BulkResolutionResponse,
|
|
72
|
+
exclude_deprecated_output=self.service.exclude_deprecated_output,
|
|
73
|
+
),
|
|
74
|
+
)
|
|
75
|
+
if any(r.get(endpoint) for r in result):
|
|
76
|
+
return BulkResolutionResponse.schema().load(
|
|
77
|
+
[r.get(endpoint, {}) or {} for r in result], many=True
|
|
78
|
+
)
|
|
79
|
+
raise GraphQLNoRowsInResultSetError(
|
|
80
|
+
"for subscription detectionBulkResolutionProcessor"
|
|
81
|
+
)
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"""ContextSummarizer Service."""
|
|
2
|
+
|
|
3
|
+
from taegis_sdk_python.service_core import ServiceCore
|
|
4
|
+
from taegis_sdk_python.services.context_summarizer.mutations import TaegisSDKContextSummarizerMutation
|
|
5
|
+
from taegis_sdk_python.services.context_summarizer.queries import TaegisSDKContextSummarizerQuery
|
|
6
|
+
from taegis_sdk_python.services.context_summarizer.subscriptions import (
|
|
7
|
+
TaegisSDKContextSummarizerSubscription,
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class ContextSummarizerService(ServiceCore):
|
|
12
|
+
"""Taegis ContextSummarizer Service."""
|
|
13
|
+
|
|
14
|
+
@property
|
|
15
|
+
def query(self):
|
|
16
|
+
if not self._queries:
|
|
17
|
+
self._queries = TaegisSDKContextSummarizerQuery(self)
|
|
18
|
+
return self._queries
|
|
19
|
+
|
|
20
|
+
@property
|
|
21
|
+
def mutation(self):
|
|
22
|
+
if not self._mutations:
|
|
23
|
+
self._mutations = TaegisSDKContextSummarizerMutation(self)
|
|
24
|
+
return self._mutations
|
|
25
|
+
|
|
26
|
+
@property
|
|
27
|
+
def subscription(self):
|
|
28
|
+
if not self._subscriptions:
|
|
29
|
+
self._subscriptions = TaegisSDKContextSummarizerSubscription(self)
|
|
30
|
+
return self._subscriptions
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"""ContextSummarizer Mutation."""
|
|
2
|
+
|
|
3
|
+
# pylint: disable=no-member, unused-argument, too-many-locals, duplicate-code, wildcard-import, unused-wildcard-import, cyclic-import
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
# Autogenerated
|
|
7
|
+
# DO NOT MODIFY
|
|
8
|
+
|
|
9
|
+
from __future__ import annotations
|
|
10
|
+
|
|
11
|
+
import logging
|
|
12
|
+
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union
|
|
13
|
+
|
|
14
|
+
from taegis_sdk_python import GraphQLNoRowsInResultSetError
|
|
15
|
+
from taegis_sdk_python._consts import TaegisEnum
|
|
16
|
+
from taegis_sdk_python.services.context_summarizer.types import *
|
|
17
|
+
from taegis_sdk_python.utils import (
|
|
18
|
+
build_output_string,
|
|
19
|
+
parse_union_result,
|
|
20
|
+
prepare_input,
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
if TYPE_CHECKING: # pragma: no cover
|
|
24
|
+
from taegis_sdk_python.services.context_summarizer import ContextSummarizerService
|
|
25
|
+
|
|
26
|
+
log = logging.getLogger(__name__)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class TaegisSDKContextSummarizerMutation:
|
|
30
|
+
"""Taegis Context_summarizer Mutation operations."""
|
|
31
|
+
|
|
32
|
+
def __init__(self, service: ContextSummarizerService):
|
|
33
|
+
self.service = service
|