taegis-sdk-python 1.2.6__tar.gz → 1.2.7__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.2.6/taegis_sdk_python.egg-info → taegis_sdk_python-1.2.7}/PKG-INFO +1 -1
- taegis_sdk_python-1.2.7/taegis_sdk_python/_version.py +1 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/__init__.py +5 -4
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/investigations2/mutations.py +85 -41
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/investigations2/queries.py +17 -12
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/investigations2/types.py +309 -205
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/tenants/types.py +5 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7/taegis_sdk_python.egg-info}/PKG-INFO +1 -1
- taegis_sdk_python-1.2.6/taegis_sdk_python/_version.py +0 -1
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/LICENSE +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/MANIFEST.in +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/README.md +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/requirements-dev.txt +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/requirements-test.txt +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/requirements.txt +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/setup.cfg +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/setup.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/_consts.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/authentication.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/config.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/errors.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/service_core.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/access_points/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/access_points/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/access_points/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/access_points/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/access_points/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/agent/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/agent/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/agent/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/agent/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/agent/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/alerts/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/alerts/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/alerts/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/alerts/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/alerts/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/assets/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/assets/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/assets/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/assets/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/assets/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/assets2/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/assets2/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/assets2/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/assets2/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/assets2/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/audits/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/audits/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/audits/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/audits/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/audits/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/authz/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/authz/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/authz/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/authz/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/authz/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/byoti/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/byoti/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/byoti/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/byoti/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/byoti/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/clients/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/clients/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/clients/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/clients/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/clients/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/collector/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/collector/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/collector/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/collector/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/collector/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/comments/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/comments/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/comments/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/comments/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/comments/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/contracted_endpoint/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/contracted_endpoint/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/contracted_endpoint/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/contracted_endpoint/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/contracted_endpoint/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/datasources/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/datasources/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/datasources/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/datasources/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/datasources/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/detector_registry/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/detector_registry/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/detector_registry/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/detector_registry/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/detector_registry/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/endpoint_command_manager/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/endpoint_command_manager/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/endpoint_command_manager/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/endpoint_command_manager/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/endpoint_command_manager/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/endpoint_management_service/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/endpoint_management_service/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/endpoint_management_service/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/endpoint_management_service/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/endpoint_management_service/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/event_search/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/event_search/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/event_search/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/event_search/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/event_search/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/events/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/events/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/events/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/events/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/events/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/exports/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/exports/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/exports/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/exports/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/exports/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/fast_ioc/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/fast_ioc/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/fast_ioc/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/fast_ioc/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/fast_ioc/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/file_info/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/file_info/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/file_info/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/file_info/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/file_info/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/ingest_stats/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/ingest_stats/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/ingest_stats/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/ingest_stats/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/ingest_stats/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/investigations/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/investigations/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/investigations/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/investigations/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/investigations/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/investigations2/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/investigations2/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/mitre_attack_info/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/mitre_attack_info/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/mitre_attack_info/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/mitre_attack_info/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/mitre_attack_info/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/multi_tenant_context/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/multi_tenant_context/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/multi_tenant_context/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/multi_tenant_context/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/multi_tenant_context/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/multi_tenant_ioc/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/multi_tenant_ioc/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/multi_tenant_ioc/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/multi_tenant_ioc/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/multi_tenant_ioc/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/notebooks/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/notebooks/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/notebooks/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/notebooks/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/notebooks/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/notifications/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/notifications/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/notifications/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/notifications/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/notifications/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/preferences/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/preferences/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/preferences/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/preferences/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/preferences/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/queries/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/queries/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/queries/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/queries/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/queries/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/roadrunner/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/roadrunner/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/roadrunner/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/roadrunner/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/roadrunner/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/rules/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/rules/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/rules/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/rules/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/rules/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/sharelinks/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/sharelinks/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/sharelinks/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/sharelinks/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/sharelinks/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/subjects/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/subjects/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/subjects/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/subjects/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/subjects/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/tenant_profiles/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/tenant_profiles/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/tenant_profiles/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/tenant_profiles/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/tenant_profiles/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/tenants/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/tenants/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/tenants/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/tenants/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/threat/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/threat/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/threat/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/threat/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/threat/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/threat_score/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/threat_score/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/threat_score/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/threat_score/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/threat_score/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/trip/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/trip/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/trip/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/trip/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/trip/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/users/__init__.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/users/mutations.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/users/queries.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/users/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/services/users/types.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/tokens.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python/utils.py +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python.egg-info/SOURCES.txt +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python.egg-info/dependency_links.txt +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python.egg-info/requires.txt +0 -0
- {taegis_sdk_python-1.2.6 → taegis_sdk_python-1.2.7}/taegis_sdk_python.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "v1.2.7"
|
|
@@ -166,11 +166,12 @@ class GraphQLService:
|
|
|
166
166
|
return self
|
|
167
167
|
|
|
168
168
|
def __exit__(self, exc_type, exc_val, exc_tb):
|
|
169
|
-
if
|
|
170
|
-
self._context_kwargs[threading.get_ident()]
|
|
169
|
+
if threading.get_ident() in self._context_kwargs:
|
|
170
|
+
if self._context_kwargs[threading.get_ident()]:
|
|
171
|
+
self._context_kwargs[threading.get_ident()].pop()
|
|
171
172
|
|
|
172
|
-
|
|
173
|
-
|
|
173
|
+
else:
|
|
174
|
+
del self._context_kwargs[threading.get_ident()]
|
|
174
175
|
|
|
175
176
|
@property
|
|
176
177
|
def _context_manager(self):
|
|
@@ -33,7 +33,7 @@ class TaegisSDKInvestigations2Mutation:
|
|
|
33
33
|
def create_investigation_v2(
|
|
34
34
|
self, input_: CreateInvestigationInput
|
|
35
35
|
) -> InvestigationV2:
|
|
36
|
-
"""
|
|
36
|
+
"""createInvestigationV2 creates new investigation with the provided arguments.."""
|
|
37
37
|
endpoint = "createInvestigationV2"
|
|
38
38
|
|
|
39
39
|
result = self.service.execute_mutation(
|
|
@@ -50,7 +50,9 @@ class TaegisSDKInvestigations2Mutation:
|
|
|
50
50
|
def update_investigation_v2(
|
|
51
51
|
self, input_: UpdateInvestigationV2Input
|
|
52
52
|
) -> InvestigationV2:
|
|
53
|
-
"""
|
|
53
|
+
"""updateInvestigationV2 updates an existing investigation.
|
|
54
|
+
This is a PATCH style mutation, only fields that are send in the input will be updated..
|
|
55
|
+
"""
|
|
54
56
|
endpoint = "updateInvestigationV2"
|
|
55
57
|
|
|
56
58
|
result = self.service.execute_mutation(
|
|
@@ -67,11 +69,17 @@ class TaegisSDKInvestigations2Mutation:
|
|
|
67
69
|
def add_evidence_to_investigation(
|
|
68
70
|
self, input_: AddEvidenceToInvestigationInput
|
|
69
71
|
) -> AddEvidenceToInvestigationResult:
|
|
70
|
-
"""
|
|
72
|
+
"""addEvidenceToInvestigation will add more evidence to an existing investigation.
|
|
73
|
+
Evidence added through this mutation will not be considered genesis evidence.
|
|
74
|
+
The response will include the evidence that the service will attempt to add to the investigation.
|
|
71
75
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
76
|
+
Adding evidence to investigations is an asynchronous operation.
|
|
77
|
+
It will typically finish pretty quickly, but added alerts/events will may not show up in the returned investigation until the async job is fully complete.
|
|
78
|
+
The processing status, that is found on the investigation type will reflect the state of the processing job.
|
|
79
|
+
Once the status is set to 'SUCCESS' the background job is complete and requesting the investigation will return the related evidence.
|
|
80
|
+
|
|
81
|
+
Adding, removing or updating evidence (closing an investigation) while other jobs are processing for a given investigation will cause the jobs to queue.
|
|
82
|
+
Jobs will be worked through in the order they were received.."""
|
|
75
83
|
endpoint = "addEvidenceToInvestigation"
|
|
76
84
|
|
|
77
85
|
result = self.service.execute_mutation(
|
|
@@ -88,11 +96,16 @@ class TaegisSDKInvestigations2Mutation:
|
|
|
88
96
|
def remove_evidence_from_investigation(
|
|
89
97
|
self, input_: RemoveEvidenceFromInvestigationInput
|
|
90
98
|
) -> RemoveEvidenceFromInvestigationResult:
|
|
91
|
-
"""
|
|
99
|
+
"""removeEvidenceFromInvestigation will remove evidence from an existing investigation.
|
|
100
|
+
The response will include the evidence that the service will attempt to remove from the investigation.
|
|
92
101
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
102
|
+
Removing evidence from investigations is an asynchronous operation.
|
|
103
|
+
It will typically finish pretty quickly, but removed alerts/events will can remain attached to the investigation until the async job is fully complete.
|
|
104
|
+
The processing status, that is found on the investigation type will reflect the state of the processing job.
|
|
105
|
+
Once the status is set to 'SUCCESS' the background job is complete and requesting the investigation will only return evidence that was not removed.
|
|
106
|
+
|
|
107
|
+
Adding, removing or updating evidence (closing an investigation) while other jobs are processing for a given investigation will cause the jobs to queue.
|
|
108
|
+
Jobs will be worked through in the order they were received.."""
|
|
96
109
|
endpoint = "removeEvidenceFromInvestigation"
|
|
97
110
|
|
|
98
111
|
result = self.service.execute_mutation(
|
|
@@ -108,10 +121,36 @@ class TaegisSDKInvestigations2Mutation:
|
|
|
108
121
|
"for mutation removeEvidenceFromInvestigation"
|
|
109
122
|
)
|
|
110
123
|
|
|
124
|
+
def close_investigation(self, input_: CloseInvestigationInput) -> InvestigationV2:
|
|
125
|
+
"""closeInvestigation will close an existing investigation.
|
|
126
|
+
If the investigation has alerts attached to it, the alertsResolutionStatus field is required and alerts will be resolved based on the provided status.
|
|
127
|
+
Once an investigation is closed, it can no longer be edited or have evidence added to it while in the closed state, it can only be archived.
|
|
128
|
+
A closed investigation can be reopened if changes are needed after closing.
|
|
129
|
+
|
|
130
|
+
Resolving evidence in an investigation is an asynchronous operation.
|
|
131
|
+
It will typically finish pretty quickly, but resolving alerts will may not reflect the updated status until the async job is fully complete.
|
|
132
|
+
The processing status, that is found on the investigation type will reflect the state of the processing job.
|
|
133
|
+
Once the status is set to 'SUCCESS' the background job is complete and the alerts will have been updated.
|
|
134
|
+
|
|
135
|
+
Adding, removing or updating evidence (closing an investigation) while other jobs are processing for a given investigation will cause the jobs to queue.
|
|
136
|
+
Jobs will be worked through in the order they were received.."""
|
|
137
|
+
endpoint = "closeInvestigation"
|
|
138
|
+
|
|
139
|
+
result = self.service.execute_mutation(
|
|
140
|
+
endpoint=endpoint,
|
|
141
|
+
variables={
|
|
142
|
+
"input": prepare_input(input_),
|
|
143
|
+
},
|
|
144
|
+
output=build_output_string(InvestigationV2),
|
|
145
|
+
)
|
|
146
|
+
if result.get(endpoint) is not None:
|
|
147
|
+
return InvestigationV2.from_dict(result.get(endpoint))
|
|
148
|
+
raise GraphQLNoRowsInResultSetError("for mutation closeInvestigation")
|
|
149
|
+
|
|
111
150
|
def create_investigation_rule(
|
|
112
151
|
self, input_: CreateInvestigationRuleInput
|
|
113
152
|
) -> InvestigationRule:
|
|
114
|
-
"""
|
|
153
|
+
"""createInvestigationRule accepts input to create a new auto-investigation rule.."""
|
|
115
154
|
endpoint = "createInvestigationRule"
|
|
116
155
|
|
|
117
156
|
result = self.service.execute_mutation(
|
|
@@ -128,7 +167,7 @@ class TaegisSDKInvestigations2Mutation:
|
|
|
128
167
|
def update_investigation_rule(
|
|
129
168
|
self, input_: UpdateInvestigationRuleInput
|
|
130
169
|
) -> InvestigationRule:
|
|
131
|
-
"""
|
|
170
|
+
"""updateInvestigationRule accepts input to update an existing auto-investigation rule.."""
|
|
132
171
|
endpoint = "updateInvestigationRule"
|
|
133
172
|
|
|
134
173
|
result = self.service.execute_mutation(
|
|
@@ -145,7 +184,8 @@ class TaegisSDKInvestigations2Mutation:
|
|
|
145
184
|
def delete_investigation_rule(
|
|
146
185
|
self, input_: DeleteInvestigationRuleInput
|
|
147
186
|
) -> InvestigationRule:
|
|
148
|
-
"""
|
|
187
|
+
"""deleteInvestigationRule removes an existing investigation rule.
|
|
188
|
+
This is a hard delete. Data will not be recoverable.."""
|
|
149
189
|
endpoint = "deleteInvestigationRule"
|
|
150
190
|
|
|
151
191
|
result = self.service.execute_mutation(
|
|
@@ -162,7 +202,7 @@ class TaegisSDKInvestigations2Mutation:
|
|
|
162
202
|
def create_investigation_template(
|
|
163
203
|
self, input_: CreateInvestigationTemplateInput
|
|
164
204
|
) -> InvestigationTemplate:
|
|
165
|
-
"""
|
|
205
|
+
"""createInvestigationTemplate accepts input to create a new auto-investigation template.."""
|
|
166
206
|
endpoint = "createInvestigationTemplate"
|
|
167
207
|
|
|
168
208
|
result = self.service.execute_mutation(
|
|
@@ -179,7 +219,7 @@ class TaegisSDKInvestigations2Mutation:
|
|
|
179
219
|
def update_investigation_template(
|
|
180
220
|
self, input_: UpdateInvestigationTemplateInput
|
|
181
221
|
) -> InvestigationTemplate:
|
|
182
|
-
"""
|
|
222
|
+
"""updateInvestigationTemplate accepts input to update an existing auto-investigation template.."""
|
|
183
223
|
endpoint = "updateInvestigationTemplate"
|
|
184
224
|
|
|
185
225
|
result = self.service.execute_mutation(
|
|
@@ -196,7 +236,8 @@ class TaegisSDKInvestigations2Mutation:
|
|
|
196
236
|
def delete_investigation_template(
|
|
197
237
|
self, input_: DeleteInvestigationTemplateInput
|
|
198
238
|
) -> InvestigationTemplate:
|
|
199
|
-
"""
|
|
239
|
+
"""deleteInvestigationTemplate removes an existing investigation template.
|
|
240
|
+
This is a hard delete. Data will not be recoverable.."""
|
|
200
241
|
endpoint = "deleteInvestigationTemplate"
|
|
201
242
|
|
|
202
243
|
result = self.service.execute_mutation(
|
|
@@ -213,7 +254,9 @@ class TaegisSDKInvestigations2Mutation:
|
|
|
213
254
|
def import_investigation_resources(
|
|
214
255
|
self, input_: ImportInvestigationResourcesInput
|
|
215
256
|
) -> List[InvestigationResource]:
|
|
216
|
-
"""
|
|
257
|
+
"""importInvestigationResources will import investigation resources (rules & templates) from a YAML file.
|
|
258
|
+
The input YAML structure can be retrieved from a YAML string exported from the exportInvestigationResources query..
|
|
259
|
+
"""
|
|
217
260
|
endpoint = "importInvestigationResources"
|
|
218
261
|
|
|
219
262
|
result = self.service.execute_mutation(
|
|
@@ -233,7 +276,7 @@ class TaegisSDKInvestigations2Mutation:
|
|
|
233
276
|
def add_comment_to_investigation(
|
|
234
277
|
self, input_: AddCommentToInvestigationInput
|
|
235
278
|
) -> CommentV2:
|
|
236
|
-
"""
|
|
279
|
+
"""addCommentToInvestigation adds a comment to an existing investigation.."""
|
|
237
280
|
endpoint = "addCommentToInvestigation"
|
|
238
281
|
|
|
239
282
|
result = self.service.execute_mutation(
|
|
@@ -250,7 +293,11 @@ class TaegisSDKInvestigations2Mutation:
|
|
|
250
293
|
def update_investigation_comment(
|
|
251
294
|
self, input_: UpdateInvestigationCommentInput
|
|
252
295
|
) -> CommentV2:
|
|
253
|
-
"""
|
|
296
|
+
"""updateInvestigationComment updates an existing comment on an investigation.
|
|
297
|
+
This is a PATCH style mutation, only fields that are send in the input will be updated.
|
|
298
|
+
Only the user who created the comment can update it.
|
|
299
|
+
Updating a comment and adding new @mentions will trigger new notifications but will not send notifications to @mentions that are already present in the comment..
|
|
300
|
+
"""
|
|
254
301
|
endpoint = "updateInvestigationComment"
|
|
255
302
|
|
|
256
303
|
result = self.service.execute_mutation(
|
|
@@ -267,7 +314,8 @@ class TaegisSDKInvestigations2Mutation:
|
|
|
267
314
|
def delete_investigation_comment(
|
|
268
315
|
self, input_: DeleteInvestigationCommentInput
|
|
269
316
|
) -> CommentV2:
|
|
270
|
-
"""
|
|
317
|
+
"""deleteInvestigationComment removes an existing comment from an investigation.
|
|
318
|
+
This is a hard delete. Data will not be recoverable.."""
|
|
271
319
|
endpoint = "deleteInvestigationComment"
|
|
272
320
|
|
|
273
321
|
result = self.service.execute_mutation(
|
|
@@ -281,25 +329,13 @@ class TaegisSDKInvestigations2Mutation:
|
|
|
281
329
|
return CommentV2.from_dict(result.get(endpoint))
|
|
282
330
|
raise GraphQLNoRowsInResultSetError("for mutation deleteInvestigationComment")
|
|
283
331
|
|
|
284
|
-
def close_investigation(self, input_: CloseInvestigationInput) -> InvestigationV2:
|
|
285
|
-
"""Close an investigation and resolve associated alerts (if exists) asynchronously."""
|
|
286
|
-
endpoint = "closeInvestigation"
|
|
287
|
-
|
|
288
|
-
result = self.service.execute_mutation(
|
|
289
|
-
endpoint=endpoint,
|
|
290
|
-
variables={
|
|
291
|
-
"input": prepare_input(input_),
|
|
292
|
-
},
|
|
293
|
-
output=build_output_string(InvestigationV2),
|
|
294
|
-
)
|
|
295
|
-
if result.get(endpoint) is not None:
|
|
296
|
-
return InvestigationV2.from_dict(result.get(endpoint))
|
|
297
|
-
raise GraphQLNoRowsInResultSetError("for mutation closeInvestigation")
|
|
298
|
-
|
|
299
332
|
def archive_investigation_v2(
|
|
300
333
|
self, input_: ArchiveInvestigationInput
|
|
301
334
|
) -> InvestigationV2:
|
|
302
|
-
"""
|
|
335
|
+
"""archiveInvestigationV2 archives an existing investigation.
|
|
336
|
+
Only investigations that are closed can be archived.
|
|
337
|
+
There may be some investigations that are archived but not in closed states, these are legacy investigations that were archived before the "closed" requirement was introduced..
|
|
338
|
+
"""
|
|
303
339
|
endpoint = "archiveInvestigationV2"
|
|
304
340
|
|
|
305
341
|
result = self.service.execute_mutation(
|
|
@@ -316,7 +352,7 @@ class TaegisSDKInvestigations2Mutation:
|
|
|
316
352
|
def unarchive_investigation_v2(
|
|
317
353
|
self, input_: UnarchiveInvestigationInput
|
|
318
354
|
) -> InvestigationV2:
|
|
319
|
-
"""
|
|
355
|
+
"""unarchiveInvestigationV2 unarchives an archived investigation.."""
|
|
320
356
|
endpoint = "unarchiveInvestigationV2"
|
|
321
357
|
|
|
322
358
|
result = self.service.execute_mutation(
|
|
@@ -333,7 +369,10 @@ class TaegisSDKInvestigations2Mutation:
|
|
|
333
369
|
def archive_investigations_v2(
|
|
334
370
|
self, input_: ArchiveInvestigationsInput
|
|
335
371
|
) -> ArchivedInvestigations:
|
|
336
|
-
"""
|
|
372
|
+
"""archiveInvestigationsV2 archives a set of existing investigations.
|
|
373
|
+
Only investigations that are closed can be archived.
|
|
374
|
+
The response will include the ids of the investigations that were successfully archived and will not return errors for investigations that could not be archived..
|
|
375
|
+
"""
|
|
337
376
|
endpoint = "archiveInvestigationsV2"
|
|
338
377
|
|
|
339
378
|
result = self.service.execute_mutation(
|
|
@@ -350,7 +389,9 @@ class TaegisSDKInvestigations2Mutation:
|
|
|
350
389
|
def unarchive_investigations_v2(
|
|
351
390
|
self, input_: UnarchiveInvestigationsInput
|
|
352
391
|
) -> UnarchivedInvestigations:
|
|
353
|
-
"""
|
|
392
|
+
"""unarchiveInvestigationsV2 unarchives a set of archived investigations.
|
|
393
|
+
The response will include the ids of the investigations that were successfully unarchived and will not return errors for investigations that could not be unarchived..
|
|
394
|
+
"""
|
|
354
395
|
endpoint = "unarchiveInvestigationsV2"
|
|
355
396
|
|
|
356
397
|
result = self.service.execute_mutation(
|
|
@@ -367,7 +408,9 @@ class TaegisSDKInvestigations2Mutation:
|
|
|
367
408
|
def init_investigation_file_upload(
|
|
368
409
|
self, input_: InitInvestigationFileUploadInput
|
|
369
410
|
) -> InvestigationFileUpload:
|
|
370
|
-
"""
|
|
411
|
+
"""initInvestigationFileUpload initializes a file upload for an investigation.
|
|
412
|
+
The response will include a pre-signed URL that can be used to upload a file to the investigation..
|
|
413
|
+
"""
|
|
371
414
|
endpoint = "initInvestigationFileUpload"
|
|
372
415
|
|
|
373
416
|
result = self.service.execute_mutation(
|
|
@@ -384,7 +427,8 @@ class TaegisSDKInvestigations2Mutation:
|
|
|
384
427
|
def delete_investigation_file(
|
|
385
428
|
self, input_: DeleteInvestigationFileInput
|
|
386
429
|
) -> InvestigationFileV2:
|
|
387
|
-
"""
|
|
430
|
+
"""deleteInvestigationFile removes an existing file from an investigation.
|
|
431
|
+
This is a hard delete. Data will not be recoverable.."""
|
|
388
432
|
endpoint = "deleteInvestigationFile"
|
|
389
433
|
|
|
390
434
|
result = self.service.execute_mutation(
|
|
@@ -31,7 +31,7 @@ class TaegisSDKInvestigations2Query:
|
|
|
31
31
|
self.service = service
|
|
32
32
|
|
|
33
33
|
def investigation_v2(self, arguments: InvestigationV2Arguments) -> InvestigationV2:
|
|
34
|
-
"""
|
|
34
|
+
"""investigationV2 gets a single Investigation.."""
|
|
35
35
|
endpoint = "investigationV2"
|
|
36
36
|
|
|
37
37
|
result = self.service.execute_query(
|
|
@@ -48,7 +48,7 @@ class TaegisSDKInvestigations2Query:
|
|
|
48
48
|
def investigations_v2(
|
|
49
49
|
self, arguments: InvestigationsV2Arguments
|
|
50
50
|
) -> InvestigationsV2:
|
|
51
|
-
"""
|
|
51
|
+
"""investigationsV2 returns a list of investigations matching the provided arguments.."""
|
|
52
52
|
endpoint = "investigationsV2"
|
|
53
53
|
|
|
54
54
|
result = self.service.execute_query(
|
|
@@ -65,7 +65,7 @@ class TaegisSDKInvestigations2Query:
|
|
|
65
65
|
def investigation_rule(
|
|
66
66
|
self, arguments: InvestigationRuleArguments
|
|
67
67
|
) -> InvestigationRule:
|
|
68
|
-
"""
|
|
68
|
+
"""investigationRule gets an auto-investigation rule."""
|
|
69
69
|
endpoint = "investigationRule"
|
|
70
70
|
|
|
71
71
|
result = self.service.execute_query(
|
|
@@ -82,7 +82,7 @@ class TaegisSDKInvestigations2Query:
|
|
|
82
82
|
def investigation_rules(
|
|
83
83
|
self, arguments: InvestigationRulesArguments
|
|
84
84
|
) -> InvestigationRules:
|
|
85
|
-
"""
|
|
85
|
+
"""investigationRules returns a list of investigation rules matching the provided arguments.."""
|
|
86
86
|
endpoint = "investigationRules"
|
|
87
87
|
|
|
88
88
|
result = self.service.execute_query(
|
|
@@ -99,7 +99,7 @@ class TaegisSDKInvestigations2Query:
|
|
|
99
99
|
def investigation_template(
|
|
100
100
|
self, arguments: InvestigationTemplateArguments
|
|
101
101
|
) -> InvestigationTemplate:
|
|
102
|
-
"""
|
|
102
|
+
"""investigationTemplate gets an auto-investigation template."""
|
|
103
103
|
endpoint = "investigationTemplate"
|
|
104
104
|
|
|
105
105
|
result = self.service.execute_query(
|
|
@@ -116,7 +116,7 @@ class TaegisSDKInvestigations2Query:
|
|
|
116
116
|
def investigation_templates(
|
|
117
117
|
self, arguments: InvestigationTemplatesArguments
|
|
118
118
|
) -> InvestigationTemplates:
|
|
119
|
-
"""
|
|
119
|
+
"""investigationTemplates returns a list of investigation templates matching the provided arguments.."""
|
|
120
120
|
endpoint = "investigationTemplates"
|
|
121
121
|
|
|
122
122
|
result = self.service.execute_query(
|
|
@@ -133,7 +133,9 @@ class TaegisSDKInvestigations2Query:
|
|
|
133
133
|
def export_investigation_resources(
|
|
134
134
|
self, arguments: ExportInvestigationResourcesArguments
|
|
135
135
|
) -> InvestigationResourceExport:
|
|
136
|
-
"""
|
|
136
|
+
"""exportInvestigationResources returns a YAML string representation for auto-investigation resources (rules & templates).
|
|
137
|
+
The returned string can be saved into a file and imported back into the system using importInvestigationResources..
|
|
138
|
+
"""
|
|
137
139
|
endpoint = "exportInvestigationResources"
|
|
138
140
|
|
|
139
141
|
result = self.service.execute_query(
|
|
@@ -150,7 +152,7 @@ class TaegisSDKInvestigations2Query:
|
|
|
150
152
|
def investigation_v2_timeline(
|
|
151
153
|
self, arguments: InvestigationV2TimelineArguments
|
|
152
154
|
) -> InvestigationV2Timeline:
|
|
153
|
-
"""
|
|
155
|
+
"""investigationV2Timeline returns an investigation timeline detailing the order of alerts, events and other actions taken in relation to an investigation.."""
|
|
154
156
|
endpoint = "investigationV2Timeline"
|
|
155
157
|
|
|
156
158
|
result = self.service.execute_query(
|
|
@@ -165,7 +167,7 @@ class TaegisSDKInvestigations2Query:
|
|
|
165
167
|
raise GraphQLNoRowsInResultSetError("for query investigationV2Timeline")
|
|
166
168
|
|
|
167
169
|
def comments_v2(self, arguments: CommentsV2Arguments) -> CommentsV2:
|
|
168
|
-
"""
|
|
170
|
+
"""commentsV2 returns all the comments for an investigation."""
|
|
169
171
|
endpoint = "commentsV2"
|
|
170
172
|
|
|
171
173
|
result = self.service.execute_query(
|
|
@@ -180,7 +182,7 @@ class TaegisSDKInvestigations2Query:
|
|
|
180
182
|
raise GraphQLNoRowsInResultSetError("for query commentsV2")
|
|
181
183
|
|
|
182
184
|
def investigation_v2_types(self) -> List[InvestigationV2Type]:
|
|
183
|
-
"""
|
|
185
|
+
"""investigationV2Types returns the available investigation types for a given user and the current tenant's service level."""
|
|
184
186
|
endpoint = "investigationV2Types"
|
|
185
187
|
|
|
186
188
|
result = self.service.execute_query(
|
|
@@ -197,7 +199,8 @@ class TaegisSDKInvestigations2Query:
|
|
|
197
199
|
def investigation_file_v2(
|
|
198
200
|
self, arguments: InvestigationFileV2Arguments
|
|
199
201
|
) -> InvestigationFileV2:
|
|
200
|
-
"""
|
|
202
|
+
"""investigationFileV2 returns file details for a single file attached to an investigation based on the arguments provided.
|
|
203
|
+
The result will also include a pre-signed download url.."""
|
|
201
204
|
endpoint = "investigationFileV2"
|
|
202
205
|
|
|
203
206
|
result = self.service.execute_query(
|
|
@@ -214,7 +217,9 @@ class TaegisSDKInvestigations2Query:
|
|
|
214
217
|
def investigation_files_v2(
|
|
215
218
|
self, arguments: InvestigationFilesV2Arguments
|
|
216
219
|
) -> InvestigationFilesV2:
|
|
217
|
-
"""
|
|
220
|
+
"""investigationFilesV2 returns file details for all files matching the arguments provided.
|
|
221
|
+
The results will not include pre-signed download urls for each file metadata returned..
|
|
222
|
+
"""
|
|
218
223
|
endpoint = "investigationFilesV2"
|
|
219
224
|
|
|
220
225
|
result = self.service.execute_query(
|