taegis-sdk-python 1.2.16__tar.gz → 1.2.18__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. {taegis_sdk_python-1.2.16/taegis_sdk_python.egg-info → taegis_sdk_python-1.2.18}/PKG-INFO +2 -1
  2. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/requirements.txt +2 -1
  3. taegis_sdk_python-1.2.18/taegis_sdk_python/_version.py +1 -0
  4. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/service_core.py +38 -13
  5. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/__init__.py +77 -1
  6. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/access_points/queries.py +3 -1
  7. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/agent/queries.py +3 -1
  8. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/alerts/queries.py +3 -1
  9. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/assets/queries.py +3 -1
  10. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/assets2/queries.py +3 -1
  11. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/audits/queries.py +3 -1
  12. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/authz/queries.py +3 -1
  13. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/byoti/queries.py +3 -1
  14. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/clients/queries.py +3 -1
  15. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/collector/queries.py +3 -1
  16. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/comments/queries.py +3 -1
  17. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/contracted_endpoint/queries.py +3 -1
  18. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/datasources/queries.py +3 -1
  19. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/detector_registry/queries.py +3 -1
  20. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/endpoint_command_manager/queries.py +3 -1
  21. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/endpoint_management_service/queries.py +3 -1
  22. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/event_search/queries.py +3 -1
  23. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/events/queries.py +3 -1
  24. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/exports/queries.py +3 -1
  25. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/fast_ioc/queries.py +3 -1
  26. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/file_info/mutations.py +30 -0
  27. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/file_info/queries.py +40 -1
  28. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/file_info/types.py +139 -4
  29. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/ingest_stats/queries.py +3 -1
  30. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/investigations/queries.py +3 -1
  31. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/investigations2/queries.py +3 -1
  32. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/mitre_attack_info/queries.py +3 -1
  33. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/multi_tenant_context/queries.py +3 -1
  34. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/multi_tenant_ioc/queries.py +3 -1
  35. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/multi_tenant_ioc/types.py +14 -0
  36. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/notebooks/queries.py +3 -1
  37. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/notifications/queries.py +3 -1
  38. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/preferences/queries.py +3 -1
  39. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/roadrunner/queries.py +3 -1
  40. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/rules/queries.py +3 -1
  41. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/sharelinks/queries.py +3 -1
  42. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/subjects/queries.py +3 -1
  43. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/tenant_profiles/queries.py +3 -1
  44. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/tenants/queries.py +3 -1
  45. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/tenants4/queries.py +3 -1
  46. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/threat/queries.py +3 -1
  47. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/threat_score/queries.py +3 -1
  48. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/trip/queries.py +3 -1
  49. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/users/queries.py +3 -1
  50. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/users/types.py +16 -0
  51. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/vdr/queries.py +20 -1
  52. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/vdr/types.py +105 -28
  53. taegis_sdk_python-1.2.18/taegis_sdk_python/transport/__init__.py +0 -0
  54. taegis_sdk_python-1.2.18/taegis_sdk_python/transport/aiohttp_websockets.py +1238 -0
  55. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18/taegis_sdk_python.egg-info}/PKG-INFO +2 -1
  56. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python.egg-info/SOURCES.txt +3 -1
  57. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python.egg-info/requires.txt +1 -0
  58. taegis_sdk_python-1.2.16/taegis_sdk_python/_version.py +0 -1
  59. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/LICENSE +0 -0
  60. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/MANIFEST.in +0 -0
  61. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/README.md +0 -0
  62. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/requirements-dev.txt +0 -0
  63. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/requirements-test.txt +0 -0
  64. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/setup.cfg +0 -0
  65. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/setup.py +0 -0
  66. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/__init__.py +0 -0
  67. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/_consts.py +0 -0
  68. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/authentication.py +0 -0
  69. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/config.py +0 -0
  70. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/errors.py +0 -0
  71. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/access_points/__init__.py +0 -0
  72. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/access_points/mutations.py +0 -0
  73. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/access_points/subscriptions.py +0 -0
  74. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/access_points/types.py +0 -0
  75. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/agent/__init__.py +0 -0
  76. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/agent/mutations.py +0 -0
  77. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/agent/subscriptions.py +0 -0
  78. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/agent/types.py +0 -0
  79. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/alerts/__init__.py +0 -0
  80. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/alerts/mutations.py +0 -0
  81. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/alerts/subscriptions.py +0 -0
  82. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/alerts/types.py +0 -0
  83. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/assets/__init__.py +0 -0
  84. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/assets/mutations.py +0 -0
  85. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/assets/subscriptions.py +0 -0
  86. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/assets/types.py +0 -0
  87. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/assets2/__init__.py +0 -0
  88. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/assets2/mutations.py +0 -0
  89. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/assets2/subscriptions.py +0 -0
  90. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/assets2/types.py +0 -0
  91. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/audits/__init__.py +0 -0
  92. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/audits/mutations.py +0 -0
  93. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/audits/subscriptions.py +0 -0
  94. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/audits/types.py +0 -0
  95. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/authz/__init__.py +0 -0
  96. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/authz/mutations.py +0 -0
  97. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/authz/subscriptions.py +0 -0
  98. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/authz/types.py +0 -0
  99. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/byoti/__init__.py +0 -0
  100. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/byoti/mutations.py +0 -0
  101. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/byoti/subscriptions.py +0 -0
  102. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/byoti/types.py +0 -0
  103. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/clients/__init__.py +0 -0
  104. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/clients/mutations.py +0 -0
  105. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/clients/subscriptions.py +0 -0
  106. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/clients/types.py +0 -0
  107. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/collector/__init__.py +0 -0
  108. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/collector/mutations.py +0 -0
  109. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/collector/subscriptions.py +0 -0
  110. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/collector/types.py +0 -0
  111. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/comments/__init__.py +0 -0
  112. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/comments/mutations.py +0 -0
  113. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/comments/subscriptions.py +0 -0
  114. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/comments/types.py +0 -0
  115. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/contracted_endpoint/__init__.py +0 -0
  116. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/contracted_endpoint/mutations.py +0 -0
  117. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/contracted_endpoint/subscriptions.py +0 -0
  118. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/contracted_endpoint/types.py +0 -0
  119. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/datasources/__init__.py +0 -0
  120. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/datasources/mutations.py +0 -0
  121. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/datasources/subscriptions.py +0 -0
  122. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/datasources/types.py +0 -0
  123. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/detector_registry/__init__.py +0 -0
  124. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/detector_registry/mutations.py +0 -0
  125. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/detector_registry/subscriptions.py +0 -0
  126. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/detector_registry/types.py +0 -0
  127. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/endpoint_command_manager/__init__.py +0 -0
  128. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/endpoint_command_manager/mutations.py +0 -0
  129. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/endpoint_command_manager/subscriptions.py +0 -0
  130. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/endpoint_command_manager/types.py +0 -0
  131. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/endpoint_management_service/__init__.py +0 -0
  132. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/endpoint_management_service/mutations.py +0 -0
  133. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/endpoint_management_service/subscriptions.py +0 -0
  134. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/endpoint_management_service/types.py +0 -0
  135. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/event_search/__init__.py +0 -0
  136. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/event_search/mutations.py +0 -0
  137. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/event_search/subscriptions.py +0 -0
  138. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/event_search/types.py +0 -0
  139. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/events/__init__.py +0 -0
  140. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/events/mutations.py +0 -0
  141. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/events/subscriptions.py +0 -0
  142. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/events/types.py +0 -0
  143. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/exports/__init__.py +0 -0
  144. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/exports/mutations.py +0 -0
  145. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/exports/subscriptions.py +0 -0
  146. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/exports/types.py +0 -0
  147. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/fast_ioc/__init__.py +0 -0
  148. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/fast_ioc/mutations.py +0 -0
  149. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/fast_ioc/subscriptions.py +0 -0
  150. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/fast_ioc/types.py +0 -0
  151. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/file_info/__init__.py +0 -0
  152. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/file_info/subscriptions.py +0 -0
  153. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/ingest_stats/__init__.py +0 -0
  154. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/ingest_stats/mutations.py +0 -0
  155. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/ingest_stats/subscriptions.py +0 -0
  156. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/ingest_stats/types.py +0 -0
  157. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/investigations/__init__.py +0 -0
  158. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/investigations/mutations.py +0 -0
  159. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/investigations/subscriptions.py +0 -0
  160. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/investigations/types.py +0 -0
  161. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/investigations2/__init__.py +0 -0
  162. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/investigations2/mutations.py +0 -0
  163. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/investigations2/subscriptions.py +0 -0
  164. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/investigations2/types.py +0 -0
  165. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/mitre_attack_info/__init__.py +0 -0
  166. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/mitre_attack_info/mutations.py +0 -0
  167. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/mitre_attack_info/subscriptions.py +0 -0
  168. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/mitre_attack_info/types.py +0 -0
  169. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/multi_tenant_context/__init__.py +0 -0
  170. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/multi_tenant_context/mutations.py +0 -0
  171. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/multi_tenant_context/subscriptions.py +0 -0
  172. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/multi_tenant_context/types.py +0 -0
  173. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/multi_tenant_ioc/__init__.py +0 -0
  174. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/multi_tenant_ioc/mutations.py +0 -0
  175. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/multi_tenant_ioc/subscriptions.py +0 -0
  176. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/notebooks/__init__.py +0 -0
  177. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/notebooks/mutations.py +0 -0
  178. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/notebooks/subscriptions.py +0 -0
  179. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/notebooks/types.py +0 -0
  180. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/notifications/__init__.py +0 -0
  181. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/notifications/mutations.py +0 -0
  182. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/notifications/subscriptions.py +0 -0
  183. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/notifications/types.py +0 -0
  184. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/preferences/__init__.py +0 -0
  185. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/preferences/mutations.py +0 -0
  186. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/preferences/subscriptions.py +0 -0
  187. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/preferences/types.py +0 -0
  188. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/queries/__init__.py +0 -0
  189. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/queries/mutations.py +0 -0
  190. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/queries/queries.py +0 -0
  191. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/queries/subscriptions.py +0 -0
  192. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/queries/types.py +0 -0
  193. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/roadrunner/__init__.py +0 -0
  194. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/roadrunner/mutations.py +0 -0
  195. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/roadrunner/subscriptions.py +0 -0
  196. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/roadrunner/types.py +0 -0
  197. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/rules/__init__.py +0 -0
  198. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/rules/mutations.py +0 -0
  199. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/rules/subscriptions.py +0 -0
  200. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/rules/types.py +0 -0
  201. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/sharelinks/__init__.py +0 -0
  202. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/sharelinks/mutations.py +0 -0
  203. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/sharelinks/subscriptions.py +0 -0
  204. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/sharelinks/types.py +0 -0
  205. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/subjects/__init__.py +0 -0
  206. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/subjects/mutations.py +0 -0
  207. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/subjects/subscriptions.py +0 -0
  208. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/subjects/types.py +0 -0
  209. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/tenant_profiles/__init__.py +0 -0
  210. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/tenant_profiles/mutations.py +0 -0
  211. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/tenant_profiles/subscriptions.py +0 -0
  212. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/tenant_profiles/types.py +0 -0
  213. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/tenants/__init__.py +0 -0
  214. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/tenants/mutations.py +0 -0
  215. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/tenants/subscriptions.py +0 -0
  216. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/tenants/types.py +0 -0
  217. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/tenants4/__init__.py +0 -0
  218. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/tenants4/mutations.py +0 -0
  219. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/tenants4/subscriptions.py +0 -0
  220. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/tenants4/types.py +0 -0
  221. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/threat/__init__.py +0 -0
  222. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/threat/mutations.py +0 -0
  223. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/threat/subscriptions.py +0 -0
  224. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/threat/types.py +0 -0
  225. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/threat_score/__init__.py +0 -0
  226. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/threat_score/mutations.py +0 -0
  227. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/threat_score/subscriptions.py +0 -0
  228. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/threat_score/types.py +0 -0
  229. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/trip/__init__.py +0 -0
  230. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/trip/mutations.py +0 -0
  231. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/trip/subscriptions.py +0 -0
  232. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/trip/types.py +0 -0
  233. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/users/__init__.py +0 -0
  234. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/users/mutations.py +0 -0
  235. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/users/subscriptions.py +0 -0
  236. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/vdr/__init__.py +0 -0
  237. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/vdr/mutations.py +0 -0
  238. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/services/vdr/subscriptions.py +0 -0
  239. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/tokens.py +0 -0
  240. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python/utils.py +0 -0
  241. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/taegis_sdk_python.egg-info/dependency_links.txt +0 -0
  242. {taegis_sdk_python-1.2.16 → taegis_sdk_python-1.2.18}/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.16
