taegis-sdk-python 1.2.15__tar.gz → 1.2.17__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.15/taegis_sdk_python.egg-info → taegis_sdk_python-1.2.17}/PKG-INFO +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/requirements.txt +2 -1
- taegis_sdk_python-1.2.17/taegis_sdk_python/_version.py +1 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/service_core.py +36 -13
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/__init__.py +69 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/access_points/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/access_points/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/access_points/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/agent/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/agent/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/agent/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/alerts/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/alerts/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/alerts/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/alerts/types.py +2 -2
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/assets/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/assets/queries.py +12 -8
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/assets/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/assets2/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/assets2/queries.py +10 -8
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/assets2/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/assets2/types.py +12 -12
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/audits/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/audits/queries.py +6 -2
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/audits/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/authz/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/authz/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/authz/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/byoti/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/byoti/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/byoti/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/clients/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/clients/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/clients/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/collector/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/collector/queries.py +19 -11
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/collector/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/comments/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/comments/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/comments/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/contracted_endpoint/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/contracted_endpoint/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/contracted_endpoint/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/datasources/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/datasources/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/datasources/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/detector_registry/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/detector_registry/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/detector_registry/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/endpoint_command_manager/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/endpoint_command_manager/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/endpoint_command_manager/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/endpoint_management_service/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/endpoint_management_service/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/endpoint_management_service/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/endpoint_management_service/types.py +10 -10
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/event_search/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/event_search/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/event_search/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/events/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/events/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/events/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/exports/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/exports/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/exports/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/exports/types.py +6 -6
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/fast_ioc/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/fast_ioc/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/fast_ioc/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/file_info/mutations.py +32 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/file_info/queries.py +40 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/file_info/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/file_info/types.py +139 -4
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/ingest_stats/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/ingest_stats/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/ingest_stats/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/investigations/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/investigations/queries.py +10 -8
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/investigations/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/investigations/types.py +2 -2
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/investigations2/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/investigations2/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/investigations2/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/investigations2/types.py +2 -2
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/mitre_attack_info/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/mitre_attack_info/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/mitre_attack_info/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/multi_tenant_context/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/multi_tenant_context/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/multi_tenant_context/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/multi_tenant_ioc/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/multi_tenant_ioc/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/multi_tenant_ioc/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/multi_tenant_ioc/types.py +14 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/notebooks/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/notebooks/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/notebooks/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/notifications/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/notifications/queries.py +6 -2
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/notifications/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/preferences/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/preferences/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/preferences/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/roadrunner/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/roadrunner/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/roadrunner/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/rules/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/rules/queries.py +26 -16
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/rules/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/rules/types.py +4 -4
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/sharelinks/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/sharelinks/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/sharelinks/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/subjects/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/subjects/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/subjects/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/subjects/types.py +2 -2
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/tenant_profiles/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/tenant_profiles/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/tenant_profiles/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/tenant_profiles/types.py +2 -2
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/tenants/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/tenants/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/tenants/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/tenants/types.py +8 -8
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/tenants4/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/tenants4/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/tenants4/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/tenants4/types.py +4 -4
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/threat/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/threat/queries.py +6 -2
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/threat/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/threat/types.py +16 -16
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/threat_score/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/threat_score/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/threat_score/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/trip/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/trip/queries.py +4 -2
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/trip/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/users/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/users/queries.py +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/users/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/users/types.py +16 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/vdr/mutations.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/vdr/queries.py +20 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/vdr/subscriptions.py +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/vdr/types.py +107 -30
- taegis_sdk_python-1.2.17/taegis_sdk_python/transport/__init__.py +0 -0
- taegis_sdk_python-1.2.17/taegis_sdk_python/transport/aiohttp_websockets.py +1238 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/utils.py +4 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17/taegis_sdk_python.egg-info}/PKG-INFO +2 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python.egg-info/SOURCES.txt +3 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python.egg-info/requires.txt +1 -0
- taegis_sdk_python-1.2.15/taegis_sdk_python/_version.py +0 -1
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/LICENSE +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/MANIFEST.in +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/README.md +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/requirements-dev.txt +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/requirements-test.txt +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/setup.cfg +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/setup.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/_consts.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/authentication.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/config.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/errors.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/access_points/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/access_points/types.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/agent/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/agent/types.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/alerts/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/assets/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/assets/types.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/assets2/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/audits/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/audits/types.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/authz/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/authz/types.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/byoti/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/byoti/types.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/clients/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/clients/types.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/collector/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/collector/types.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/comments/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/comments/types.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/contracted_endpoint/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/contracted_endpoint/types.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/datasources/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/datasources/types.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/detector_registry/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/detector_registry/types.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/endpoint_command_manager/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/endpoint_command_manager/types.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/endpoint_management_service/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/event_search/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/event_search/types.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/events/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/events/types.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/exports/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/fast_ioc/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/fast_ioc/types.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/file_info/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/ingest_stats/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/ingest_stats/types.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/investigations/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/investigations2/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/mitre_attack_info/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/mitre_attack_info/types.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/multi_tenant_context/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/multi_tenant_context/types.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/multi_tenant_ioc/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/notebooks/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/notebooks/types.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/notifications/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/notifications/types.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/preferences/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/preferences/types.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/queries/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/queries/mutations.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/queries/queries.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/queries/subscriptions.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/queries/types.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/roadrunner/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/roadrunner/types.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/rules/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/sharelinks/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/sharelinks/types.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/subjects/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/tenant_profiles/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/tenants/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/tenants4/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/threat/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/threat_score/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/threat_score/types.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/trip/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/trip/types.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/users/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/vdr/__init__.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/tokens.py +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python.egg-info/dependency_links.txt +0 -0
- {taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: taegis-sdk-python
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.17
|
|
4
4
|
Summary: Taegis Python SDK
|
|
5
5
|
Home-page: https://github.com/secureworks/taegis-sdk-python
|
|
6
6
|
Author: Secureworks
|
|
@@ -22,6 +22,7 @@ Requires-Dist: pyjwt>=2.8.0
|
|
|
22
22
|
Requires-Dist: requests-toolbelt
|
|
23
23
|
Requires-Dist: websockets
|
|
24
24
|
Requires-Dist: filelock>=3.12.4
|
|
25
|
+
Requires-Dist: aiohttp
|
|
25
26
|
|
|
26
27
|
# Taegis SDK for Python
|
|
27
28
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "v1.2.17"
|
|
@@ -6,17 +6,18 @@ Taegis ServiceCore manager.
|
|
|
6
6
|
from __future__ import annotations
|
|
7
7
|
|
|
8
8
|
import logging
|
|
9
|
+
import threading
|
|
9
10
|
from datetime import datetime, timedelta
|
|
10
11
|
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Union
|
|
11
|
-
|
|
12
|
+
|
|
13
|
+
from graphql import GraphQLError, GraphQLField, GraphQLSchema
|
|
12
14
|
|
|
13
15
|
from gql import Client, gql
|
|
14
16
|
from gql.transport import Transport
|
|
15
|
-
from gql.transport.
|
|
16
|
-
from gql.transport.websockets import WebsocketsTransport
|
|
17
|
-
from graphql import GraphQLError, GraphQLField, GraphQLSchema
|
|
17
|
+
from gql.transport.aiohttp import AIOHTTPTransport
|
|
18
18
|
from taegis_sdk_python._version import __version__
|
|
19
19
|
from taegis_sdk_python.errors import InvalidGraphQLEndpoint
|
|
20
|
+
from taegis_sdk_python.transport.aiohttp_websockets import AIOHTTPWebsocketsTransport
|
|
20
21
|
from taegis_sdk_python.utils import async_block, prepare_variables, remove_node
|
|
21
22
|
|
|
22
23
|
if TYPE_CHECKING: # pragma: no cover
|
|
@@ -129,7 +130,8 @@ class SchemaCacheMap:
|
|
|
129
130
|
del self._map[transport.url]
|
|
130
131
|
|
|
131
132
|
@staticmethod
|
|
132
|
-
|
|
133
|
+
@async_block
|
|
134
|
+
async def retrieve_schema(
|
|
133
135
|
transport: Transport, introspection_args: Dict[str, Any]
|
|
134
136
|
) -> GraphQLSchema:
|
|
135
137
|
"""Retrieve the schema from a gql Client with the provided transport and
|
|
@@ -152,7 +154,7 @@ class SchemaCacheMap:
|
|
|
152
154
|
introspection_args=introspection_args,
|
|
153
155
|
)
|
|
154
156
|
|
|
155
|
-
with client:
|
|
157
|
+
async with client:
|
|
156
158
|
schema = client.schema
|
|
157
159
|
|
|
158
160
|
return schema
|
|
@@ -207,9 +209,13 @@ class ServiceCore:
|
|
|
207
209
|
@property
|
|
208
210
|
def sync_client(self) -> Client:
|
|
209
211
|
"""GraphQL Synchronous Transport with Client."""
|
|
210
|
-
|
|
212
|
+
client_session_args = {"trust_env": self.service.trust_env}
|
|
213
|
+
|
|
214
|
+
transport = AIOHTTPTransport(
|
|
211
215
|
f"{self.sync_url}{self.gateway}",
|
|
212
216
|
headers=self.service.headers,
|
|
217
|
+
ssl=self.service.ssl,
|
|
218
|
+
client_session_args=client_session_args,
|
|
213
219
|
)
|
|
214
220
|
|
|
215
221
|
client = Client(
|
|
@@ -239,11 +245,17 @@ class ServiceCore:
|
|
|
239
245
|
if self.service.tenant_id:
|
|
240
246
|
subprotocols.append(f"x-tenant-context-{self.service.tenant_id}")
|
|
241
247
|
|
|
242
|
-
|
|
248
|
+
client_session_args = {"trust_env": self.service.trust_env}
|
|
249
|
+
|
|
250
|
+
transport = AIOHTTPWebsocketsTransport(
|
|
243
251
|
f"{self.wss_url}{self.gateway}",
|
|
244
252
|
headers=self.service.headers,
|
|
245
253
|
subprotocols=subprotocols,
|
|
246
|
-
|
|
254
|
+
ssl=self.service.ssl,
|
|
255
|
+
client_session_args=client_session_args,
|
|
256
|
+
proxy=self.service.proxy,
|
|
257
|
+
proxy_auth=self.service.proxy_auth,
|
|
258
|
+
proxy_headers=self.service.proxy_headers,
|
|
247
259
|
)
|
|
248
260
|
|
|
249
261
|
client = Client(
|
|
@@ -448,7 +460,8 @@ class ServiceCore:
|
|
|
448
460
|
|
|
449
461
|
return self.subscribe(query_string, variables)
|
|
450
462
|
|
|
451
|
-
|
|
463
|
+
@async_block
|
|
464
|
+
async def execute(
|
|
452
465
|
self, query_string: str, variables: Optional[Dict[str, Any]] = None
|
|
453
466
|
) -> Any:
|
|
454
467
|
"""Execute a GraphQL string.
|
|
@@ -465,10 +478,19 @@ class ServiceCore:
|
|
|
465
478
|
Any
|
|
466
479
|
Query/Mutation results
|
|
467
480
|
"""
|
|
481
|
+
extra_args = {}
|
|
482
|
+
if self.service.proxy:
|
|
483
|
+
extra_args = {
|
|
484
|
+
"proxy": self.service.proxy,
|
|
485
|
+
"proxy_auth": self.service.proxy_auth,
|
|
486
|
+
"proxy_headers": self.service.proxy_headers,
|
|
487
|
+
}
|
|
488
|
+
|
|
468
489
|
query = gql(query_string)
|
|
469
|
-
return self.sync_client.
|
|
490
|
+
return await self.sync_client.execute_async(
|
|
470
491
|
query,
|
|
471
492
|
variable_values=prepare_variables(variables),
|
|
493
|
+
extra_args=extra_args,
|
|
472
494
|
)
|
|
473
495
|
|
|
474
496
|
@async_block
|
|
@@ -500,7 +522,8 @@ class ServiceCore:
|
|
|
500
522
|
|
|
501
523
|
return results[:-1]
|
|
502
524
|
|
|
503
|
-
|
|
525
|
+
@async_block
|
|
526
|
+
async def _build_validated_query(
|
|
504
527
|
self,
|
|
505
528
|
operation_type: str,
|
|
506
529
|
endpoint: str,
|
|
@@ -537,7 +560,7 @@ class ServiceCore:
|
|
|
537
560
|
query_string = " ".join(query_string.split())
|
|
538
561
|
|
|
539
562
|
# open a connection for introspection and download schema
|
|
540
|
-
with self.sync_client as session:
|
|
563
|
+
async with self.sync_client as session:
|
|
541
564
|
# if multiple fields are invalid, we want to iterate until the
|
|
542
565
|
# output string is valid
|
|
543
566
|
for _ in range(10000):
|
{taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/__init__.py
RENAMED
|
@@ -2,8 +2,14 @@
|
|
|
2
2
|
This needs to be a generated file. Need to make jinja template.
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
import logging
|
|
6
6
|
import threading
|
|
7
|
+
from ssl import SSLContext
|
|
8
|
+
from typing import Any, Dict, Optional, Union, Literal
|
|
9
|
+
|
|
10
|
+
import aiohttp
|
|
11
|
+
from aiohttp.client_reqrep import Fingerprint
|
|
12
|
+
from aiohttp.typedefs import LooseHeaders
|
|
7
13
|
|
|
8
14
|
from taegis_sdk_python._consts import TAEGIS_ENVIRONMENT_URLS
|
|
9
15
|
from taegis_sdk_python._version import __version__
|
|
@@ -60,6 +66,8 @@ from taegis_sdk_python.services.vdr import VDRService
|
|
|
60
66
|
|
|
61
67
|
__all__ = ["GraphQLService"]
|
|
62
68
|
|
|
69
|
+
log = logging.getLogger(__name__)
|
|
70
|
+
|
|
63
71
|
|
|
64
72
|
class GraphQLService:
|
|
65
73
|
"""Taegis GraphQL Service manager."""
|
|
@@ -73,6 +81,11 @@ class GraphQLService:
|
|
|
73
81
|
gateway: Optional[str] = None,
|
|
74
82
|
extra_headers: Optional[Dict[str, Any]] = None,
|
|
75
83
|
schema_expiry: int = 5,
|
|
84
|
+
proxy: Optional[str] = None,
|
|
85
|
+
proxy_auth: Optional[aiohttp.BasicAuth] = None,
|
|
86
|
+
proxy_headers: Optional[LooseHeaders] = None,
|
|
87
|
+
trust_env: bool = False,
|
|
88
|
+
ssl: Optional[Union[SSLContext, Literal[False], Fingerprint]] = None,
|
|
76
89
|
): # pylint: disable=too-many-statements
|
|
77
90
|
"""
|
|
78
91
|
GraphQLService
|
|
@@ -114,6 +127,18 @@ class GraphQLService:
|
|
|
114
127
|
self._schema_expiry = schema_expiry
|
|
115
128
|
self._input_value_deprecation = None
|
|
116
129
|
|
|
130
|
+
if trust_env and proxy:
|
|
131
|
+
raise ValueError("trust_env and proxy cannot be used together")
|
|
132
|
+
|
|
133
|
+
if proxy_auth and not proxy:
|
|
134
|
+
raise ValueError("proxy_auth requires proxy to be set")
|
|
135
|
+
|
|
136
|
+
self._proxy = proxy
|
|
137
|
+
self._proxy_auth = proxy_auth
|
|
138
|
+
self._proxy_headers = proxy_headers
|
|
139
|
+
self._ssl = ssl
|
|
140
|
+
self._trust_env = trust_env
|
|
141
|
+
|
|
117
142
|
self._access_points = None
|
|
118
143
|
self._agent = None
|
|
119
144
|
self._alerts = None
|
|
@@ -270,6 +295,49 @@ class GraphQLService:
|
|
|
270
295
|
"input_value_deprecation", self._input_value_deprecation
|
|
271
296
|
)
|
|
272
297
|
|
|
298
|
+
@property
|
|
299
|
+
def proxy(self):
|
|
300
|
+
"""Proxy URL for API requests."""
|
|
301
|
+
return self._context_manager.get("proxy", self._proxy)
|
|
302
|
+
|
|
303
|
+
@property
|
|
304
|
+
def proxy_auth(self):
|
|
305
|
+
"""Proxy Auth for API requests."""
|
|
306
|
+
value = self._context_manager.get("proxy_auth", self._proxy_auth)
|
|
307
|
+
|
|
308
|
+
if value and not self.proxy:
|
|
309
|
+
log.warning("proxy_auth is ignored when proxy is not set")
|
|
310
|
+
return None
|
|
311
|
+
|
|
312
|
+
return value
|
|
313
|
+
|
|
314
|
+
@property
|
|
315
|
+
def proxy_headers(self):
|
|
316
|
+
"""Proxy Headers for API requests."""
|
|
317
|
+
value = self._context_manager.get("proxy_headers", self._proxy_headers)
|
|
318
|
+
|
|
319
|
+
if value and not self.proxy:
|
|
320
|
+
log.warning("proxy_headers is ignored when proxy is not set")
|
|
321
|
+
return None
|
|
322
|
+
|
|
323
|
+
return value
|
|
324
|
+
|
|
325
|
+
@property
|
|
326
|
+
def ssl(self):
|
|
327
|
+
"""SSL Context for API requests."""
|
|
328
|
+
return self._context_manager.get("ssl", self._ssl)
|
|
329
|
+
|
|
330
|
+
@property
|
|
331
|
+
def trust_env(self):
|
|
332
|
+
"""Trust Environment for Proxy Authentication."""
|
|
333
|
+
value = self._context_manager.get("trust_env", self._trust_env)
|
|
334
|
+
|
|
335
|
+
if value and self.proxy:
|
|
336
|
+
log.warning("trust_env is ignored when proxy is set")
|
|
337
|
+
return False
|
|
338
|
+
|
|
339
|
+
return value
|
|
340
|
+
|
|
273
341
|
@property
|
|
274
342
|
def access_points(self):
|
|
275
343
|
"""Access Points Service Endpoint."""
|
|
@@ -11,12 +11,13 @@ import logging
|
|
|
11
11
|
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union
|
|
12
12
|
|
|
13
13
|
from taegis_sdk_python import GraphQLNoRowsInResultSetError
|
|
14
|
+
from taegis_sdk_python._consts import TaegisEnum
|
|
15
|
+
from taegis_sdk_python.services.access_points.types import *
|
|
14
16
|
from taegis_sdk_python.utils import (
|
|
15
17
|
build_output_string,
|
|
16
18
|
parse_union_result,
|
|
17
19
|
prepare_input,
|
|
18
20
|
)
|
|
19
|
-
from taegis_sdk_python.services.access_points.types import *
|
|
20
21
|
|
|
21
22
|
if TYPE_CHECKING: # pragma: no cover
|
|
22
23
|
from taegis_sdk_python.services.access_points import AccessPointsService
|
|
@@ -11,16 +11,18 @@ import logging
|
|
|
11
11
|
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union
|
|
12
12
|
|
|
13
13
|
from taegis_sdk_python import GraphQLNoRowsInResultSetError
|
|
14
|
+
from taegis_sdk_python._consts import TaegisEnum
|
|
15
|
+
from taegis_sdk_python.services.access_points.types import *
|
|
14
16
|
from taegis_sdk_python.utils import (
|
|
15
17
|
build_output_string,
|
|
16
18
|
parse_union_result,
|
|
17
19
|
prepare_input,
|
|
18
20
|
)
|
|
19
|
-
from taegis_sdk_python.services.access_points.types import *
|
|
20
21
|
|
|
21
22
|
if TYPE_CHECKING: # pragma: no cover
|
|
22
23
|
from taegis_sdk_python.services.access_points import AccessPointsService
|
|
23
24
|
|
|
25
|
+
|
|
24
26
|
log = logging.getLogger(__name__)
|
|
25
27
|
|
|
26
28
|
|
|
@@ -11,12 +11,13 @@ import logging
|
|
|
11
11
|
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union
|
|
12
12
|
|
|
13
13
|
from taegis_sdk_python import GraphQLNoRowsInResultSetError
|
|
14
|
+
from taegis_sdk_python._consts import TaegisEnum
|
|
15
|
+
from taegis_sdk_python.services.access_points.types import *
|
|
14
16
|
from taegis_sdk_python.utils import (
|
|
15
17
|
build_output_string,
|
|
16
18
|
parse_union_result,
|
|
17
19
|
prepare_input,
|
|
18
20
|
)
|
|
19
|
-
from taegis_sdk_python.services.access_points.types import *
|
|
20
21
|
|
|
21
22
|
if TYPE_CHECKING: # pragma: no cover
|
|
22
23
|
from taegis_sdk_python.services.access_points import AccessPointsService
|
{taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/agent/mutations.py
RENAMED
|
@@ -11,12 +11,13 @@ import logging
|
|
|
11
11
|
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union
|
|
12
12
|
|
|
13
13
|
from taegis_sdk_python import GraphQLNoRowsInResultSetError
|
|
14
|
+
from taegis_sdk_python._consts import TaegisEnum
|
|
15
|
+
from taegis_sdk_python.services.agent.types import *
|
|
14
16
|
from taegis_sdk_python.utils import (
|
|
15
17
|
build_output_string,
|
|
16
18
|
parse_union_result,
|
|
17
19
|
prepare_input,
|
|
18
20
|
)
|
|
19
|
-
from taegis_sdk_python.services.agent.types import *
|
|
20
21
|
|
|
21
22
|
if TYPE_CHECKING: # pragma: no cover
|
|
22
23
|
from taegis_sdk_python.services.agent import AgentService
|
{taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/agent/queries.py
RENAMED
|
@@ -11,16 +11,18 @@ import logging
|
|
|
11
11
|
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union
|
|
12
12
|
|
|
13
13
|
from taegis_sdk_python import GraphQLNoRowsInResultSetError
|
|
14
|
+
from taegis_sdk_python._consts import TaegisEnum
|
|
15
|
+
from taegis_sdk_python.services.agent.types import *
|
|
14
16
|
from taegis_sdk_python.utils import (
|
|
15
17
|
build_output_string,
|
|
16
18
|
parse_union_result,
|
|
17
19
|
prepare_input,
|
|
18
20
|
)
|
|
19
|
-
from taegis_sdk_python.services.agent.types import *
|
|
20
21
|
|
|
21
22
|
if TYPE_CHECKING: # pragma: no cover
|
|
22
23
|
from taegis_sdk_python.services.agent import AgentService
|
|
23
24
|
|
|
25
|
+
|
|
24
26
|
log = logging.getLogger(__name__)
|
|
25
27
|
|
|
26
28
|
|
|
@@ -11,12 +11,13 @@ import logging
|
|
|
11
11
|
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union
|
|
12
12
|
|
|
13
13
|
from taegis_sdk_python import GraphQLNoRowsInResultSetError
|
|
14
|
+
from taegis_sdk_python._consts import TaegisEnum
|
|
15
|
+
from taegis_sdk_python.services.agent.types import *
|
|
14
16
|
from taegis_sdk_python.utils import (
|
|
15
17
|
build_output_string,
|
|
16
18
|
parse_union_result,
|
|
17
19
|
prepare_input,
|
|
18
20
|
)
|
|
19
|
-
from taegis_sdk_python.services.agent.types import *
|
|
20
21
|
|
|
21
22
|
if TYPE_CHECKING: # pragma: no cover
|
|
22
23
|
from taegis_sdk_python.services.agent import AgentService
|
{taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/alerts/mutations.py
RENAMED
|
@@ -11,12 +11,13 @@ import logging
|
|
|
11
11
|
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union
|
|
12
12
|
|
|
13
13
|
from taegis_sdk_python import GraphQLNoRowsInResultSetError
|
|
14
|
+
from taegis_sdk_python._consts import TaegisEnum
|
|
15
|
+
from taegis_sdk_python.services.alerts.types import *
|
|
14
16
|
from taegis_sdk_python.utils import (
|
|
15
17
|
build_output_string,
|
|
16
18
|
parse_union_result,
|
|
17
19
|
prepare_input,
|
|
18
20
|
)
|
|
19
|
-
from taegis_sdk_python.services.alerts.types import *
|
|
20
21
|
|
|
21
22
|
if TYPE_CHECKING: # pragma: no cover
|
|
22
23
|
from taegis_sdk_python.services.alerts import AlertsService
|
{taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/alerts/queries.py
RENAMED
|
@@ -11,16 +11,18 @@ import logging
|
|
|
11
11
|
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union
|
|
12
12
|
|
|
13
13
|
from taegis_sdk_python import GraphQLNoRowsInResultSetError
|
|
14
|
+
from taegis_sdk_python._consts import TaegisEnum
|
|
15
|
+
from taegis_sdk_python.services.alerts.types import *
|
|
14
16
|
from taegis_sdk_python.utils import (
|
|
15
17
|
build_output_string,
|
|
16
18
|
parse_union_result,
|
|
17
19
|
prepare_input,
|
|
18
20
|
)
|
|
19
|
-
from taegis_sdk_python.services.alerts.types import *
|
|
20
21
|
|
|
21
22
|
if TYPE_CHECKING: # pragma: no cover
|
|
22
23
|
from taegis_sdk_python.services.alerts import AlertsService
|
|
23
24
|
|
|
25
|
+
|
|
24
26
|
log = logging.getLogger(__name__)
|
|
25
27
|
|
|
26
28
|
|
|
@@ -11,12 +11,13 @@ import logging
|
|
|
11
11
|
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union
|
|
12
12
|
|
|
13
13
|
from taegis_sdk_python import GraphQLNoRowsInResultSetError
|
|
14
|
+
from taegis_sdk_python._consts import TaegisEnum
|
|
15
|
+
from taegis_sdk_python.services.alerts.types import *
|
|
14
16
|
from taegis_sdk_python.utils import (
|
|
15
17
|
build_output_string,
|
|
16
18
|
parse_union_result,
|
|
17
19
|
prepare_input,
|
|
18
20
|
)
|
|
19
|
-
from taegis_sdk_python.services.alerts.types import *
|
|
20
21
|
|
|
21
22
|
if TYPE_CHECKING: # pragma: no cover
|
|
22
23
|
from taegis_sdk_python.services.alerts import AlertsService
|
{taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/alerts/types.py
RENAMED
|
@@ -2104,11 +2104,11 @@ class AggregateAlertsBySeverityInputInput:
|
|
|
2104
2104
|
latest: Optional[TimestampInput] = field(
|
|
2105
2105
|
default=None, metadata=config(field_name="latest")
|
|
2106
2106
|
)
|
|
2107
|
-
excluded_severities: Optional[Union[
|
|
2107
|
+
excluded_severities: Optional[List[Union[AlertsSeverity, TaegisEnum]]] = field(
|
|
2108
2108
|
default=None,
|
|
2109
2109
|
metadata=config(
|
|
2110
2110
|
encoder=encode_enum,
|
|
2111
|
-
decoder=lambda x: decode_enum(
|
|
2111
|
+
decoder=lambda x: decode_enum(AlertsSeverity, x),
|
|
2112
2112
|
field_name="excluded_severities",
|
|
2113
2113
|
),
|
|
2114
2114
|
)
|
{taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/assets/mutations.py
RENAMED
|
@@ -11,12 +11,13 @@ import logging
|
|
|
11
11
|
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union
|
|
12
12
|
|
|
13
13
|
from taegis_sdk_python import GraphQLNoRowsInResultSetError
|
|
14
|
+
from taegis_sdk_python._consts import TaegisEnum
|
|
15
|
+
from taegis_sdk_python.services.assets.types import *
|
|
14
16
|
from taegis_sdk_python.utils import (
|
|
15
17
|
build_output_string,
|
|
16
18
|
parse_union_result,
|
|
17
19
|
prepare_input,
|
|
18
20
|
)
|
|
19
|
-
from taegis_sdk_python.services.assets.types import *
|
|
20
21
|
|
|
21
22
|
if TYPE_CHECKING: # pragma: no cover
|
|
22
23
|
from taegis_sdk_python.services.assets import AssetsService
|
{taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/assets/queries.py
RENAMED
|
@@ -11,16 +11,18 @@ import logging
|
|
|
11
11
|
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union
|
|
12
12
|
|
|
13
13
|
from taegis_sdk_python import GraphQLNoRowsInResultSetError
|
|
14
|
+
from taegis_sdk_python._consts import TaegisEnum
|
|
15
|
+
from taegis_sdk_python.services.assets.types import *
|
|
14
16
|
from taegis_sdk_python.utils import (
|
|
15
17
|
build_output_string,
|
|
16
18
|
parse_union_result,
|
|
17
19
|
prepare_input,
|
|
18
20
|
)
|
|
19
|
-
from taegis_sdk_python.services.assets.types import *
|
|
20
21
|
|
|
21
22
|
if TYPE_CHECKING: # pragma: no cover
|
|
22
23
|
from taegis_sdk_python.services.assets import AssetsService
|
|
23
24
|
|
|
25
|
+
|
|
24
26
|
log = logging.getLogger(__name__)
|
|
25
27
|
|
|
26
28
|
|
|
@@ -113,9 +115,9 @@ class TaegisSDKAssetsQuery:
|
|
|
113
115
|
self,
|
|
114
116
|
offset: Optional[int] = None,
|
|
115
117
|
limit: Optional[int] = None,
|
|
116
|
-
order_by: Optional[AssetsOrderByInput] = None,
|
|
117
|
-
order_direction: Optional[AssetsOrderDirectionInput] = None,
|
|
118
|
-
filter_asset_state: Optional[AssetStateFilter] = None,
|
|
118
|
+
order_by: Optional[Union[AssetsOrderByInput, TaegisEnum]] = None,
|
|
119
|
+
order_direction: Optional[Union[AssetsOrderDirectionInput, TaegisEnum]] = None,
|
|
120
|
+
filter_asset_state: Optional[Union[AssetStateFilter, TaegisEnum]] = None,
|
|
119
121
|
only_most_recent: Optional[bool] = None,
|
|
120
122
|
) -> AssetsResult:
|
|
121
123
|
"""Get a list of assets."""
|
|
@@ -159,7 +161,9 @@ class TaegisSDKAssetsQuery:
|
|
|
159
161
|
return AssetsResult.from_dict(result.get(endpoint))
|
|
160
162
|
raise GraphQLNoRowsInResultSetError("for query allAssetsExport")
|
|
161
163
|
|
|
162
|
-
def asset_count(
|
|
164
|
+
def asset_count(
|
|
165
|
+
self, endpoint_type: Optional[Union[AgentType, TaegisEnum]] = None
|
|
166
|
+
) -> AssetCounts:
|
|
163
167
|
"""Count of assets of a specific endpoint_type."""
|
|
164
168
|
endpoint = "assetCount"
|
|
165
169
|
|
|
@@ -323,10 +327,10 @@ class TaegisSDKAssetsQuery:
|
|
|
323
327
|
tag: Optional[str] = None,
|
|
324
328
|
host_id_partial_match: Optional[bool] = None,
|
|
325
329
|
only_most_recent: Optional[bool] = None,
|
|
326
|
-
order_by: Optional[AssetsOrderByInput] = None,
|
|
327
|
-
order_direction: Optional[AssetsOrderDirectionInput] = None,
|
|
330
|
+
order_by: Optional[Union[AssetsOrderByInput, TaegisEnum]] = None,
|
|
331
|
+
order_direction: Optional[Union[AssetsOrderDirectionInput, TaegisEnum]] = None,
|
|
328
332
|
or_search: Optional[bool] = None,
|
|
329
|
-
filter_asset_state: Optional[AssetStateFilter] = None,
|
|
333
|
+
filter_asset_state: Optional[Union[AssetStateFilter, TaegisEnum]] = None,
|
|
330
334
|
) -> AssetsResult:
|
|
331
335
|
"""search assets. Soon to be deprecated."""
|
|
332
336
|
endpoint = "searchAssets"
|
|
@@ -11,12 +11,13 @@ import logging
|
|
|
11
11
|
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union
|
|
12
12
|
|
|
13
13
|
from taegis_sdk_python import GraphQLNoRowsInResultSetError
|
|
14
|
+
from taegis_sdk_python._consts import TaegisEnum
|
|
15
|
+
from taegis_sdk_python.services.assets.types import *
|
|
14
16
|
from taegis_sdk_python.utils import (
|
|
15
17
|
build_output_string,
|
|
16
18
|
parse_union_result,
|
|
17
19
|
prepare_input,
|
|
18
20
|
)
|
|
19
|
-
from taegis_sdk_python.services.assets.types import *
|
|
20
21
|
|
|
21
22
|
if TYPE_CHECKING: # pragma: no cover
|
|
22
23
|
from taegis_sdk_python.services.assets import AssetsService
|
|
@@ -11,12 +11,13 @@ import logging
|
|
|
11
11
|
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union
|
|
12
12
|
|
|
13
13
|
from taegis_sdk_python import GraphQLNoRowsInResultSetError
|
|
14
|
+
from taegis_sdk_python._consts import TaegisEnum
|
|
15
|
+
from taegis_sdk_python.services.assets2.types import *
|
|
14
16
|
from taegis_sdk_python.utils import (
|
|
15
17
|
build_output_string,
|
|
16
18
|
parse_union_result,
|
|
17
19
|
prepare_input,
|
|
18
20
|
)
|
|
19
|
-
from taegis_sdk_python.services.assets2.types import *
|
|
20
21
|
|
|
21
22
|
if TYPE_CHECKING: # pragma: no cover
|
|
22
23
|
from taegis_sdk_python.services.assets2 import Assets2Service
|
{taegis_sdk_python-1.2.15 → taegis_sdk_python-1.2.17}/taegis_sdk_python/services/assets2/queries.py
RENAMED
|
@@ -11,16 +11,18 @@ import logging
|
|
|
11
11
|
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union
|
|
12
12
|
|
|
13
13
|
from taegis_sdk_python import GraphQLNoRowsInResultSetError
|
|
14
|
+
from taegis_sdk_python._consts import TaegisEnum
|
|
15
|
+
from taegis_sdk_python.services.assets2.types import *
|
|
14
16
|
from taegis_sdk_python.utils import (
|
|
15
17
|
build_output_string,
|
|
16
18
|
parse_union_result,
|
|
17
19
|
prepare_input,
|
|
18
20
|
)
|
|
19
|
-
from taegis_sdk_python.services.assets2.types import *
|
|
20
21
|
|
|
21
22
|
if TYPE_CHECKING: # pragma: no cover
|
|
22
23
|
from taegis_sdk_python.services.assets2 import Assets2Service
|
|
23
24
|
|
|
25
|
+
|
|
24
26
|
log = logging.getLogger(__name__)
|
|
25
27
|
|
|
26
28
|
|
|
@@ -31,7 +33,7 @@ class TaegisSDKAssets2Query:
|
|
|
31
33
|
self.service = service
|
|
32
34
|
|
|
33
35
|
def facets_v2(
|
|
34
|
-
self, endpoint_type: Optional[List[EndpointTypeV2]] = None
|
|
36
|
+
self, endpoint_type: Optional[List[Union[EndpointTypeV2, TaegisEnum]]] = None
|
|
35
37
|
) -> List[FacetV2]:
|
|
36
38
|
"""Retrieve a list of facets for a given endpoint type.."""
|
|
37
39
|
endpoint = "facetsV2"
|
|
@@ -52,7 +54,7 @@ class TaegisSDKAssets2Query:
|
|
|
52
54
|
def facet_info_v2(
|
|
53
55
|
self,
|
|
54
56
|
facets: List[str],
|
|
55
|
-
order_by: Optional[FacetInfoOrderByInputV2] = None,
|
|
57
|
+
order_by: Optional[Union[FacetInfoOrderByInputV2, TaegisEnum]] = None,
|
|
56
58
|
filter_: Optional[AssetFilter] = None,
|
|
57
59
|
) -> List[FacetInfoV2]:
|
|
58
60
|
"""Get facet info based on a currently selected facet.."""
|
|
@@ -80,7 +82,7 @@ class TaegisSDKAssets2Query:
|
|
|
80
82
|
after: Optional[str] = None,
|
|
81
83
|
before: Optional[str] = None,
|
|
82
84
|
filter_: Optional[AssetFilter] = None,
|
|
83
|
-
order_by: Optional[AssetSearchOrderByInputV2] = None,
|
|
85
|
+
order_by: Optional[Union[AssetSearchOrderByInputV2, TaegisEnum]] = None,
|
|
84
86
|
) -> AssetsV2:
|
|
85
87
|
"""Retrieve assets.."""
|
|
86
88
|
endpoint = "assetsV2"
|
|
@@ -106,7 +108,7 @@ class TaegisSDKAssets2Query:
|
|
|
106
108
|
first: Optional[int] = None,
|
|
107
109
|
after: Optional[str] = None,
|
|
108
110
|
filter_: Optional[AssetFilter] = None,
|
|
109
|
-
order_by: Optional[AssetSearchOrderByInputV2] = None,
|
|
111
|
+
order_by: Optional[Union[AssetSearchOrderByInputV2, TaegisEnum]] = None,
|
|
110
112
|
) -> AssetsExportOutputV2:
|
|
111
113
|
"""Retrieve assets in a form coercible into CSV files.."""
|
|
112
114
|
endpoint = "exportAssetsV2"
|
|
@@ -342,7 +344,7 @@ class TaegisSDKAssets2Query:
|
|
|
342
344
|
after: Optional[str] = None,
|
|
343
345
|
before: Optional[str] = None,
|
|
344
346
|
filter_: Optional[AssetHostnameFilter] = None,
|
|
345
|
-
order_by: Optional[AssetHostnameSearchOrderByInput] = None,
|
|
347
|
+
order_by: Optional[Union[AssetHostnameSearchOrderByInput, TaegisEnum]] = None,
|
|
346
348
|
) -> AssetsHostname:
|
|
347
349
|
""" "Retrieve hostname details."""
|
|
348
350
|
endpoint = "assetsHostname"
|
|
@@ -370,7 +372,7 @@ class TaegisSDKAssets2Query:
|
|
|
370
372
|
after: Optional[str] = None,
|
|
371
373
|
before: Optional[str] = None,
|
|
372
374
|
filter_: Optional[AssetIPAddressFilter] = None,
|
|
373
|
-
order_by: Optional[AssetIPAddressSearchOrderByInput] = None,
|
|
375
|
+
order_by: Optional[Union[AssetIPAddressSearchOrderByInput, TaegisEnum]] = None,
|
|
374
376
|
) -> AssetsIPAddress:
|
|
375
377
|
""" "Retrieve ipAddress details."""
|
|
376
378
|
endpoint = "assetsIPAddress"
|
|
@@ -398,7 +400,7 @@ class TaegisSDKAssets2Query:
|
|
|
398
400
|
after: Optional[str] = None,
|
|
399
401
|
before: Optional[str] = None,
|
|
400
402
|
filter_: Optional[AssetMacAddressFilter] = None,
|
|
401
|
-
order_by: Optional[AssetMacAddressSearchOrderByInput] = None,
|
|
403
|
+
order_by: Optional[Union[AssetMacAddressSearchOrderByInput, TaegisEnum]] = None,
|
|
402
404
|
) -> AssetsMacAddress:
|
|
403
405
|
""" "Retrieve Mac details."""
|
|
404
406
|
endpoint = "assetsMacAddress"
|
|
@@ -11,12 +11,13 @@ import logging
|
|
|
11
11
|
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union
|
|
12
12
|
|
|
13
13
|
from taegis_sdk_python import GraphQLNoRowsInResultSetError
|
|
14
|
+
from taegis_sdk_python._consts import TaegisEnum
|
|
15
|
+
from taegis_sdk_python.services.assets2.types import *
|
|
14
16
|
from taegis_sdk_python.utils import (
|
|
15
17
|
build_output_string,
|
|
16
18
|
parse_union_result,
|
|
17
19
|
prepare_input,
|
|
18
20
|
)
|
|
19
|
-
from taegis_sdk_python.services.assets2.types import *
|
|
20
21
|
|
|
21
22
|
if TYPE_CHECKING: # pragma: no cover
|
|
22
23
|
from taegis_sdk_python.services.assets2 import Assets2Service
|