taegis-sdk-python 1.4.10__tar.gz → 1.4.12__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.4.10/taegis_sdk_python.egg-info → taegis_sdk_python-1.4.12}/PKG-INFO +1 -1
- taegis_sdk_python-1.4.12/taegis_sdk_python/_version.py +1 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/__init__.py +18 -0
- taegis_sdk_python-1.4.12/taegis_sdk_python/services/entity_context/__init__.py +34 -0
- taegis_sdk_python-1.4.12/taegis_sdk_python/services/entity_context/mutations.py +61 -0
- taegis_sdk_python-1.4.12/taegis_sdk_python/services/entity_context/queries.py +237 -0
- taegis_sdk_python-1.4.12/taegis_sdk_python/services/entity_context/subscriptions.py +33 -0
- taegis_sdk_python-1.4.12/taegis_sdk_python/services/entity_context/types.py +1054 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/subjects/types.py +17 -1
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/tenants4/queries.py +14 -1
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/tenants4/types.py +43 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/threat/queries.py +23 -4
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/threat/types.py +9 -0
- taegis_sdk_python-1.4.12/taegis_sdk_python/services/xdr_central_connector/__init__.py +34 -0
- taegis_sdk_python-1.4.12/taegis_sdk_python/services/xdr_central_connector/mutations.py +156 -0
- taegis_sdk_python-1.4.12/taegis_sdk_python/services/xdr_central_connector/queries.py +100 -0
- taegis_sdk_python-1.4.12/taegis_sdk_python/services/xdr_central_connector/subscriptions.py +35 -0
- taegis_sdk_python-1.4.12/taegis_sdk_python/services/xdr_central_connector/types.py +752 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12/taegis_sdk_python.egg-info}/PKG-INFO +1 -1
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python.egg-info/SOURCES.txt +10 -0
- taegis_sdk_python-1.4.10/taegis_sdk_python/_version.py +0 -1
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/LICENSE +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/MANIFEST.in +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/README.md +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/requirements-dev.txt +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/requirements-test.txt +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/requirements.txt +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/setup.cfg +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/setup.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/_consts.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/authentication.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/config.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/errors.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/service_core.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/access_points/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/access_points/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/access_points/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/access_points/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/access_points/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/agent/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/agent/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/agent/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/agent/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/agent/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/alerts/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/alerts/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/alerts/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/alerts/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/alerts/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/alerts_history/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/alerts_history/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/alerts_history/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/alerts_history/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/alerts_history/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/assets/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/assets/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/assets/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/assets/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/assets/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/assets2/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/assets2/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/assets2/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/assets2/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/assets2/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/audits/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/audits/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/audits/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/audits/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/audits/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/authz/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/authz/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/authz/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/authz/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/authz/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/byoti/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/byoti/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/byoti/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/byoti/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/byoti/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/clients/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/clients/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/clients/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/clients/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/clients/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/collector/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/collector/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/collector/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/collector/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/collector/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/comments/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/comments/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/comments/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/comments/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/comments/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/contracted_endpoint/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/contracted_endpoint/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/contracted_endpoint/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/contracted_endpoint/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/contracted_endpoint/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/cql_metadata/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/cql_metadata/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/cql_metadata/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/cql_metadata/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/cql_metadata/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/datasources/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/datasources/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/datasources/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/datasources/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/datasources/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/detector_registry/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/detector_registry/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/detector_registry/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/detector_registry/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/detector_registry/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/endpoint_command_manager/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/endpoint_command_manager/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/endpoint_command_manager/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/endpoint_command_manager/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/endpoint_command_manager/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/endpoint_management_service/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/endpoint_management_service/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/endpoint_management_service/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/endpoint_management_service/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/endpoint_management_service/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/event_search/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/event_search/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/event_search/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/event_search/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/event_search/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/events/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/events/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/events/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/events/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/events/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/exports/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/exports/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/exports/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/exports/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/exports/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/fast_ioc/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/fast_ioc/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/fast_ioc/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/fast_ioc/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/fast_ioc/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/file_info/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/file_info/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/file_info/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/file_info/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/file_info/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/ingest_stats/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/ingest_stats/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/ingest_stats/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/ingest_stats/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/ingest_stats/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/investigations/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/investigations/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/investigations/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/investigations/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/investigations/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/investigations2/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/investigations2/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/investigations2/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/investigations2/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/investigations2/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/isensor/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/isensor/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/isensor/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/isensor/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/isensor/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/mitre_attack_info/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/mitre_attack_info/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/mitre_attack_info/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/mitre_attack_info/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/mitre_attack_info/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/multi_tenant_context/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/multi_tenant_context/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/multi_tenant_context/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/multi_tenant_context/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/multi_tenant_context/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/multi_tenant_ioc/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/multi_tenant_ioc/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/multi_tenant_ioc/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/multi_tenant_ioc/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/multi_tenant_ioc/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/nl_search/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/nl_search/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/nl_search/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/nl_search/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/nl_search/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/notebooks/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/notebooks/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/notebooks/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/notebooks/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/notebooks/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/notifications/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/notifications/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/notifications/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/notifications/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/notifications/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/preferences/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/preferences/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/preferences/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/preferences/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/preferences/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/process_trees/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/process_trees/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/process_trees/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/process_trees/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/process_trees/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/queries/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/queries/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/queries/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/queries/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/queries/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/roadrunner/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/roadrunner/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/roadrunner/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/roadrunner/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/roadrunner/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/rules/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/rules/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/rules/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/rules/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/rules/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/sharelinks/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/sharelinks/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/sharelinks/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/sharelinks/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/sharelinks/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/subjects/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/subjects/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/subjects/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/subjects/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/tenant_profiles/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/tenant_profiles/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/tenant_profiles/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/tenant_profiles/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/tenant_profiles/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/tenants/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/tenants/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/tenants/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/tenants/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/tenants/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/tenants4/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/tenants4/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/tenants4/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/threat/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/threat/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/threat/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/threat_score/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/threat_score/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/threat_score/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/threat_score/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/threat_score/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/trigger_action/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/trigger_action/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/trigger_action/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/trigger_action/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/trigger_action/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/trip/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/trip/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/trip/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/trip/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/trip/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/users/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/users/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/users/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/users/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/users/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/vdr/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/vdr/mutations.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/vdr/queries.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/vdr/subscriptions.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/vdr/types.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/tokens.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/transport/__init__.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/transport/aiohttp_websockets.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/utils.py +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python.egg-info/dependency_links.txt +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python.egg-info/requires.txt +0 -0
- {taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "v1.4.12"
|
{taegis_sdk_python-1.4.10 → taegis_sdk_python-1.4.12}/taegis_sdk_python/services/__init__.py
RENAMED
|
@@ -45,6 +45,7 @@ from taegis_sdk_python.services.endpoint_management_service import (
|
|
|
45
45
|
from taegis_sdk_python.services.event_search import EventSearchService
|
|
46
46
|
from taegis_sdk_python.services.events import EventsService
|
|
47
47
|
from taegis_sdk_python.services.exports import ExportsService
|
|
48
|
+
from taegis_sdk_python.services.entity_context import EntityContextService
|
|
48
49
|
from taegis_sdk_python.services.fast_ioc import FastIocService
|
|
49
50
|
from taegis_sdk_python.services.file_info import FileInfoService
|
|
50
51
|
from taegis_sdk_python.services.ingest_stats import IngestStatsService
|
|
@@ -73,6 +74,7 @@ from taegis_sdk_python.services.trigger_action import TriggerActionService
|
|
|
73
74
|
from taegis_sdk_python.services.trip import TripService
|
|
74
75
|
from taegis_sdk_python.services.users import UsersService
|
|
75
76
|
from taegis_sdk_python.services.vdr import VDRService
|
|
77
|
+
from taegis_sdk_python.services.xdr_central_connector import XdrCentralConnectorService
|
|
76
78
|
|
|
77
79
|
__all__ = ["GraphQLService"]
|
|
78
80
|
|
|
@@ -192,6 +194,7 @@ class GraphQLService:
|
|
|
192
194
|
self._detector_registry = None
|
|
193
195
|
self._endpoint_command_manager = None
|
|
194
196
|
self._endpoint_management_service = None
|
|
197
|
+
self._entity_context = None
|
|
195
198
|
self._event_search = None
|
|
196
199
|
self._events = None
|
|
197
200
|
self._exports = None
|
|
@@ -224,6 +227,7 @@ class GraphQLService:
|
|
|
224
227
|
self._trip = None
|
|
225
228
|
self._users = None
|
|
226
229
|
self._vdr = None
|
|
230
|
+
self._xdr_central_connector = None
|
|
227
231
|
|
|
228
232
|
def __call__(self, **kwargs):
|
|
229
233
|
if threading.get_ident() not in self._context_kwargs:
|
|
@@ -546,6 +550,13 @@ class GraphQLService:
|
|
|
546
550
|
self._endpoint_management_service = EndpointManagementServiceService(self)
|
|
547
551
|
return self._endpoint_management_service
|
|
548
552
|
|
|
553
|
+
@property
|
|
554
|
+
def entity_context(self):
|
|
555
|
+
"""Entity Context Service Endpoint."""
|
|
556
|
+
if not self._entity_context:
|
|
557
|
+
self._entity_context = EntityContextService(self)
|
|
558
|
+
return self._entity_context
|
|
559
|
+
|
|
549
560
|
@property
|
|
550
561
|
def event_search(self):
|
|
551
562
|
"""Events Search Service Endpoint."""
|
|
@@ -769,3 +780,10 @@ class GraphQLService:
|
|
|
769
780
|
if not self._vdr:
|
|
770
781
|
self._vdr = VDRService(self)
|
|
771
782
|
return self._vdr
|
|
783
|
+
|
|
784
|
+
@property
|
|
785
|
+
def xdr_central_connector(self):
|
|
786
|
+
"""XDR Central Connector Service Endpoint."""
|
|
787
|
+
if not self._xdr_central_connector:
|
|
788
|
+
self._xdr_central_connector = XdrCentralConnectorService(self)
|
|
789
|
+
return self._xdr_central_connector
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
""""EntityContext Service."""
|
|
2
|
+
|
|
3
|
+
from taegis_sdk_python.service_core import ServiceCore
|
|
4
|
+
from taegis_sdk_python.services.entity_context.mutations import (
|
|
5
|
+
TaegisSDKEntityContextMutation,
|
|
6
|
+
)
|
|
7
|
+
from taegis_sdk_python.services.entity_context.queries import (
|
|
8
|
+
TaegisSDKEntityContextQuery,
|
|
9
|
+
)
|
|
10
|
+
from taegis_sdk_python.services.entity_context.subscriptions import (
|
|
11
|
+
TaegisSDKEntityContextSubscription,
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class EntityContextService(ServiceCore):
|
|
16
|
+
"""Taegis EntityContext Service."""
|
|
17
|
+
|
|
18
|
+
@property
|
|
19
|
+
def query(self):
|
|
20
|
+
if not self._queries:
|
|
21
|
+
self._queries = TaegisSDKEntityContextQuery(self)
|
|
22
|
+
return self._queries
|
|
23
|
+
|
|
24
|
+
@property
|
|
25
|
+
def mutation(self):
|
|
26
|
+
if not self._mutations:
|
|
27
|
+
self._mutations = TaegisSDKEntityContextMutation(self)
|
|
28
|
+
return self._mutations
|
|
29
|
+
|
|
30
|
+
@property
|
|
31
|
+
def subscription(self):
|
|
32
|
+
if not self._subscriptions:
|
|
33
|
+
self._subscriptions = TaegisSDKEntityContextSubscription(self)
|
|
34
|
+
return self._subscriptions
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"""EntityContext 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.entity_context.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.entity_context import EntityContextService
|
|
25
|
+
|
|
26
|
+
log = logging.getLogger(__name__)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class TaegisSDKEntityContextMutation:
|
|
30
|
+
"""Taegis Entity_context Mutation operations."""
|
|
31
|
+
|
|
32
|
+
def __init__(self, service: EntityContextService):
|
|
33
|
+
self.service = service
|
|
34
|
+
|
|
35
|
+
def entity_context_add_to(
|
|
36
|
+
self,
|
|
37
|
+
entry_point: EntityContextEntryPoint,
|
|
38
|
+
to_add: EntityContextAddToInput,
|
|
39
|
+
filters: Optional[EntityContextGroupedSubgraphFilters] = None,
|
|
40
|
+
) -> EntityContextGroupedSubgraphForResponse:
|
|
41
|
+
"""Mutation to add an subgraph to the graph.
|
|
42
|
+
The entrypoint specifies the type of object you are adding to and will syncronously call the coresponding API.
|
|
43
|
+
Afterwards a subgraph will be generated from the resource ids in options and added to the graph.
|
|
44
|
+
If multiple Ids are specified, the mutation will be applied to all of them and returned as one subgraph..
|
|
45
|
+
"""
|
|
46
|
+
endpoint = "entityContextAddTo"
|
|
47
|
+
|
|
48
|
+
result = self.service.execute_mutation(
|
|
49
|
+
endpoint=endpoint,
|
|
50
|
+
variables={
|
|
51
|
+
"entryPoint": prepare_input(entry_point),
|
|
52
|
+
"toAdd": prepare_input(to_add),
|
|
53
|
+
"filters": prepare_input(filters),
|
|
54
|
+
},
|
|
55
|
+
output=build_output_string(EntityContextGroupedSubgraphForResponse),
|
|
56
|
+
)
|
|
57
|
+
if result.get(endpoint) is not None:
|
|
58
|
+
return EntityContextGroupedSubgraphForResponse.from_dict(
|
|
59
|
+
result.get(endpoint)
|
|
60
|
+
)
|
|
61
|
+
raise GraphQLNoRowsInResultSetError("for mutation entityContextAddTo")
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
"""EntityContext 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.utils import (
|
|
16
|
+
build_output_string,
|
|
17
|
+
parse_union_result,
|
|
18
|
+
prepare_input,
|
|
19
|
+
)
|
|
20
|
+
from taegis_sdk_python._consts import TaegisEnum
|
|
21
|
+
from taegis_sdk_python.services.entity_context.types import *
|
|
22
|
+
|
|
23
|
+
if TYPE_CHECKING: # pragma: no cover
|
|
24
|
+
from taegis_sdk_python.services.entity_context import EntityContextService
|
|
25
|
+
|
|
26
|
+
log = logging.getLogger(__name__)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class TaegisSDKEntityContextQuery:
|
|
30
|
+
"""Taegis Entity_context Query operations."""
|
|
31
|
+
|
|
32
|
+
def __init__(self, service: EntityContextService):
|
|
33
|
+
self.service = service
|
|
34
|
+
|
|
35
|
+
def entity_context(
|
|
36
|
+
self, entity_id: str, origin: Optional[EntityContextOrigin] = None
|
|
37
|
+
) -> EntityContextEntity:
|
|
38
|
+
"""Returns a single entity that matches the provided id. Must use hashed global id of the entity.."""
|
|
39
|
+
endpoint = "entityContext"
|
|
40
|
+
|
|
41
|
+
result = self.service.execute_query(
|
|
42
|
+
endpoint=endpoint,
|
|
43
|
+
variables={
|
|
44
|
+
"entityID": prepare_input(entity_id),
|
|
45
|
+
"origin": prepare_input(origin),
|
|
46
|
+
},
|
|
47
|
+
output=build_output_string(EntityContextEntity),
|
|
48
|
+
)
|
|
49
|
+
if result.get(endpoint) is not None:
|
|
50
|
+
return EntityContextEntity.from_dict(result.get(endpoint))
|
|
51
|
+
raise GraphQLNoRowsInResultSetError("for query entityContext")
|
|
52
|
+
|
|
53
|
+
def entity_context_by_identifiers(
|
|
54
|
+
self,
|
|
55
|
+
identifiers: EntityContextIdByIdentifiers,
|
|
56
|
+
origin: Optional[EntityContextOrigin] = None,
|
|
57
|
+
) -> EntityContextEntity:
|
|
58
|
+
"""Returns a single entity that matches the provided id. Must use valid set or superset of identifiers.
|
|
59
|
+
EntityContextIdByIdentifiers.matchWeakerIdentifiers must be set to false, as only a single entity may be returned by this query.
|
|
60
|
+
Use 'entityContexts' for multiple entities by identifiers.."""
|
|
61
|
+
endpoint = "entityContextByIdentifiers"
|
|
62
|
+
|
|
63
|
+
result = self.service.execute_query(
|
|
64
|
+
endpoint=endpoint,
|
|
65
|
+
variables={
|
|
66
|
+
"identifiers": prepare_input(identifiers),
|
|
67
|
+
"origin": prepare_input(origin),
|
|
68
|
+
},
|
|
69
|
+
output=build_output_string(EntityContextEntity),
|
|
70
|
+
)
|
|
71
|
+
if result.get(endpoint) is not None:
|
|
72
|
+
return EntityContextEntity.from_dict(result.get(endpoint))
|
|
73
|
+
raise GraphQLNoRowsInResultSetError("for query entityContextByIdentifiers")
|
|
74
|
+
|
|
75
|
+
def entity_contexts(
|
|
76
|
+
self,
|
|
77
|
+
arguments: EntityContextsArguments,
|
|
78
|
+
page: Optional[EntityContextPageInput] = None,
|
|
79
|
+
) -> EntityContexts:
|
|
80
|
+
"""Returns a list of entities that match the arguments.."""
|
|
81
|
+
endpoint = "entityContexts"
|
|
82
|
+
|
|
83
|
+
result = self.service.execute_query(
|
|
84
|
+
endpoint=endpoint,
|
|
85
|
+
variables={
|
|
86
|
+
"arguments": prepare_input(arguments),
|
|
87
|
+
"page": prepare_input(page),
|
|
88
|
+
},
|
|
89
|
+
output=build_output_string(EntityContexts),
|
|
90
|
+
)
|
|
91
|
+
if result.get(endpoint) is not None:
|
|
92
|
+
return EntityContexts.from_dict(result.get(endpoint))
|
|
93
|
+
raise GraphQLNoRowsInResultSetError("for query entityContexts")
|
|
94
|
+
|
|
95
|
+
def entity_context_edge(
|
|
96
|
+
self, edge_id: str, origin: Optional[EntityContextOrigin] = None
|
|
97
|
+
) -> EntityContextEdge:
|
|
98
|
+
"""Returns a single edge that matches the provided id. Must use hashed global id of the edge.."""
|
|
99
|
+
endpoint = "entityContextEdge"
|
|
100
|
+
|
|
101
|
+
result = self.service.execute_query(
|
|
102
|
+
endpoint=endpoint,
|
|
103
|
+
variables={
|
|
104
|
+
"edgeId": prepare_input(edge_id),
|
|
105
|
+
"origin": prepare_input(origin),
|
|
106
|
+
},
|
|
107
|
+
output=build_output_string(EntityContextEdge),
|
|
108
|
+
)
|
|
109
|
+
if result.get(endpoint) is not None:
|
|
110
|
+
return EntityContextEdge.from_dict(result.get(endpoint))
|
|
111
|
+
raise GraphQLNoRowsInResultSetError("for query entityContextEdge")
|
|
112
|
+
|
|
113
|
+
def entity_context_grouped_subgraph_for(
|
|
114
|
+
self,
|
|
115
|
+
entry_point: EntityContextEntryPoint,
|
|
116
|
+
filters: Optional[EntityContextGroupedSubgraphFilters] = None,
|
|
117
|
+
source: Optional[EntityContextSourceInput] = None,
|
|
118
|
+
options: Optional[Any] = None,
|
|
119
|
+
) -> EntityContextGroupedSubgraphForResponse:
|
|
120
|
+
"""Returns a subgraph with any edges of the same type between two entities grouped together.
|
|
121
|
+
The data source for the subgraph can be from the graph, on-demand, or a on-demand fallback.
|
|
122
|
+
Choosing to retrieve only data currently present in the graph will be the fastest option.
|
|
123
|
+
ON_DEMAND_FALLBACK is the default and is a compromise of the two, first searching the graph
|
|
124
|
+
and then populating the missing data with on-demand data (which can be much slower)..
|
|
125
|
+
"""
|
|
126
|
+
endpoint = "entityContextGroupedSubgraphFor"
|
|
127
|
+
|
|
128
|
+
result = self.service.execute_query(
|
|
129
|
+
endpoint=endpoint,
|
|
130
|
+
variables={
|
|
131
|
+
"entryPoint": prepare_input(entry_point),
|
|
132
|
+
"filters": prepare_input(filters),
|
|
133
|
+
"source": prepare_input(source),
|
|
134
|
+
"options": prepare_input(options),
|
|
135
|
+
},
|
|
136
|
+
output=build_output_string(EntityContextGroupedSubgraphForResponse),
|
|
137
|
+
)
|
|
138
|
+
if result.get(endpoint) is not None:
|
|
139
|
+
return EntityContextGroupedSubgraphForResponse.from_dict(
|
|
140
|
+
result.get(endpoint)
|
|
141
|
+
)
|
|
142
|
+
raise GraphQLNoRowsInResultSetError("for query entityContextGroupedSubgraphFor")
|
|
143
|
+
|
|
144
|
+
def entity_context_related_resources(
|
|
145
|
+
self,
|
|
146
|
+
entry_point: EntityContextEntryPoint,
|
|
147
|
+
time_filter: Optional[EntityContextTimeFilters] = None,
|
|
148
|
+
page: Optional[EntityContextPageInput] = None,
|
|
149
|
+
) -> EntityContextRelatedResources:
|
|
150
|
+
"""Provides a list of related events, alerts, and investigations for a given element. If the entryPoint is of type Entity
|
|
151
|
+
it will look at all the edges that are incoming or outgoing to the provided entities. All other entryPoint types will
|
|
152
|
+
correspond to an edge, which will look at the incoming or outgoing edges from the provided edges vertices.
|
|
153
|
+
|
|
154
|
+
Warning: It is possible for data to be missing for highly connected entrypoints. This is because we have a hard limit on
|
|
155
|
+
the number of edges we can explore to prevent timeouts.."""
|
|
156
|
+
endpoint = "entityContextRelatedResources"
|
|
157
|
+
|
|
158
|
+
result = self.service.execute_query(
|
|
159
|
+
endpoint=endpoint,
|
|
160
|
+
variables={
|
|
161
|
+
"entryPoint": prepare_input(entry_point),
|
|
162
|
+
"timeFilter": prepare_input(time_filter),
|
|
163
|
+
"page": prepare_input(page),
|
|
164
|
+
},
|
|
165
|
+
output=build_output_string(EntityContextRelatedResources),
|
|
166
|
+
)
|
|
167
|
+
if result.get(endpoint) is not None:
|
|
168
|
+
return EntityContextRelatedResources.from_dict(result.get(endpoint))
|
|
169
|
+
raise GraphQLNoRowsInResultSetError("for query entityContextRelatedResources")
|
|
170
|
+
|
|
171
|
+
def entity_context_associated_entities(
|
|
172
|
+
self,
|
|
173
|
+
entry_point: EntityContextEntryPoint,
|
|
174
|
+
filters: EntityContextAssociatedEntitiesFilters = EntityContextAssociatedEntitiesFilters.from_dict(
|
|
175
|
+
{
|
|
176
|
+
"sortOrder": "DESC",
|
|
177
|
+
"filter": {"timeFilter": {"lastSeen": {}}, "collectProperties": True},
|
|
178
|
+
}
|
|
179
|
+
),
|
|
180
|
+
page: Optional[EntityContextPageInput] = None,
|
|
181
|
+
source: Optional[EntityContextSourceInput] = None,
|
|
182
|
+
) -> EntityContextAssociatedEntitiesResponse:
|
|
183
|
+
"""Provides a list of related entities for a given element. If the entrypoint is an entity, it will return just the
|
|
184
|
+
input entity. If its an edge or resource, it will return the entities connected to the edge or resource. If page is
|
|
185
|
+
null it will return all entities. If page is not null, it will return a page of entities sorted by the filters
|
|
186
|
+
|
|
187
|
+
Warning: It is possible for data to be missing for highly connected entrypoints. This is because we have a hard limit on
|
|
188
|
+
the number of edges we can explore to prevent timeouts.."""
|
|
189
|
+
endpoint = "entityContextAssociatedEntities"
|
|
190
|
+
|
|
191
|
+
result = self.service.execute_query(
|
|
192
|
+
endpoint=endpoint,
|
|
193
|
+
variables={
|
|
194
|
+
"entryPoint": prepare_input(entry_point),
|
|
195
|
+
"filters": prepare_input(filters),
|
|
196
|
+
"page": prepare_input(page),
|
|
197
|
+
"source": prepare_input(source),
|
|
198
|
+
},
|
|
199
|
+
output=build_output_string(EntityContextAssociatedEntitiesResponse),
|
|
200
|
+
)
|
|
201
|
+
if result.get(endpoint) is not None:
|
|
202
|
+
return EntityContextAssociatedEntitiesResponse.from_dict(
|
|
203
|
+
result.get(endpoint)
|
|
204
|
+
)
|
|
205
|
+
raise GraphQLNoRowsInResultSetError("for query entityContextAssociatedEntities")
|
|
206
|
+
|
|
207
|
+
def entity_context_pivot_ql(
|
|
208
|
+
self,
|
|
209
|
+
entry_point: EntityContextEntryPoint,
|
|
210
|
+
options: EntityContextPivotQLOptions = EntityContextPivotQLOptions.from_dict(
|
|
211
|
+
{
|
|
212
|
+
"aggregation": "PER_ENTITY",
|
|
213
|
+
"type": "EVENTS",
|
|
214
|
+
"useStructuredEntities": True,
|
|
215
|
+
}
|
|
216
|
+
),
|
|
217
|
+
source: Optional[EntityContextSourceInput] = None,
|
|
218
|
+
) -> List[EntityContextPivotQLQuery]:
|
|
219
|
+
"""Provides a list of QL queries that can be used to pivot from the provided entry point. If the entrypoint is an
|
|
220
|
+
edge, event, alert, or investigation, it will return a list of queries that can be used to pivot to the entities
|
|
221
|
+
associated with them.."""
|
|
222
|
+
endpoint = "entityContextPivotQL"
|
|
223
|
+
|
|
224
|
+
result = self.service.execute_query(
|
|
225
|
+
endpoint=endpoint,
|
|
226
|
+
variables={
|
|
227
|
+
"entryPoint": prepare_input(entry_point),
|
|
228
|
+
"options": prepare_input(options),
|
|
229
|
+
"source": prepare_input(source),
|
|
230
|
+
},
|
|
231
|
+
output=build_output_string(EntityContextPivotQLQuery),
|
|
232
|
+
)
|
|
233
|
+
if result.get(endpoint) is not None:
|
|
234
|
+
return EntityContextPivotQLQuery.schema().load(
|
|
235
|
+
[r or {} for r in result.get(endpoint)], many=True
|
|
236
|
+
)
|
|
237
|
+
raise GraphQLNoRowsInResultSetError("for query entityContextPivotQL")
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"""EntityContext 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.entity_context.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.entity_context import EntityContextService
|
|
25
|
+
|
|
26
|
+
log = logging.getLogger(__name__)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class TaegisSDKEntityContextSubscription:
|
|
30
|
+
"""Taegis Entity_context Subscription operations."""
|
|
31
|
+
|
|
32
|
+
def __init__(self, service: EntityContextService):
|
|
33
|
+
self.service = service
|