3
+ Version: 1.2.18
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
 
@@ -8,4 +8,5 @@ dataclasses-json
8
8
  pyjwt>=2.8.0
9
9
  requests-toolbelt
10
10
  websockets
11
- filelock>=3.12.4
11
+ filelock>=3.12.4
12
+ aiohttp
@@ -0,0 +1 @@
1
+ __version__ = "v1.2.18"
@@ -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
- import threading
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.requests import RequestsHTTPTransport
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
- def retrieve_schema(
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
- transport = RequestsHTTPTransport(
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(
@@ -224,6 +230,7 @@ class ServiceCore:
224
230
  )
225
231
  },
226
232
  ),
233
+ execute_timeout=self.service.execute_timeout,
227
234
  )
228
235
 
229
236
  return client
@@ -239,16 +246,23 @@ class ServiceCore:
239
246
  if self.service.tenant_id:
240
247
  subprotocols.append(f"x-tenant-context-{self.service.tenant_id}")
241
248
 
242
- transport = WebsocketsTransport(
249
+ client_session_args = {"trust_env": self.service.trust_env}
250
+
251
+ transport = AIOHTTPWebsocketsTransport(
243
252
  f"{self.wss_url}{self.gateway}",
244
253
  headers=self.service.headers,
245
254
  subprotocols=subprotocols,
246
- connect_args={"max_size": None},
255
+ ssl=self.service.ssl,
256
+ client_session_args=client_session_args,
257
+ proxy=self.service.proxy,
258
+ proxy_auth=self.service.proxy_auth,
259
+ proxy_headers=self.service.proxy_headers,
247
260
  )
248
261
 
249
262
  client = Client(
250
263
  transport=transport,
251
264
  schema=self.schema,
265
+ execute_timeout=self.service.execute_timeout,
252
266
  )
253
267
 
254
268
  return client
@@ -448,7 +462,8 @@ class ServiceCore:
448
462
 
449
463
  return self.subscribe(query_string, variables)
450
464
 
451
- def execute(
465
+ @async_block
466
+ async def execute(
452
467
  self, query_string: str, variables: Optional[Dict[str, Any]] = None
453
468
  ) -> Any:
454
469
  """Execute a GraphQL string.
@@ -465,10 +480,19 @@ class ServiceCore:
465
480
  Any
466
481
  Query/Mutation results
467
482
  """
483
+ extra_args = {}
484
+ if self.service.proxy:
485
+ extra_args = {
486
+ "proxy": self.service.proxy,
487
+ "proxy_auth": self.service.proxy_auth,
488
+ "proxy_headers": self.service.proxy_headers,
489
+ }
490
+
468
491
  query = gql(query_string)
469
- return self.sync_client.execute(
492
+ return await self.sync_client.execute_async(
470
493
  query,
471
494
  variable_values=prepare_variables(variables),
495
+ extra_args=extra_args,
472
496
  )
473
497
 
474
498
  @async_block
@@ -500,7 +524,8 @@ class ServiceCore:
500
524
 
501
525
  return results[:-1]
502
526
 
503
- def _build_validated_query(
527
+ @async_block
528
+ async def _build_validated_query(
504
529
  self,
505
530
  operation_type: str,
506
531
  endpoint: str,
@@ -537,7 +562,7 @@ class ServiceCore:
537
562
  query_string = " ".join(query_string.split())
538
563
 
539
564
  # open a connection for introspection and download schema
540
- with self.sync_client as session:
565
+ async with self.sync_client as session:
541
566
  # if multiple fields are invalid, we want to iterate until the
542
567
  # output string is valid
543
568
  for _ in range(10000):
@@ -2,8 +2,14 @@
2
2
  This needs to be a generated file. Need to make jinja template.
3
3
  """
4
4
 
5
- from typing import Dict, Optional, Any
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,12 @@ 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,
89
+ execute_timeout: Optional[Union[int, float]] = 30,
76
90
  ): # pylint: disable=too-many-statements
77
91
  """
78
92
  GraphQLService
@@ -114,6 +128,20 @@ class GraphQLService:
114
128
  self._schema_expiry = schema_expiry
115
129
  self._input_value_deprecation = None
116
130
 
131
+ if trust_env and proxy:
132
+ raise ValueError("trust_env and proxy cannot be used together")
133
+
134
+ if proxy_auth and not proxy:
135
+ raise ValueError("proxy_auth requires proxy to be set")
136
+
137
+ self._proxy = proxy
138
+ self._proxy_auth = proxy_auth
139
+ self._proxy_headers = proxy_headers
140
+ self._ssl = ssl
141
+ self._trust_env = trust_env
142
+
143
+ self._execute_timeout = execute_timeout
144
+
117
145
  self._access_points = None
118
146
  self._agent = None
119
147
  self._alerts = None
@@ -270,6 +298,54 @@ class GraphQLService:
270
298
  "input_value_deprecation", self._input_value_deprecation
271
299
  )
272
300
 
301
+ @property
302
+ def proxy(self):
303
+ """Proxy URL for API requests."""
304
+ return self._context_manager.get("proxy", self._proxy)
305
+
306
+ @property
307
+ def proxy_auth(self):
308
+ """Proxy Auth for API requests."""
309
+ value = self._context_manager.get("proxy_auth", self._proxy_auth)
310
+
311
+ if value and not self.proxy:
312
+ log.warning("proxy_auth is ignored when proxy is not set")
313
+ return None
314
+
315
+ return value
316
+
317
+ @property
318
+ def proxy_headers(self):
319
+ """Proxy Headers for API requests."""
320
+ value = self._context_manager.get("proxy_headers", self._proxy_headers)
321
+
322
+ if value and not self.proxy:
323
+ log.warning("proxy_headers is ignored when proxy is not set")
324
+ return None
325
+
326
+ return value
327
+
328
+ @property
329
+ def ssl(self):
330
+ """SSL Context for API requests."""
331
+ return self._context_manager.get("ssl", self._ssl)
332
+
333
+ @property
334
+ def trust_env(self):
335
+ """Trust Environment for Proxy Authentication."""
336
+ value = self._context_manager.get("trust_env", self._trust_env)
337
+
338
+ if value and self.proxy:
339
+ log.warning("trust_env is ignored when proxy is set")
340
+ return False
341
+
342
+ return value
343
+
344
+ @property
345
+ def execute_timeout(self):
346
+ """GraphQL Execute Timeout."""
347
+ return self._context_manager.get("execute_timeout", self._execute_timeout)
348
+
273
349
  @property
274
350
  def access_points(self):
275
351
  """Access Points Service Endpoint."""
@@ -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,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,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,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
 
@@ -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
 
@@ -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.audits.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.audits.types import *
20
21
 
21
22
  if TYPE_CHECKING: # pragma: no cover
22
23
  from taegis_sdk_python.services.audits import AuditsService
23
24
 
25
+
24
26
  log = logging.getLogger(__name__)
25
27
 
26
28
 
@@ -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.authz.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.authz.types import *
20
21
 
21
22
  if TYPE_CHECKING: # pragma: no cover
22
23
  from taegis_sdk_python.services.authz import AuthzService
23
24
 
25
+
24
26
  log = logging.getLogger(__name__)
25
27
 
26
28
 
@@ -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.byoti.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.byoti.types import *
20
21
 
21
22
  if TYPE_CHECKING: # pragma: no cover
22
23
  from taegis_sdk_python.services.byoti import ByotiService
23
24
 
25
+
24
26
  log = logging.getLogger(__name__)
25
27
 
26
28
 
@@ -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.clients.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.clients.types import *
20
21
 
21
22
  if TYPE_CHECKING: # pragma: no cover
22
23
  from taegis_sdk_python.services.clients import ClientsService
23
24
 
25
+
24
26
  log = logging.getLogger(__name__)
25
27
 
26
28
 
@@ -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.collector.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.collector.types import *
20
21
 
21
22
  if TYPE_CHECKING: # pragma: no cover
22
23
  from taegis_sdk_python.services.collector import CollectorService
23
24
 
25
+
24
26
  log = logging.getLogger(__name__)
25
27
 
26
28
 
@@ -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.comments.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.comments.types import *
20
21
 
21
22
  if TYPE_CHECKING: # pragma: no cover
22
23
  from taegis_sdk_python.services.comments import CommentsService
23
24
 
25
+
24
26
  log = logging.getLogger(__name__)
25
27
 
26
28
 
@@ -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.contracted_endpoint.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.contracted_endpoint.types import *
20
21
 
21
22
  if TYPE_CHECKING: # pragma: no cover
22
23
  from taegis_sdk_python.services.contracted_endpoint import ContractedEndpointService
23
24
 
25
+
24
26
  log = logging.getLogger(__name__)
25
27
 
26
28
 
@@ -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.datasources.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.datasources.types import *
20
21
 
21
22
  if TYPE_CHECKING: # pragma: no cover
22
23
  from taegis_sdk_python.services.datasources import DatasourcesService
23
24
 
25
+
24
26
  log = logging.getLogger(__name__)
25
27
 
26
28
 
@@ -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.detector_registry.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.detector_registry.types import *
20
21
 
21
22
  if TYPE_CHECKING: # pragma: no cover
22
23
  from taegis_sdk_python.services.detector_registry import DetectorRegistryService
23
24
 
25
+
24
26
  log = logging.getLogger(__name__)
25
27
 
26
28
 
@@ -11,18 +11,20 @@ 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.endpoint_command_manager.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.endpoint_command_manager.types import *
20
21
 
21
22
  if TYPE_CHECKING: # pragma: no cover
22
23
  from taegis_sdk_python.services.endpoint_command_manager import (
23
24
  EndpointCommandManagerService,
24
25
  )
25
26
 
27
+
26
28
  log = logging.getLogger(__name__)
27
29
 
28
30
 
@@ -11,18 +11,20 @@ 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.endpoint_management_service.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.endpoint_management_service.types import *
20
21
 
21
22
  if TYPE_CHECKING: # pragma: no cover
22
23
  from taegis_sdk_python.services.endpoint_management_service import (
23
24
  EndpointManagementServiceService,
24
25
  )
25
26
 
27
+
26
28
  log = logging.getLogger(__name__)
27
29
 
28
30
 
@@ -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.event_search.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.event_search.types import *
20
21
 
21
22
  if TYPE_CHECKING: # pragma: no cover
22
23
  from taegis_sdk_python.services.event_search import EventSearchService
23
24
 
25
+
24
26
  log = logging.getLogger(__name__)
25
27
 
26
28
 
@@ -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.events.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.events.types import *
20
21
 
21
22
  if TYPE_CHECKING: # pragma: no cover
22
23
  from taegis_sdk_python.services.events import EventsService
23
24
 
25
+
24
26
  log = logging.getLogger(__name__)
25
27
 
26
28
 
@@ -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.exports.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.exports.types import *
20
21
 
21
22
  if TYPE_CHECKING: # pragma: no cover
22
23
  from taegis_sdk_python.services.exports import ExportsService
23
24
 
25
+
24
26
  log = logging.getLogger(__name__)
25
27
 
26
28