taegis-sdk-python 1.6.16__tar.gz → 1.6.18__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.16 → taegis_sdk_python-1.6.18}/PKG-INFO +1 -1
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/_version.py +1 -1
- taegis_sdk_python-1.6.18/taegis_sdk_python/commons/__init__.py +33 -0
- taegis_sdk_python-1.6.18/taegis_sdk_python/commons/_introspection.py +122 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/__init__.py +9 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/alerts/types.py +2 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/assets2/types.py +20 -2
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/context_summarizer/__init__.py +6 -2
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/contracted_endpoint/queries.py +4 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/event_stats/queries.py +4 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/events/types.py +3 -0
- taegis_sdk_python-1.6.18/taegis_sdk_python/services/health/__init__.py +35 -0
- taegis_sdk_python-1.6.18/taegis_sdk_python/services/health/mutations.py +54 -0
- taegis_sdk_python-1.6.18/taegis_sdk_python/services/health/queries.py +111 -0
- taegis_sdk_python-1.6.18/taegis_sdk_python/services/health/subscriptions.py +33 -0
- taegis_sdk_python-1.6.18/taegis_sdk_python/services/health/types.py +174 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/investigations2/types.py +63 -57
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/process_trees/queries.py +6 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/tenants4/mutations.py +18 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/tenants4/types.py +63 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/threat/types.py +10 -6
- taegis_sdk_python-1.6.18/taegis_sdk_python/services/threat_context/__init__.py +34 -0
- taegis_sdk_python-1.6.18/taegis_sdk_python/services/threat_context/mutations.py +55 -0
- taegis_sdk_python-1.6.18/taegis_sdk_python/services/threat_context/queries.py +157 -0
- taegis_sdk_python-1.6.18/taegis_sdk_python/services/threat_context/subscriptions.py +33 -0
- taegis_sdk_python-1.6.18/taegis_sdk_python/services/threat_context/types.py +2570 -0
- taegis_sdk_python-1.6.16/taegis_sdk_python/commons/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/.gitignore +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/LICENSE +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/README.md +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/pyproject.toml +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/_consts.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/authentication.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/commons/alerts/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/commons/alerts/federated_search.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/commons/alerts/search.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/commons/cases/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/commons/cases/federated_search.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/commons/cases/search.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/commons/events/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/commons/events/search.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/commons/investigations/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/commons/investigations/federated_search.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/commons/investigations/search.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/commons/sharelinks/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/commons/sharelinks/create.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/commons/sharelinks/unfurl.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/config.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/errors.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/middlewares/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/middlewares/curl/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/middlewares/curl/_default.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/middlewares/logging/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/middlewares/logging/_default.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/middlewares/retry/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/middlewares/retry/_default.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/middlewares/utils.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/service_core.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/access_points/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/access_points/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/access_points/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/access_points/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/access_points/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/agent/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/agent/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/agent/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/agent/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/agent/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/alerts/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/alerts/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/alerts/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/alerts/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/alerts_history/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/alerts_history/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/alerts_history/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/alerts_history/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/alerts_history/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/assets/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/assets/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/assets/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/assets/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/assets/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/assets2/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/assets2/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/assets2/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/assets2/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/audits/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/audits/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/audits/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/audits/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/audits/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/authz/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/authz/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/authz/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/authz/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/authz/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/byoti/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/byoti/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/byoti/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/byoti/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/byoti/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/clients/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/clients/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/clients/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/clients/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/clients/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/collector/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/collector/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/collector/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/collector/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/collector/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/comments/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/comments/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/comments/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/comments/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/comments/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/context_summarizer/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/context_summarizer/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/context_summarizer/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/context_summarizer/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/contracted_endpoint/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/contracted_endpoint/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/contracted_endpoint/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/contracted_endpoint/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/cql_metadata/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/cql_metadata/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/cql_metadata/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/cql_metadata/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/cql_metadata/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/datasources/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/datasources/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/datasources/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/datasources/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/datasources/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/detector_registry/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/detector_registry/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/detector_registry/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/detector_registry/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/detector_registry/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/endpoint_command_manager/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/endpoint_command_manager/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/endpoint_command_manager/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/endpoint_command_manager/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/endpoint_command_manager/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/endpoint_management_service/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/endpoint_management_service/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/endpoint_management_service/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/endpoint_management_service/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/endpoint_management_service/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/entity_context/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/entity_context/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/entity_context/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/entity_context/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/entity_context/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/escalation_policies/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/escalation_policies/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/escalation_policies/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/escalation_policies/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/escalation_policies/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/event_search/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/event_search/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/event_search/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/event_search/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/event_search/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/event_stats/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/event_stats/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/event_stats/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/event_stats/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/events/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/events/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/events/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/events/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/exports/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/exports/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/exports/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/exports/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/exports/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/fast_ioc/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/fast_ioc/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/fast_ioc/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/fast_ioc/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/fast_ioc/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/file_info/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/file_info/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/file_info/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/file_info/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/file_info/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/ingest_stats/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/ingest_stats/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/ingest_stats/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/ingest_stats/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/ingest_stats/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/investigations/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/investigations/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/investigations/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/investigations/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/investigations/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/investigations2/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/investigations2/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/investigations2/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/investigations2/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/isensor/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/isensor/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/isensor/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/isensor/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/isensor/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/llm_service/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/llm_service/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/llm_service/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/llm_service/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/llm_service/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/mitre_attack_info/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/mitre_attack_info/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/mitre_attack_info/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/mitre_attack_info/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/mitre_attack_info/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/multi_tenant_context/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/multi_tenant_context/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/multi_tenant_context/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/multi_tenant_context/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/multi_tenant_context/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/multi_tenant_ioc/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/multi_tenant_ioc/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/multi_tenant_ioc/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/multi_tenant_ioc/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/multi_tenant_ioc/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/nl_search/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/nl_search/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/nl_search/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/nl_search/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/nl_search/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/notebooks/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/notebooks/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/notebooks/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/notebooks/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/notebooks/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/notifications/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/notifications/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/notifications/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/notifications/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/notifications/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/notifications2/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/notifications2/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/notifications2/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/notifications2/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/notifications2/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/preferences/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/preferences/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/preferences/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/preferences/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/preferences/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/process_trees/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/process_trees/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/process_trees/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/process_trees/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/ql_schemas/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/ql_schemas/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/ql_schemas/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/ql_schemas/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/ql_schemas/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/queries/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/queries/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/queries/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/queries/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/queries/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/roadrunner/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/roadrunner/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/roadrunner/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/roadrunner/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/roadrunner/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/rules/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/rules/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/rules/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/rules/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/rules/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/sharelinks/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/sharelinks/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/sharelinks/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/sharelinks/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/sharelinks/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/subjects/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/subjects/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/subjects/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/subjects/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/subjects/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/tenant_profiles/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/tenant_profiles/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/tenant_profiles/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/tenant_profiles/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/tenant_profiles/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/tenants/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/tenants/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/tenants/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/tenants/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/tenants/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/tenants4/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/tenants4/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/tenants4/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/threat/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/threat/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/threat/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/threat/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/threat_publications/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/threat_publications/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/threat_publications/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/threat_publications/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/threat_publications/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/threat_score/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/threat_score/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/threat_score/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/threat_score/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/threat_score/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/trigger_action/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/trigger_action/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/trigger_action/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/trigger_action/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/trigger_action/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/trip/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/trip/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/trip/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/trip/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/trip/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/users/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/users/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/users/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/users/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/users/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/vdr/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/vdr/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/vdr/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/vdr/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/vdr/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/xdr_central_connector/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/xdr_central_connector/mutations.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/xdr_central_connector/queries.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/xdr_central_connector/subscriptions.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/xdr_central_connector/types.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/templates/__init__.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/templates/_jinja2.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/tokens.py +0 -0
- {taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/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.18
|
|
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
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"""Taegis Commons - Imports."""
|
|
2
|
+
|
|
3
|
+
from taegis_sdk_python.commons._introspection import (
|
|
4
|
+
introspection_mutation,
|
|
5
|
+
introspection_query,
|
|
6
|
+
introspection_subscription,
|
|
7
|
+
)
|
|
8
|
+
from taegis_sdk_python.commons.alerts.search import alerts_search
|
|
9
|
+
from taegis_sdk_python.commons.cases.search import cases_search
|
|
10
|
+
from taegis_sdk_python.commons.events.search import events_search
|
|
11
|
+
from taegis_sdk_python.commons.investigations.search import investigations_search
|
|
12
|
+
from taegis_sdk_python.commons.sharelinks.create import (
|
|
13
|
+
create_alerts_query_sharelink,
|
|
14
|
+
create_cases_sharelink,
|
|
15
|
+
create_events_query_sharelink,
|
|
16
|
+
create_investigations_sharelink,
|
|
17
|
+
create_sharelink,
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
__all__ = [
|
|
21
|
+
"introspection_query",
|
|
22
|
+
"introspection_mutation",
|
|
23
|
+
"introspection_subscription",
|
|
24
|
+
"alerts_search",
|
|
25
|
+
"cases_search",
|
|
26
|
+
"events_search",
|
|
27
|
+
"investigations_search",
|
|
28
|
+
"create_sharelink",
|
|
29
|
+
"create_alerts_query_sharelink",
|
|
30
|
+
"create_events_query_sharelink",
|
|
31
|
+
"create_investigations_sharelink",
|
|
32
|
+
"create_cases_sharelink",
|
|
33
|
+
]
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"""Taegis Commons - Introspection GraphQL operations."""
|
|
2
|
+
|
|
3
|
+
from typing import Any, Optional
|
|
4
|
+
|
|
5
|
+
from graphql import GraphQLSchema
|
|
6
|
+
|
|
7
|
+
from taegis_sdk_python import (
|
|
8
|
+
GraphQLService,
|
|
9
|
+
build_output_string_from_introspection,
|
|
10
|
+
prepare_input,
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def introspection_query(
|
|
15
|
+
service: GraphQLService,
|
|
16
|
+
endpoint: str,
|
|
17
|
+
schema: Optional[GraphQLSchema] = None,
|
|
18
|
+
**kwargs
|
|
19
|
+
) -> Any:
|
|
20
|
+
"""Generate a GraphQL Query operation with output based on server-side introspection.
|
|
21
|
+
|
|
22
|
+
Parameters
|
|
23
|
+
----------
|
|
24
|
+
service : GraphQLService
|
|
25
|
+
endpoint : str
|
|
26
|
+
schema : Optional[GraphQLSchema], optional
|
|
27
|
+
If not provided, the latest schema will be retrieved from the GQL endpoint. By default, None.
|
|
28
|
+
Useful when the schmea is not on the core service, but is on a child service (e.g. EventService) that shares the same GQL endpoint.
|
|
29
|
+
Returns
|
|
30
|
+
-------
|
|
31
|
+
Any
|
|
32
|
+
Usually a dict or list of dicts, depending on the query.
|
|
33
|
+
"""
|
|
34
|
+
# retreive the latest schema from the GQL endpoint
|
|
35
|
+
if schema is None:
|
|
36
|
+
schema = service.core.schema
|
|
37
|
+
# parse the correct output fields for the desired query from the schema
|
|
38
|
+
field = schema.query_type.fields.get(endpoint)
|
|
39
|
+
|
|
40
|
+
output = build_output_string_from_introspection(field)
|
|
41
|
+
|
|
42
|
+
results = service.core.execute_query(
|
|
43
|
+
endpoint=endpoint,
|
|
44
|
+
variables={key: prepare_input(value) for key, value in kwargs.items()},
|
|
45
|
+
output=output,
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
return results.get(endpoint)
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
def introspection_mutation(
|
|
52
|
+
service: GraphQLService,
|
|
53
|
+
endpoint: str,
|
|
54
|
+
schema: Optional[GraphQLSchema] = None,
|
|
55
|
+
**kwargs
|
|
56
|
+
) -> Any:
|
|
57
|
+
"""Generate a GraphQL Mutation operation with output based on server-side introspection.
|
|
58
|
+
|
|
59
|
+
Parameters
|
|
60
|
+
----------
|
|
61
|
+
service : GraphQLService
|
|
62
|
+
endpoint : str
|
|
63
|
+
schema : Optional[GraphQLSchema], optional
|
|
64
|
+
If not provided, the latest schema will be retrieved from the GQL endpoint. By default, None.
|
|
65
|
+
Useful when the schmea is not on the core service, but is on a child service (e.g. EventService) that shares the same GQL endpoint.
|
|
66
|
+
Returns
|
|
67
|
+
-------
|
|
68
|
+
Any
|
|
69
|
+
Usually a dict or list of dicts, depending on the query.
|
|
70
|
+
"""
|
|
71
|
+
# retreive the latest schema from the GQL endpoint
|
|
72
|
+
if schema is None:
|
|
73
|
+
schema = service.core.schema
|
|
74
|
+
# parse the correct output fields for the desired query from the schema
|
|
75
|
+
field = schema.mutation_type.fields.get(endpoint)
|
|
76
|
+
|
|
77
|
+
output = build_output_string_from_introspection(field)
|
|
78
|
+
|
|
79
|
+
results = service.core.execute_query(
|
|
80
|
+
endpoint=endpoint,
|
|
81
|
+
variables={key: prepare_input(value) for key, value in kwargs.items()},
|
|
82
|
+
output=output,
|
|
83
|
+
)
|
|
84
|
+
|
|
85
|
+
return results.get(endpoint)
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
def introspection_subscription(
|
|
89
|
+
service: GraphQLService,
|
|
90
|
+
endpoint: str,
|
|
91
|
+
schema: Optional[GraphQLSchema] = None,
|
|
92
|
+
**kwargs
|
|
93
|
+
) -> Any:
|
|
94
|
+
"""Generate a GraphQL Subscription operation with output based on server-side introspection.
|
|
95
|
+
|
|
96
|
+
Parameters
|
|
97
|
+
----------
|
|
98
|
+
service : GraphQLService
|
|
99
|
+
endpoint : str
|
|
100
|
+
schema : Optional[GraphQLSchema], optional
|
|
101
|
+
If not provided, the latest schema will be retrieved from the GQL endpoint. By default, None.
|
|
102
|
+
Useful when the schmea is not on the core service, but is on a child service (e.g. EventService) that shares the same GQL endpoint.
|
|
103
|
+
Returns
|
|
104
|
+
-------
|
|
105
|
+
Any
|
|
106
|
+
Usually a dict or list of dicts, depending on the query.
|
|
107
|
+
"""
|
|
108
|
+
# retreive the latest schema from the GQL endpoint
|
|
109
|
+
if schema is None:
|
|
110
|
+
schema = service.core.schema
|
|
111
|
+
# parse the correct output fields for the desired query from the schema
|
|
112
|
+
field = schema.subscription_type.fields.get(endpoint)
|
|
113
|
+
|
|
114
|
+
output = build_output_string_from_introspection(field)
|
|
115
|
+
|
|
116
|
+
results = service.core.execute_query(
|
|
117
|
+
endpoint=endpoint,
|
|
118
|
+
variables={key: prepare_input(value) for key, value in kwargs.items()},
|
|
119
|
+
output=output,
|
|
120
|
+
)
|
|
121
|
+
|
|
122
|
+
return results.get(endpoint)
|
{taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/__init__.py
RENAMED
|
@@ -53,6 +53,7 @@ from taegis_sdk_python.services.events import EventsService
|
|
|
53
53
|
from taegis_sdk_python.services.exports import ExportsService
|
|
54
54
|
from taegis_sdk_python.services.fast_ioc import FastIocService
|
|
55
55
|
from taegis_sdk_python.services.file_info import FileInfoService
|
|
56
|
+
from taegis_sdk_python.services.health import HealthService
|
|
56
57
|
from taegis_sdk_python.services.ingest_stats import IngestStatsService
|
|
57
58
|
from taegis_sdk_python.services.investigations import InvestigationsService
|
|
58
59
|
from taegis_sdk_python.services.investigations2 import Investigations2Service
|
|
@@ -220,6 +221,7 @@ class GraphQLService:
|
|
|
220
221
|
self._events = None
|
|
221
222
|
self._exports = None
|
|
222
223
|
self._fast_ioc = None
|
|
224
|
+
self._health = None
|
|
223
225
|
self._file_info = None
|
|
224
226
|
self._ingest_stats = None
|
|
225
227
|
self._investigations = None
|
|
@@ -686,6 +688,13 @@ class GraphQLService:
|
|
|
686
688
|
self._fast_ioc = FastIocService(self)
|
|
687
689
|
return self._fast_ioc
|
|
688
690
|
|
|
691
|
+
@property
|
|
692
|
+
def health(self):
|
|
693
|
+
"""Health Service Endpoint."""
|
|
694
|
+
if not self._health:
|
|
695
|
+
self._health = HealthService(self)
|
|
696
|
+
return self._health
|
|
697
|
+
|
|
689
698
|
@property
|
|
690
699
|
def file_info(self):
|
|
691
700
|
"""FileInfo Service Endpoint."""
|
{taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/assets2/types.py
RENAMED
|
@@ -405,8 +405,26 @@ class TagV2:
|
|
|
405
405
|
default=None, metadata=config(field_name="updatedAt")
|
|
406
406
|
)
|
|
407
407
|
tag: Optional[str] = field(default=None, metadata=config(field_name="tag"))
|
|
408
|
-
key: Optional[str] = field(
|
|
409
|
-
|
|
408
|
+
key: Optional[str] = field(
|
|
409
|
+
default=None,
|
|
410
|
+
metadata=config(
|
|
411
|
+
metadata={
|
|
412
|
+
"deprecated": True,
|
|
413
|
+
"deprecation_reason": "Use the tag field instead. Key/value separation is inconsistent across endpoint types.",
|
|
414
|
+
},
|
|
415
|
+
field_name="key",
|
|
416
|
+
),
|
|
417
|
+
)
|
|
418
|
+
value: Optional[str] = field(
|
|
419
|
+
default=None,
|
|
420
|
+
metadata=config(
|
|
421
|
+
metadata={
|
|
422
|
+
"deprecated": True,
|
|
423
|
+
"deprecation_reason": "Use the tag field instead. Key/value separation is inconsistent across endpoint types.",
|
|
424
|
+
},
|
|
425
|
+
field_name="value",
|
|
426
|
+
),
|
|
427
|
+
)
|
|
410
428
|
is_vendor_tag: Optional[bool] = field(
|
|
411
429
|
default=None, metadata=config(field_name="isVendorTag")
|
|
412
430
|
)
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
"""ContextSummarizer Service."""
|
|
2
2
|
|
|
3
3
|
from taegis_sdk_python.service_core import ServiceCore
|
|
4
|
-
from taegis_sdk_python.services.context_summarizer.mutations import
|
|
5
|
-
|
|
4
|
+
from taegis_sdk_python.services.context_summarizer.mutations import (
|
|
5
|
+
TaegisSDKContextSummarizerMutation,
|
|
6
|
+
)
|
|
7
|
+
from taegis_sdk_python.services.context_summarizer.queries import (
|
|
8
|
+
TaegisSDKContextSummarizerQuery,
|
|
9
|
+
)
|
|
6
10
|
from taegis_sdk_python.services.context_summarizer.subscriptions import (
|
|
7
11
|
TaegisSDKContextSummarizerSubscription,
|
|
8
12
|
)
|
|
@@ -56,6 +56,10 @@ class TaegisSDKContractedEndpointQuery:
|
|
|
56
56
|
"""No developer notes."""
|
|
57
57
|
endpoint = "projectIRHoursForTenantID"
|
|
58
58
|
|
|
59
|
+
log.warning(
|
|
60
|
+
f"GraphQL Query `{endpoint}` is deprecated: 'Use endpointCountForTenantID instead. Planned removal: 2026-09-01'"
|
|
61
|
+
)
|
|
62
|
+
|
|
59
63
|
result = self.service.execute_query(endpoint=endpoint, variables={}, output="")
|
|
60
64
|
if result.get(endpoint) is not None:
|
|
61
65
|
return result.get(endpoint)
|
|
@@ -36,6 +36,10 @@ class TaegisSDKEventStatsQuery:
|
|
|
36
36
|
"""Get effective agents count for the given tenant and time range."""
|
|
37
37
|
endpoint = "effectiveAgents"
|
|
38
38
|
|
|
39
|
+
log.warning(
|
|
40
|
+
f"GraphQL Query `{endpoint}` is deprecated: 'Use `eventStatsQuery` instead'"
|
|
41
|
+
)
|
|
42
|
+
|
|
39
43
|
result = self.service.execute_query(
|
|
40
44
|
endpoint=endpoint,
|
|
41
45
|
variables={
|
{taegis_sdk_python-1.6.16 → taegis_sdk_python-1.6.18}/taegis_sdk_python/services/events/types.py
RENAMED
|
@@ -172,6 +172,9 @@ class EventFetchOptions:
|
|
|
172
172
|
normalize_event_keys: Optional[bool] = field(
|
|
173
173
|
default=None, metadata=config(field_name="normalizeEventKeys")
|
|
174
174
|
)
|
|
175
|
+
metadata: Optional[dict] = field(
|
|
176
|
+
default=None, metadata=config(field_name="metadata")
|
|
177
|
+
)
|
|
175
178
|
backend_strategy: Optional[BackendStrategy] = field(
|
|
176
179
|
default=None, metadata=config(field_name="backendStrategy")
|
|
177
180
|
)
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"""Health Service."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
6
|
+
|
|
7
|
+
from taegis_sdk_python.service_core import ServiceCore
|
|
8
|
+
from taegis_sdk_python.services.health.mutations import TaegisSDKHealthMutation
|
|
9
|
+
from taegis_sdk_python.services.health.queries import TaegisSDKHealthQuery
|
|
10
|
+
from taegis_sdk_python.services.health.subscriptions import TaegisSDKHealthSubscription
|
|
11
|
+
|
|
12
|
+
if TYPE_CHECKING: # pragma: no cover
|
|
13
|
+
from taegis_sdk_python.services import GraphQLService
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class HealthService(ServiceCore):
|
|
17
|
+
"""Taegis Health Service."""
|
|
18
|
+
|
|
19
|
+
@property
|
|
20
|
+
def query(self):
|
|
21
|
+
if not self._queries:
|
|
22
|
+
self._queries = TaegisSDKHealthQuery(self)
|
|
23
|
+
return self._queries
|
|
24
|
+
|
|
25
|
+
@property
|
|
26
|
+
def mutation(self):
|
|
27
|
+
if not self._mutations:
|
|
28
|
+
self._mutations = TaegisSDKHealthMutation(self)
|
|
29
|
+
return self._mutations
|
|
30
|
+
|
|
31
|
+
@property
|
|
32
|
+
def subscription(self):
|
|
33
|
+
if not self._subscriptions:
|
|
34
|
+
self._subscriptions = TaegisSDKHealthSubscription(self)
|
|
35
|
+
return self._subscriptions
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"""Health 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.health.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.health import HealthService
|
|
25
|
+
|
|
26
|
+
log = logging.getLogger(__name__)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class TaegisSDKHealthMutation:
|
|
30
|
+
"""Taegis Health Mutation operations."""
|
|
31
|
+
|
|
32
|
+
def __init__(self, service: HealthService):
|
|
33
|
+
self.service = service
|
|
34
|
+
|
|
35
|
+
def ndr_health_clear_health_status(
|
|
36
|
+
self, device_name: str, alert_name: str
|
|
37
|
+
) -> NDRHealthStatus:
|
|
38
|
+
"""Clear Health Alert."""
|
|
39
|
+
endpoint = "ndrHealthClearHealthStatus"
|
|
40
|
+
|
|
41
|
+
result = self.service.execute_mutation(
|
|
42
|
+
endpoint=endpoint,
|
|
43
|
+
variables={
|
|
44
|
+
"deviceName": prepare_input(device_name),
|
|
45
|
+
"alertName": prepare_input(alert_name),
|
|
46
|
+
},
|
|
47
|
+
output=build_output_string(
|
|
48
|
+
NDRHealthStatus,
|
|
49
|
+
exclude_deprecated_output=self.service.exclude_deprecated_output,
|
|
50
|
+
),
|
|
51
|
+
)
|
|
52
|
+
if result.get(endpoint) is not None:
|
|
53
|
+
return NDRHealthStatus.from_dict(result.get(endpoint))
|
|
54
|
+
raise GraphQLNoRowsInResultSetError("for mutation ndrHealthClearHealthStatus")
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"""Health Query."""
|
|
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.health.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.health import HealthService
|
|
25
|
+
|
|
26
|
+
log = logging.getLogger(__name__)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class TaegisSDKHealthQuery:
|
|
30
|
+
"""Taegis Health Query operations."""
|
|
31
|
+
|
|
32
|
+
def __init__(self, service: HealthService):
|
|
33
|
+
self.service = service
|
|
34
|
+
|
|
35
|
+
def ndr_health_last_event(self, device_name: str) -> NDRHealthLastEvents:
|
|
36
|
+
"""Query to get event timestamps."""
|
|
37
|
+
endpoint = "ndrHealthLastEvent"
|
|
38
|
+
|
|
39
|
+
result = self.service.execute_query(
|
|
40
|
+
endpoint=endpoint,
|
|
41
|
+
variables={
|
|
42
|
+
"deviceName": prepare_input(device_name),
|
|
43
|
+
},
|
|
44
|
+
output=build_output_string(
|
|
45
|
+
NDRHealthLastEvents,
|
|
46
|
+
exclude_deprecated_output=self.service.exclude_deprecated_output,
|
|
47
|
+
),
|
|
48
|
+
)
|
|
49
|
+
if result.get(endpoint) is not None:
|
|
50
|
+
return NDRHealthLastEvents.from_dict(result.get(endpoint))
|
|
51
|
+
raise GraphQLNoRowsInResultSetError("for query ndrHealthLastEvent")
|
|
52
|
+
|
|
53
|
+
def ndr_health_status(self, device_name: str) -> List[NDRHealthStatus]:
|
|
54
|
+
"""Query to get health status of a device."""
|
|
55
|
+
endpoint = "ndrHealthStatus"
|
|
56
|
+
|
|
57
|
+
result = self.service.execute_query(
|
|
58
|
+
endpoint=endpoint,
|
|
59
|
+
variables={
|
|
60
|
+
"deviceName": prepare_input(device_name),
|
|
61
|
+
},
|
|
62
|
+
output=build_output_string(
|
|
63
|
+
NDRHealthStatus,
|
|
64
|
+
exclude_deprecated_output=self.service.exclude_deprecated_output,
|
|
65
|
+
),
|
|
66
|
+
)
|
|
67
|
+
if result.get(endpoint) is not None:
|
|
68
|
+
return NDRHealthStatus.schema().load(
|
|
69
|
+
[r or {} for r in result.get(endpoint)], many=True
|
|
70
|
+
)
|
|
71
|
+
raise GraphQLNoRowsInResultSetError("for query ndrHealthStatus")
|
|
72
|
+
|
|
73
|
+
def ndr_health_statuses(self) -> List[NDRHealthStatuses]:
|
|
74
|
+
"""Query to get list of devices with health status of each device."""
|
|
75
|
+
endpoint = "ndrHealthStatuses"
|
|
76
|
+
|
|
77
|
+
result = self.service.execute_query(
|
|
78
|
+
endpoint=endpoint,
|
|
79
|
+
variables={},
|
|
80
|
+
output=build_output_string(
|
|
81
|
+
NDRHealthStatuses,
|
|
82
|
+
exclude_deprecated_output=self.service.exclude_deprecated_output,
|
|
83
|
+
),
|
|
84
|
+
)
|
|
85
|
+
if result.get(endpoint) is not None:
|
|
86
|
+
return NDRHealthStatuses.schema().load(
|
|
87
|
+
[r or {} for r in result.get(endpoint)], many=True
|
|
88
|
+
)
|
|
89
|
+
raise GraphQLNoRowsInResultSetError("for query ndrHealthStatuses")
|
|
90
|
+
|
|
91
|
+
def ndr_health_metrics(
|
|
92
|
+
self, ndr_health_metrics_query: NDRHealthMetricsQuery
|
|
93
|
+
) -> List[NDRHealthMetricsResponse]:
|
|
94
|
+
"""Query to get health metrics of a device for the requested type."""
|
|
95
|
+
endpoint = "ndrHealthMetrics"
|
|
96
|
+
|
|
97
|
+
result = self.service.execute_query(
|
|
98
|
+
endpoint=endpoint,
|
|
99
|
+
variables={
|
|
100
|
+
"ndrHealthMetricsQuery": prepare_input(ndr_health_metrics_query),
|
|
101
|
+
},
|
|
102
|
+
output=build_output_string(
|
|
103
|
+
NDRHealthMetricsResponse,
|
|
104
|
+
exclude_deprecated_output=self.service.exclude_deprecated_output,
|
|
105
|
+
),
|
|
106
|
+
)
|
|
107
|
+
if result.get(endpoint) is not None:
|
|
108
|
+
return NDRHealthMetricsResponse.schema().load(
|
|
109
|
+
[r or {} for r in result.get(endpoint)], many=True
|
|
110
|
+
)
|
|
111
|
+
raise GraphQLNoRowsInResultSetError("for query ndrHealthMetrics")
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"""Health Subscription."""
|
|
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.health.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.health import HealthService
|
|
25
|
+
|
|
26
|
+
log = logging.getLogger(__name__)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class TaegisSDKHealthSubscription:
|
|
30
|
+
"""Taegis Health Subscription operations."""
|
|
31
|
+
|
|
32
|
+
def __init__(self, service: HealthService):
|
|
33
|
+
self.service = service
|