taegis-sdk-python 1.6.17__tar.gz → 1.6.19__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 (342) hide show
  1. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/PKG-INFO +3 -1
  2. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/pyproject.toml +2 -0
  3. taegis_sdk_python-1.6.19/taegis_sdk_python/_consts.py +66 -0
  4. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/_version.py +1 -1
  5. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/__init__.py +15 -2
  6. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/alerts/types.py +1 -0
  7. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/assets2/types.py +23 -2
  8. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/contracted_endpoint/queries.py +4 -0
  9. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/contracted_endpoint/types.py +8 -1
  10. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/event_stats/queries.py +4 -0
  11. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/events/types.py +3 -0
  12. taegis_sdk_python-1.6.19/taegis_sdk_python/services/health/__init__.py +35 -0
  13. taegis_sdk_python-1.6.19/taegis_sdk_python/services/health/mutations.py +54 -0
  14. taegis_sdk_python-1.6.19/taegis_sdk_python/services/health/queries.py +111 -0
  15. taegis_sdk_python-1.6.19/taegis_sdk_python/services/health/subscriptions.py +33 -0
  16. taegis_sdk_python-1.6.19/taegis_sdk_python/services/health/types.py +174 -0
  17. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/investigations2/mutations.py +21 -0
  18. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/investigations2/types.py +110 -48
  19. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/preferences/queries.py +16 -0
  20. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/tenants/types.py +54 -106
  21. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/tenants4/types.py +20 -0
  22. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/threat/types.py +1 -0
  23. taegis_sdk_python-1.6.17/taegis_sdk_python/_consts.py +0 -43
  24. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/.gitignore +0 -0
  25. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/LICENSE +0 -0
  26. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/README.md +0 -0
  27. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/__init__.py +0 -0
  28. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/authentication.py +0 -0
  29. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/commons/__init__.py +0 -0
  30. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/commons/_introspection.py +0 -0
  31. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/commons/alerts/__init__.py +0 -0
  32. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/commons/alerts/federated_search.py +0 -0
  33. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/commons/alerts/search.py +0 -0
  34. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/commons/cases/__init__.py +0 -0
  35. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/commons/cases/federated_search.py +0 -0
  36. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/commons/cases/search.py +0 -0
  37. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/commons/events/__init__.py +0 -0
  38. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/commons/events/search.py +0 -0
  39. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/commons/investigations/__init__.py +0 -0
  40. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/commons/investigations/federated_search.py +0 -0
  41. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/commons/investigations/search.py +0 -0
  42. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/commons/sharelinks/__init__.py +0 -0
  43. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/commons/sharelinks/create.py +0 -0
  44. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/commons/sharelinks/unfurl.py +0 -0
  45. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/config.py +0 -0
  46. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/errors.py +0 -0
  47. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/middlewares/__init__.py +0 -0
  48. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/middlewares/curl/__init__.py +0 -0
  49. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/middlewares/curl/_default.py +0 -0
  50. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/middlewares/logging/__init__.py +0 -0
  51. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/middlewares/logging/_default.py +0 -0
  52. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/middlewares/retry/__init__.py +0 -0
  53. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/middlewares/retry/_default.py +0 -0
  54. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/middlewares/utils.py +0 -0
  55. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/service_core.py +0 -0
  56. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/access_points/__init__.py +0 -0
  57. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/access_points/mutations.py +0 -0
  58. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/access_points/queries.py +0 -0
  59. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/access_points/subscriptions.py +0 -0
  60. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/access_points/types.py +0 -0
  61. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/agent/__init__.py +0 -0
  62. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/agent/mutations.py +0 -0
  63. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/agent/queries.py +0 -0
  64. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/agent/subscriptions.py +0 -0
  65. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/agent/types.py +0 -0
  66. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/alerts/__init__.py +0 -0
  67. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/alerts/mutations.py +0 -0
  68. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/alerts/queries.py +0 -0
  69. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/alerts/subscriptions.py +0 -0
  70. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/alerts_history/__init__.py +0 -0
  71. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/alerts_history/mutations.py +0 -0
  72. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/alerts_history/queries.py +0 -0
  73. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/alerts_history/subscriptions.py +0 -0
  74. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/alerts_history/types.py +0 -0
  75. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/assets/__init__.py +0 -0
  76. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/assets/mutations.py +0 -0
  77. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/assets/queries.py +0 -0
  78. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/assets/subscriptions.py +0 -0
  79. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/assets/types.py +0 -0
  80. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/assets2/__init__.py +0 -0
  81. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/assets2/mutations.py +0 -0
  82. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/assets2/queries.py +0 -0
  83. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/assets2/subscriptions.py +0 -0
  84. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/audits/__init__.py +0 -0
  85. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/audits/mutations.py +0 -0
  86. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/audits/queries.py +0 -0
  87. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/audits/subscriptions.py +0 -0
  88. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/audits/types.py +0 -0
  89. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/authz/__init__.py +0 -0
  90. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/authz/mutations.py +0 -0
  91. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/authz/queries.py +0 -0
  92. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/authz/subscriptions.py +0 -0
  93. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/authz/types.py +0 -0
  94. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/byoti/__init__.py +0 -0
  95. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/byoti/mutations.py +0 -0
  96. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/byoti/queries.py +0 -0
  97. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/byoti/subscriptions.py +0 -0
  98. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/byoti/types.py +0 -0
  99. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/clients/__init__.py +0 -0
  100. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/clients/mutations.py +0 -0
  101. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/clients/queries.py +0 -0
  102. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/clients/subscriptions.py +0 -0
  103. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/clients/types.py +0 -0
  104. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/collector/__init__.py +0 -0
  105. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/collector/mutations.py +0 -0
  106. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/collector/queries.py +0 -0
  107. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/collector/subscriptions.py +0 -0
  108. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/collector/types.py +0 -0
  109. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/comments/__init__.py +0 -0
  110. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/comments/mutations.py +0 -0
  111. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/comments/queries.py +0 -0
  112. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/comments/subscriptions.py +0 -0
  113. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/comments/types.py +0 -0
  114. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/context_summarizer/__init__.py +0 -0
  115. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/context_summarizer/mutations.py +0 -0
  116. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/context_summarizer/queries.py +0 -0
  117. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/context_summarizer/subscriptions.py +0 -0
  118. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/context_summarizer/types.py +0 -0
  119. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/contracted_endpoint/__init__.py +0 -0
  120. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/contracted_endpoint/mutations.py +0 -0
  121. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/contracted_endpoint/subscriptions.py +0 -0
  122. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/cql_metadata/__init__.py +0 -0
  123. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/cql_metadata/mutations.py +0 -0
  124. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/cql_metadata/queries.py +0 -0
  125. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/cql_metadata/subscriptions.py +0 -0
  126. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/cql_metadata/types.py +0 -0
  127. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/datasources/__init__.py +0 -0
  128. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/datasources/mutations.py +0 -0
  129. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/datasources/queries.py +0 -0
  130. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/datasources/subscriptions.py +0 -0
  131. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/datasources/types.py +0 -0
  132. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/detector_registry/__init__.py +0 -0
  133. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/detector_registry/mutations.py +0 -0
  134. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/detector_registry/queries.py +0 -0
  135. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/detector_registry/subscriptions.py +0 -0
  136. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/detector_registry/types.py +0 -0
  137. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/endpoint_command_manager/__init__.py +0 -0
  138. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/endpoint_command_manager/mutations.py +0 -0
  139. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/endpoint_command_manager/queries.py +0 -0
  140. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/endpoint_command_manager/subscriptions.py +0 -0
  141. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/endpoint_command_manager/types.py +0 -0
  142. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/endpoint_management_service/__init__.py +0 -0
  143. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/endpoint_management_service/mutations.py +0 -0
  144. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/endpoint_management_service/queries.py +0 -0
  145. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/endpoint_management_service/subscriptions.py +0 -0
  146. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/endpoint_management_service/types.py +0 -0
  147. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/entity_context/__init__.py +0 -0
  148. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/entity_context/mutations.py +0 -0
  149. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/entity_context/queries.py +0 -0
  150. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/entity_context/subscriptions.py +0 -0
  151. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/entity_context/types.py +0 -0
  152. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/escalation_policies/__init__.py +0 -0
  153. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/escalation_policies/mutations.py +0 -0
  154. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/escalation_policies/queries.py +0 -0
  155. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/escalation_policies/subscriptions.py +0 -0
  156. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/escalation_policies/types.py +0 -0
  157. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/event_search/__init__.py +0 -0
  158. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/event_search/mutations.py +0 -0
  159. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/event_search/queries.py +0 -0
  160. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/event_search/subscriptions.py +0 -0
  161. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/event_search/types.py +0 -0
  162. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/event_stats/__init__.py +0 -0
  163. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/event_stats/mutations.py +0 -0
  164. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/event_stats/subscriptions.py +0 -0
  165. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/event_stats/types.py +0 -0
  166. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/events/__init__.py +0 -0
  167. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/events/mutations.py +0 -0
  168. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/events/queries.py +0 -0
  169. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/events/subscriptions.py +0 -0
  170. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/exports/__init__.py +0 -0
  171. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/exports/mutations.py +0 -0
  172. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/exports/queries.py +0 -0
  173. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/exports/subscriptions.py +0 -0
  174. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/exports/types.py +0 -0
  175. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/fast_ioc/__init__.py +0 -0
  176. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/fast_ioc/mutations.py +0 -0
  177. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/fast_ioc/queries.py +0 -0
  178. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/fast_ioc/subscriptions.py +0 -0
  179. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/fast_ioc/types.py +0 -0
  180. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/file_info/__init__.py +0 -0
  181. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/file_info/mutations.py +0 -0
  182. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/file_info/queries.py +0 -0
  183. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/file_info/subscriptions.py +0 -0
  184. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/file_info/types.py +0 -0
  185. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/ingest_stats/__init__.py +0 -0
  186. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/ingest_stats/mutations.py +0 -0
  187. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/ingest_stats/queries.py +0 -0
  188. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/ingest_stats/subscriptions.py +0 -0
  189. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/ingest_stats/types.py +0 -0
  190. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/investigations/__init__.py +0 -0
  191. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/investigations/mutations.py +0 -0
  192. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/investigations/queries.py +0 -0
  193. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/investigations/subscriptions.py +0 -0
  194. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/investigations/types.py +0 -0
  195. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/investigations2/__init__.py +0 -0
  196. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/investigations2/queries.py +0 -0
  197. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/investigations2/subscriptions.py +0 -0
  198. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/isensor/__init__.py +0 -0
  199. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/isensor/mutations.py +0 -0
  200. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/isensor/queries.py +0 -0
  201. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/isensor/subscriptions.py +0 -0
  202. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/isensor/types.py +0 -0
  203. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/llm_service/__init__.py +0 -0
  204. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/llm_service/mutations.py +0 -0
  205. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/llm_service/queries.py +0 -0
  206. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/llm_service/subscriptions.py +0 -0
  207. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/llm_service/types.py +0 -0
  208. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/mitre_attack_info/__init__.py +0 -0
  209. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/mitre_attack_info/mutations.py +0 -0
  210. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/mitre_attack_info/queries.py +0 -0
  211. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/mitre_attack_info/subscriptions.py +0 -0
  212. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/mitre_attack_info/types.py +0 -0
  213. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/multi_tenant_context/__init__.py +0 -0
  214. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/multi_tenant_context/mutations.py +0 -0
  215. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/multi_tenant_context/queries.py +0 -0
  216. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/multi_tenant_context/subscriptions.py +0 -0
  217. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/multi_tenant_context/types.py +0 -0
  218. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/multi_tenant_ioc/__init__.py +0 -0
  219. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/multi_tenant_ioc/mutations.py +0 -0
  220. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/multi_tenant_ioc/queries.py +0 -0
  221. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/multi_tenant_ioc/subscriptions.py +0 -0
  222. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/multi_tenant_ioc/types.py +0 -0
  223. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/nl_search/__init__.py +0 -0
  224. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/nl_search/mutations.py +0 -0
  225. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/nl_search/queries.py +0 -0
  226. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/nl_search/subscriptions.py +0 -0
  227. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/nl_search/types.py +0 -0
  228. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/notebooks/__init__.py +0 -0
  229. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/notebooks/mutations.py +0 -0
  230. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/notebooks/queries.py +0 -0
  231. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/notebooks/subscriptions.py +0 -0
  232. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/notebooks/types.py +0 -0
  233. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/notifications/__init__.py +0 -0
  234. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/notifications/mutations.py +0 -0
  235. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/notifications/queries.py +0 -0
  236. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/notifications/subscriptions.py +0 -0
  237. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/notifications/types.py +0 -0
  238. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/notifications2/__init__.py +0 -0
  239. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/notifications2/mutations.py +0 -0
  240. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/notifications2/queries.py +0 -0
  241. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/notifications2/subscriptions.py +0 -0
  242. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/notifications2/types.py +0 -0
  243. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/preferences/__init__.py +0 -0
  244. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/preferences/mutations.py +0 -0
  245. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/preferences/subscriptions.py +0 -0
  246. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/preferences/types.py +0 -0
  247. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/process_trees/__init__.py +0 -0
  248. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/process_trees/mutations.py +0 -0
  249. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/process_trees/queries.py +0 -0
  250. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/process_trees/subscriptions.py +0 -0
  251. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/process_trees/types.py +0 -0
  252. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/ql_schemas/__init__.py +0 -0
  253. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/ql_schemas/mutations.py +0 -0
  254. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/ql_schemas/queries.py +0 -0
  255. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/ql_schemas/subscriptions.py +0 -0
  256. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/ql_schemas/types.py +0 -0
  257. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/queries/__init__.py +0 -0
  258. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/queries/mutations.py +0 -0
  259. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/queries/queries.py +0 -0
  260. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/queries/subscriptions.py +0 -0
  261. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/queries/types.py +0 -0
  262. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/roadrunner/__init__.py +0 -0
  263. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/roadrunner/mutations.py +0 -0
  264. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/roadrunner/queries.py +0 -0
  265. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/roadrunner/subscriptions.py +0 -0
  266. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/roadrunner/types.py +0 -0
  267. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/rules/__init__.py +0 -0
  268. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/rules/mutations.py +0 -0
  269. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/rules/queries.py +0 -0
  270. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/rules/subscriptions.py +0 -0
  271. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/rules/types.py +0 -0
  272. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/sharelinks/__init__.py +0 -0
  273. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/sharelinks/mutations.py +0 -0
  274. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/sharelinks/queries.py +0 -0
  275. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/sharelinks/subscriptions.py +0 -0
  276. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/sharelinks/types.py +0 -0
  277. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/subjects/__init__.py +0 -0
  278. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/subjects/mutations.py +0 -0
  279. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/subjects/queries.py +0 -0
  280. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/subjects/subscriptions.py +0 -0
  281. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/subjects/types.py +0 -0
  282. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/tenant_profiles/__init__.py +0 -0
  283. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/tenant_profiles/mutations.py +0 -0
  284. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/tenant_profiles/queries.py +0 -0
  285. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/tenant_profiles/subscriptions.py +0 -0
  286. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/tenant_profiles/types.py +0 -0
  287. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/tenants/__init__.py +0 -0
  288. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/tenants/mutations.py +0 -0
  289. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/tenants/queries.py +0 -0
  290. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/tenants/subscriptions.py +0 -0
  291. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/tenants4/__init__.py +0 -0
  292. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/tenants4/mutations.py +0 -0
  293. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/tenants4/queries.py +0 -0
  294. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/tenants4/subscriptions.py +0 -0
  295. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/threat/__init__.py +0 -0
  296. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/threat/mutations.py +0 -0
  297. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/threat/queries.py +0 -0
  298. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/threat/subscriptions.py +0 -0
  299. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/threat_context/__init__.py +0 -0
  300. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/threat_context/mutations.py +0 -0
  301. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/threat_context/queries.py +0 -0
  302. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/threat_context/subscriptions.py +0 -0
  303. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/threat_context/types.py +0 -0
  304. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/threat_publications/__init__.py +0 -0
  305. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/threat_publications/mutations.py +0 -0
  306. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/threat_publications/queries.py +0 -0
  307. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/threat_publications/subscriptions.py +0 -0
  308. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/threat_publications/types.py +0 -0
  309. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/threat_score/__init__.py +0 -0
  310. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/threat_score/mutations.py +0 -0
  311. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/threat_score/queries.py +0 -0
  312. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/threat_score/subscriptions.py +0 -0
  313. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/threat_score/types.py +0 -0
  314. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/trigger_action/__init__.py +0 -0
  315. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/trigger_action/mutations.py +0 -0
  316. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/trigger_action/queries.py +0 -0
  317. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/trigger_action/subscriptions.py +0 -0
  318. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/trigger_action/types.py +0 -0
  319. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/trip/__init__.py +0 -0
  320. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/trip/mutations.py +0 -0
  321. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/trip/queries.py +0 -0
  322. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/trip/subscriptions.py +0 -0
  323. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/trip/types.py +0 -0
  324. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/users/__init__.py +0 -0
  325. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/users/mutations.py +0 -0
  326. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/users/queries.py +0 -0
  327. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/users/subscriptions.py +0 -0
  328. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/users/types.py +0 -0
  329. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/vdr/__init__.py +0 -0
  330. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/vdr/mutations.py +0 -0
  331. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/vdr/queries.py +0 -0
  332. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/vdr/subscriptions.py +0 -0
  333. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/vdr/types.py +0 -0
  334. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/xdr_central_connector/__init__.py +0 -0
  335. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/xdr_central_connector/mutations.py +0 -0
  336. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/xdr_central_connector/queries.py +0 -0
  337. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/xdr_central_connector/subscriptions.py +0 -0
  338. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/services/xdr_central_connector/types.py +0 -0
  339. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/templates/__init__.py +0 -0
  340. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/templates/_jinja2.py +0 -0
  341. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/tokens.py +0 -0
  342. {taegis_sdk_python-1.6.17 → taegis_sdk_python-1.6.19}/taegis_sdk_python/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: taegis-sdk-python
3
- Version: 1.6.17
3
+ Version: 1.6.19
4
4
  Summary: Taegis Python SDK
5
5
  Project-URL: Homepage, https://github.com/secureworks/taegis-sdk-python
6
6
  Project-URL: Bug Reports, https://github.com/secureworks/taegis-sdk-python/issues
@@ -192,6 +192,7 @@ Classifier: Programming Language :: Python :: 3.10
192
192
  Classifier: Programming Language :: Python :: 3.11
193
193
  Classifier: Programming Language :: Python :: 3.12
194
194
  Classifier: Programming Language :: Python :: 3.13
195
+ Classifier: Programming Language :: Python :: 3.14
195
196
  Requires-Python: >=3.9
196
197
  Requires-Dist: aiohttp
197
198
  Requires-Dist: backoff
@@ -200,6 +201,7 @@ Requires-Dist: filelock>=3.12.4
200
201
  Requires-Dist: gql>=4
201
202
  Requires-Dist: graphql-core
202
203
  Requires-Dist: jinja2
204
+ Requires-Dist: multidict
203
205
  Requires-Dist: oauthlib
204
206
  Requires-Dist: pyjwt>=2.8.0
205
207
  Requires-Dist: python-dateutil
@@ -19,6 +19,7 @@ classifiers = [
19
19
  "Programming Language :: Python :: 3.11",
20
20
  "Programming Language :: Python :: 3.12",
21
21
  "Programming Language :: Python :: 3.13",
22
+ "Programming Language :: Python :: 3.14",
22
23
  ]
23
24
  dependencies = [
24
25
  "aiohttp",
@@ -35,6 +36,7 @@ dependencies = [
35
36
  "websockets",
36
37
  "jinja2",
37
38
  "backoff",
39
+ "multidict"
38
40
  ]
39
41
 
40
42
  [project.optional-dependencies]
@@ -0,0 +1,66 @@
1
+ """Taegis Constants."""
2
+
3
+ from enum import Enum
4
+
5
+ from multidict import CIMultiDict
6
+
7
+ TAEGIS_ENVIRONMENT_URLS = CIMultiDict(
8
+ charlie="https://api.ctpx.secureworks.com",
9
+ production="https://api.ctpx.secureworks.com",
10
+ us1="https://api.ctpx.secureworks.com",
11
+ delta="https://api.delta.taegis.secureworks.com",
12
+ us2="https://api.delta.taegis.secureworks.com",
13
+ echo="https://api.echo.taegis.secureworks.com",
14
+ eu="https://api.echo.taegis.secureworks.com",
15
+ foxtrot="https://api.foxtrot.taegis.secureworks.com",
16
+ us3="https://api.foxtrot.taegis.secureworks.com",
17
+ golf="https://api.golf.taegis.secureworks.com",
18
+ euw1="https://api.golf.taegis.secureworks.com",
19
+ hotel="https://api.hotel.taegis.secureworks.com",
20
+ apse2="https://api.hotel.taegis.secureworks.com",
21
+ india="https://api.india.taegis.secureworks.com",
22
+ aps1="https://api.india.taegis.secureworks.com",
23
+ juliet="https://api.juliet.taegis.secureworks.com",
24
+ apne1="https://api.juliet.taegis.secureworks.com",
25
+ kilo="https://api.kilo.taegis.secureworks.com",
26
+ sae1="https://api.kilo.taegis.secureworks.com",
27
+ quebec="https://api.quebec.taegis.secureworks.com",
28
+ cac1="https://api.quebec.taegis.secureworks.com",
29
+ )
30
+
31
+
32
+ TAEGIS_TENANTS_URLS = CIMultiDict(
33
+ charlie="https://api.tenants.ctpx.secureworks.com",
34
+ production="https://api.tenants.ctpx.secureworks.com",
35
+ us1="https://api.tenants.ctpx.secureworks.com",
36
+ delta="https://api-tenants.delta.taegis.secureworks.com",
37
+ us2="https://api-tenants.delta.taegis.secureworks.com",
38
+ echo="https://api-tenants.echo.taegis.secureworks.com",
39
+ eu="https://api-tenants.echo.taegis.secureworks.com",
40
+ foxtrot="https://api-tenants.foxtrot.taegis.secureworks.com",
41
+ us3="https://api-tenants.foxtrot.taegis.secureworks.com",
42
+ golf="https://api-tenants.golf.taegis.secureworks.com",
43
+ euw1="https://api-tenants.golf.taegis.secureworks.com",
44
+ hotel="https://api-tenants.hotel.taegis.secureworks.com",
45
+ apse2="https://api-tenants.hotel.taegis.secureworks.com",
46
+ india="https://api-tenants.india.taegis.secureworks.com",
47
+ aps1="https://api-tenants.india.taegis.secureworks.com",
48
+ juliet="https://api-tenants.juliet.taegis.secureworks.com",
49
+ apne1="https://api-tenants.juliet.taegis.secureworks.com",
50
+ kilo="https://api-tenants.kilo.taegis.secureworks.com",
51
+ sae1="https://api-tenants.kilo.taegis.secureworks.com",
52
+ quebec="https://api-tenants.quebec.taegis.secureworks.com",
53
+ cac1="https://api-tenants.quebec.taegis.secureworks.com",
54
+ )
55
+
56
+
57
+ UNIVERSAL_ENVIRONMENT = "universal"
58
+ UNIVERSAL_AUTHENTICATION_URL = "https://api.taegis.secureworks.com"
59
+
60
+ DEFAULT_GATEWAY = "/graphql"
61
+
62
+
63
+ class TaegisEnum(str, Enum):
64
+ """Handler for Unknown Enums."""
65
+
66
+ UNKNOWN = "TAEGIS_SDK_PYTHON_UNKNOWN"
@@ -1,3 +1,3 @@
1
1
  """Version idenitier."""
2
2
 
3
- __version__ = "1.6.17"
3
+ __version__ = "1.6.19"
@@ -53,6 +53,7 @@ from taegis_sdk_python.services.events import EventsService
53
53
  from taegis_sdk_python.services.exports import ExportsService
54
54
  from taegis_sdk_python.services.fast_ioc import FastIocService
55
55
  from taegis_sdk_python.services.file_info import FileInfoService
56
+ from taegis_sdk_python.services.health import HealthService
56
57
  from taegis_sdk_python.services.ingest_stats import IngestStatsService
57
58
  from taegis_sdk_python.services.investigations import InvestigationsService
58
59
  from taegis_sdk_python.services.investigations2 import Investigations2Service
@@ -98,7 +99,7 @@ class GraphQLService:
98
99
  *,
99
100
  environment: Optional[str] = None,
100
101
  tenant_id: Optional[str] = None,
101
- environments: Optional[Dict[str, str]] = None,
102
+ environments: Optional[Union[Dict[str, str], CIMultiDict[str, str]]] = None,
102
103
  gateway: Optional[str] = None,
103
104
  extra_headers: Optional[Dict[str, Any]] = None,
104
105
  schema_expiry: int = 5,
@@ -157,7 +158,11 @@ class GraphQLService:
157
158
  """
158
159
  self.response_headers: CIMultiDictProxy[str] = CIMultiDictProxy(CIMultiDict())
159
160
 
160
- self._environments = environments or TAEGIS_ENVIRONMENT_URLS
161
+ if not environments:
162
+ self._environments = TAEGIS_ENVIRONMENT_URLS
163
+ else:
164
+ self._environments = CIMultiDict(environments)
165
+
161
166
  self._environment = environment or list(self._environments)[0]
162
167
  self._use_universal_authentication = use_universal_authentication
163
168
 
@@ -220,6 +225,7 @@ class GraphQLService:
220
225
  self._events = None
221
226
  self._exports = None
222
227
  self._fast_ioc = None
228
+ self._health = None
223
229
  self._file_info = None
224
230
  self._ingest_stats = None
225
231
  self._investigations = None
@@ -686,6 +692,13 @@ class GraphQLService:
686
692
  self._fast_ioc = FastIocService(self)
687
693
  return self._fast_ioc
688
694
 
695
+ @property
696
+ def health(self):
697
+ """Health Service Endpoint."""
698
+ if not self._health:
699
+ self._health = HealthService(self)
700
+ return self._health
701
+
689
702
  @property
690
703
  def file_info(self):
691
704
  """FileInfo Service Endpoint."""
@@ -36,6 +36,7 @@ class ResolutionStatus(str, Enum):
36
36
  OTHER = "OTHER"
37
37
  SUPPRESSED = "SUPPRESSED"
38
38
  AUTO_CLOSE = "AUTO_CLOSE"
39
+ DISMISSED = "DISMISSED"
39
40
 
40
41
 
41
42
  class Origin(str, Enum):
@@ -405,11 +405,32 @@ class TagV2:
405
405
  default=None, metadata=config(field_name="updatedAt")
406
406
  )
407
407
  tag: Optional[str] = field(default=None, metadata=config(field_name="tag"))
408
- key: Optional[str] = field(default=None, metadata=config(field_name="key"))
409
- value: Optional[str] = field(default=None, metadata=config(field_name="value"))
408
+ key: Optional[str] = field(
409
+ default=None,
410
+ metadata=config(
411
+ metadata={
412
+ "deprecated": True,
413
+ "deprecation_reason": "Use the tag field instead. Key/value separation is inconsistent across endpoint types.",
414
+ },
415
+ field_name="key",
416
+ ),
417
+ )
418
+ value: Optional[str] = field(
419
+ default=None,
420
+ metadata=config(
421
+ metadata={
422
+ "deprecated": True,
423
+ "deprecation_reason": "Use the tag field instead. Key/value separation is inconsistent across endpoint types.",
424
+ },
425
+ field_name="value",
426
+ ),
427
+ )
410
428
  is_vendor_tag: Optional[bool] = field(
411
429
  default=None, metadata=config(field_name="isVendorTag")
412
430
  )
431
+ is_sophos_tag: Optional[bool] = field(
432
+ default=None, metadata=config(field_name="isSophosTag")
433
+ )
413
434
 
414
435
 
415
436
  @dataclass_json
@@ -56,6 +56,10 @@ class TaegisSDKContractedEndpointQuery:
56
56
  """No developer notes."""
57
57
  endpoint = "projectIRHoursForTenantID"
58
58
 
59
+ log.warning(
60
+ f"GraphQL Query `{endpoint}` is deprecated: 'Use endpointCountForTenantID instead. Planned removal: 2026-09-01'"
61
+ )
62
+
59
63
  result = self.service.execute_query(endpoint=endpoint, variables={}, output="")
60
64
  if result.get(endpoint) is not None:
61
65
  return result.get(endpoint)
@@ -40,7 +40,14 @@ class ContractedEndpoints:
40
40
  default=None, metadata=config(field_name="endpointCount")
41
41
  )
42
42
  service: Optional[List[str]] = field(
43
- default=None, metadata=config(field_name="service")
43
+ default=None,
44
+ metadata=config(
45
+ metadata={
46
+ "deprecated": True,
47
+ "deprecation_reason": "Service list is best-effort only and may be empty if tenant service lookup fails.",
48
+ },
49
+ field_name="service",
50
+ ),
44
51
  )
45
52
  service_date: Optional[str] = field(
46
53
  default=None, metadata=config(field_name="serviceDate")
@@ -36,6 +36,10 @@ class TaegisSDKEventStatsQuery:
36
36
  """Get effective agents count for the given tenant and time range."""
37
37
  endpoint = "effectiveAgents"
38
38
 
39
+ log.warning(
40
+ f"GraphQL Query `{endpoint}` is deprecated: 'Use `eventStatsQuery` instead'"
41
+ )
42
+
39
43
  result = self.service.execute_query(
40
44
  endpoint=endpoint,
41
45
  variables={
@@ -172,6 +172,9 @@ class EventFetchOptions:
172
172
  normalize_event_keys: Optional[bool] = field(
173
173
  default=None, metadata=config(field_name="normalizeEventKeys")
174
174
  )
175
+ metadata: Optional[dict] = field(
176
+ default=None, metadata=config(field_name="metadata")
177
+ )
175
178
  backend_strategy: Optional[BackendStrategy] = field(
176
179
  default=None, metadata=config(field_name="backendStrategy")
177
180
  )
@@ -0,0 +1,35 @@
1
+ """Health Service."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import TYPE_CHECKING
6
+
7
+ from taegis_sdk_python.service_core import ServiceCore
8
+ from taegis_sdk_python.services.health.mutations import TaegisSDKHealthMutation
9
+ from taegis_sdk_python.services.health.queries import TaegisSDKHealthQuery
10
+ from taegis_sdk_python.services.health.subscriptions import TaegisSDKHealthSubscription
11
+
12
+ if TYPE_CHECKING: # pragma: no cover
13
+ from taegis_sdk_python.services import GraphQLService
14
+
15
+
16
+ class HealthService(ServiceCore):
17
+ """Taegis Health Service."""
18
+
19
+ @property
20
+ def query(self):
21
+ if not self._queries:
22
+ self._queries = TaegisSDKHealthQuery(self)
23
+ return self._queries
24
+
25
+ @property
26
+ def mutation(self):
27
+ if not self._mutations:
28
+ self._mutations = TaegisSDKHealthMutation(self)
29
+ return self._mutations
30
+
31
+ @property
32
+ def subscription(self):
33
+ if not self._subscriptions:
34
+ self._subscriptions = TaegisSDKHealthSubscription(self)
35
+ return self._subscriptions
@@ -0,0 +1,54 @@
1
+ """Health Mutation."""
2
+
3
+ # pylint: disable=no-member, unused-argument, too-many-locals, duplicate-code, wildcard-import, unused-wildcard-import, cyclic-import
4
+
5
+
6
+ # Autogenerated
7
+ # DO NOT MODIFY
8
+
9
+ from __future__ import annotations
10
+
11
+ import logging
12
+ from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union
13
+
14
+ from taegis_sdk_python import GraphQLNoRowsInResultSetError
15
+ from taegis_sdk_python._consts import TaegisEnum
16
+ from taegis_sdk_python.services.health.types import *
17
+ from taegis_sdk_python.utils import (
18
+ build_output_string,
19
+ parse_union_result,
20
+ prepare_input,
21
+ )
22
+
23
+ if TYPE_CHECKING: # pragma: no cover
24
+ from taegis_sdk_python.services.health import HealthService
25
+
26
+ log = logging.getLogger(__name__)
27
+
28
+
29
+ class TaegisSDKHealthMutation:
30
+ """Taegis Health Mutation operations."""
31
+
32
+ def __init__(self, service: HealthService):
33
+ self.service = service
34
+
35
+ def ndr_health_clear_health_status(
36
+ self, device_name: str, alert_name: str
37
+ ) -> NDRHealthStatus:
38
+ """Clear Health Alert."""
39
+ endpoint = "ndrHealthClearHealthStatus"
40
+
41
+ result = self.service.execute_mutation(
42
+ endpoint=endpoint,
43
+ variables={
44
+ "deviceName": prepare_input(device_name),
45
+ "alertName": prepare_input(alert_name),
46
+ },
47
+ output=build_output_string(
48
+ NDRHealthStatus,
49
+ exclude_deprecated_output=self.service.exclude_deprecated_output,
50
+ ),
51
+ )
52
+ if result.get(endpoint) is not None:
53
+ return NDRHealthStatus.from_dict(result.get(endpoint))
54
+ raise GraphQLNoRowsInResultSetError("for mutation ndrHealthClearHealthStatus")
@@ -0,0 +1,111 @@
1
+ """Health Query."""
2
+
3
+ # pylint: disable=no-member, unused-argument, too-many-locals, duplicate-code, wildcard-import, unused-wildcard-import, cyclic-import
4
+
5
+
6
+ # Autogenerated
7
+ # DO NOT MODIFY
8
+
9
+ from __future__ import annotations
10
+
11
+ import logging
12
+ from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union
13
+
14
+ from taegis_sdk_python import GraphQLNoRowsInResultSetError
15
+ from taegis_sdk_python._consts import TaegisEnum
16
+ from taegis_sdk_python.services.health.types import *
17
+ from taegis_sdk_python.utils import (
18
+ build_output_string,
19
+ parse_union_result,
20
+ prepare_input,
21
+ )
22
+
23
+ if TYPE_CHECKING: # pragma: no cover
24
+ from taegis_sdk_python.services.health import HealthService
25
+
26
+ log = logging.getLogger(__name__)
27
+
28
+
29
+ class TaegisSDKHealthQuery:
30
+ """Taegis Health Query operations."""
31
+
32
+ def __init__(self, service: HealthService):
33
+ self.service = service
34
+
35
+ def ndr_health_last_event(self, device_name: str) -> NDRHealthLastEvents:
36
+ """Query to get event timestamps."""
37
+ endpoint = "ndrHealthLastEvent"
38
+
39
+ result = self.service.execute_query(
40
+ endpoint=endpoint,
41
+ variables={
42
+ "deviceName": prepare_input(device_name),
43
+ },
44
+ output=build_output_string(
45
+ NDRHealthLastEvents,
46
+ exclude_deprecated_output=self.service.exclude_deprecated_output,
47
+ ),
48
+ )
49
+ if result.get(endpoint) is not None:
50
+ return NDRHealthLastEvents.from_dict(result.get(endpoint))
51
+ raise GraphQLNoRowsInResultSetError("for query ndrHealthLastEvent")
52
+
53
+ def ndr_health_status(self, device_name: str) -> List[NDRHealthStatus]:
54
+ """Query to get health status of a device."""
55
+ endpoint = "ndrHealthStatus"
56
+
57
+ result = self.service.execute_query(
58
+ endpoint=endpoint,
59
+ variables={
60
+ "deviceName": prepare_input(device_name),
61
+ },
62
+ output=build_output_string(
63
+ NDRHealthStatus,
64
+ exclude_deprecated_output=self.service.exclude_deprecated_output,
65
+ ),
66
+ )
67
+ if result.get(endpoint) is not None:
68
+ return NDRHealthStatus.schema().load(
69
+ [r or {} for r in result.get(endpoint)], many=True
70
+ )
71
+ raise GraphQLNoRowsInResultSetError("for query ndrHealthStatus")
72
+
73
+ def ndr_health_statuses(self) -> List[NDRHealthStatuses]:
74
+ """Query to get list of devices with health status of each device."""
75
+ endpoint = "ndrHealthStatuses"
76
+
77
+ result = self.service.execute_query(
78
+ endpoint=endpoint,
79
+ variables={},
80
+ output=build_output_string(
81
+ NDRHealthStatuses,
82
+ exclude_deprecated_output=self.service.exclude_deprecated_output,
83
+ ),
84
+ )
85
+ if result.get(endpoint) is not None:
86
+ return NDRHealthStatuses.schema().load(
87
+ [r or {} for r in result.get(endpoint)], many=True
88
+ )
89
+ raise GraphQLNoRowsInResultSetError("for query ndrHealthStatuses")
90
+
91
+ def ndr_health_metrics(
92
+ self, ndr_health_metrics_query: NDRHealthMetricsQuery
93
+ ) -> List[NDRHealthMetricsResponse]:
94
+ """Query to get health metrics of a device for the requested type."""
95
+ endpoint = "ndrHealthMetrics"
96
+
97
+ result = self.service.execute_query(
98
+ endpoint=endpoint,
99
+ variables={
100
+ "ndrHealthMetricsQuery": prepare_input(ndr_health_metrics_query),
101
+ },
102
+ output=build_output_string(
103
+ NDRHealthMetricsResponse,
104
+ exclude_deprecated_output=self.service.exclude_deprecated_output,
105
+ ),
106
+ )
107
+ if result.get(endpoint) is not None:
108
+ return NDRHealthMetricsResponse.schema().load(
109
+ [r or {} for r in result.get(endpoint)], many=True
110
+ )
111
+ raise GraphQLNoRowsInResultSetError("for query ndrHealthMetrics")
@@ -0,0 +1,33 @@
1
+ """Health Subscription."""
2
+
3
+ # pylint: disable=no-member, unused-argument, too-many-locals, duplicate-code, wildcard-import, unused-wildcard-import, cyclic-import
4
+
5
+
6
+ # Autogenerated
7
+ # DO NOT MODIFY
8
+
9
+ from __future__ import annotations
10
+
11
+ import logging
12
+ from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union
13
+
14
+ from taegis_sdk_python import GraphQLNoRowsInResultSetError
15
+ from taegis_sdk_python._consts import TaegisEnum
16
+ from taegis_sdk_python.services.health.types import *
17
+ from taegis_sdk_python.utils import (
18
+ build_output_string,
19
+ parse_union_result,
20
+ prepare_input,
21
+ )
22
+
23
+ if TYPE_CHECKING: # pragma: no cover
24
+ from taegis_sdk_python.services.health import HealthService
25
+
26
+ log = logging.getLogger(__name__)
27
+
28
+
29
+ class TaegisSDKHealthSubscription:
30
+ """Taegis Health Subscription operations."""
31
+
32
+ def __init__(self, service: HealthService):
33
+ self.service = service
@@ -0,0 +1,174 @@
1
+ """Health Types and Enums."""
2
+
3
+ # pylint: disable=no-member, unused-argument, too-many-locals, duplicate-code
4
+
5
+ # Autogenerated
6
+ # DO NOT MODIFY
7
+
8
+ from dataclasses import dataclass, field
9
+ from enum import Enum
10
+ from typing import Any, Dict, List, Optional, Tuple, Union
11
+
12
+ from dataclasses_json import config, dataclass_json
13
+
14
+ from taegis_sdk_python._consts import TaegisEnum
15
+ from taegis_sdk_python.utils import decode_enum, encode_enum, parse_union_result
16
+
17
+
18
+ class NdrHealthState(str, Enum):
19
+ """NdrHealthState."""
20
+
21
+ UP = "UP"
22
+ DOWN = "DOWN"
23
+ WARNING = "WARNING"
24
+
25
+
26
+ class OverAllHealthState(str, Enum):
27
+ """OverAllHealthState."""
28
+
29
+ HEALTHY = "HEALTHY"
30
+ WARNING = "WARNING"
31
+ NODATA = "NODATA"
32
+
33
+
34
+ class NdrHealthMetricName(str, Enum):
35
+ """NdrHealthMetricName."""
36
+
37
+ MEMORY_USAGE = "MEMORY_USAGE"
38
+ CPU_UTILIZATION = "CPU_UTILIZATION"
39
+ DISK_USAGE = "DISK_USAGE"
40
+ NETWORK_INTERFACE_ERRORS = "NETWORK_INTERFACE_ERRORS"
41
+ NETWORK_INTERFACE_PACKETS = "NETWORK_INTERFACE_PACKETS"
42
+ NETWORK_INTERFACE_THROUGHPUT = "NETWORK_INTERFACE_THROUGHPUT"
43
+ IPS_ENGINE_EVENTS = "IPS_ENGINE_EVENTS"
44
+
45
+
46
+ @dataclass_json
47
+ @dataclass(order=True, eq=True, frozen=True)
48
+ class NDRHealthMetric:
49
+ """NDRHealthMetric."""
50
+
51
+ time: Optional[str] = field(default=None, metadata=config(field_name="time"))
52
+ value: Optional[float] = field(default=None, metadata=config(field_name="value"))
53
+
54
+
55
+ @dataclass_json
56
+ @dataclass(order=True, eq=True, frozen=True)
57
+ class NDRHealthLastEvents:
58
+ """NDRHealthLastEvents."""
59
+
60
+ heartbeat: Optional[str] = field(
61
+ default=None, metadata=config(field_name="heartbeat")
62
+ )
63
+ security: Optional[str] = field(
64
+ default=None, metadata=config(field_name="security")
65
+ )
66
+
67
+
68
+ @dataclass_json
69
+ @dataclass(order=True, eq=True, frozen=True)
70
+ class NDRHealthMetricsQuery:
71
+ """NDRHealthMetricsQuery."""
72
+
73
+ device_name: Optional[str] = field(
74
+ default=None, metadata=config(field_name="deviceName")
75
+ )
76
+ start_time: Optional[str] = field(
77
+ default=None, metadata=config(field_name="startTime")
78
+ )
79
+ end_time: Optional[str] = field(default=None, metadata=config(field_name="endTime"))
80
+ data_interval: Optional[str] = field(
81
+ default=None, metadata=config(field_name="dataInterval")
82
+ )
83
+ metric_name: Optional[Union[NdrHealthMetricName, TaegisEnum]] = field(
84
+ default=None,
85
+ metadata=config(
86
+ encoder=encode_enum,
87
+ decoder=lambda x: decode_enum(NdrHealthMetricName, x),
88
+ field_name="metricName",
89
+ ),
90
+ )
91
+
92
+
93
+ @dataclass_json
94
+ @dataclass(order=True, eq=True, frozen=True)
95
+ class NDRHealthMetricSeries:
96
+ """NDRHealthMetricSeries."""
97
+
98
+ name: Optional[str] = field(default=None, metadata=config(field_name="name"))
99
+ min: Optional[float] = field(default=None, metadata=config(field_name="min"))
100
+ max: Optional[float] = field(default=None, metadata=config(field_name="max"))
101
+ avg: Optional[float] = field(default=None, metadata=config(field_name="avg"))
102
+ last: Optional[float] = field(default=None, metadata=config(field_name="last"))
103
+ metric_series: Optional[List[NDRHealthMetric]] = field(
104
+ default=None, metadata=config(field_name="metricSeries")
105
+ )
106
+
107
+
108
+ @dataclass_json
109
+ @dataclass(order=True, eq=True, frozen=True)
110
+ class NDRHealthMetrics:
111
+ """NDRHealthMetrics."""
112
+
113
+ metric_name: Optional[str] = field(
114
+ default=None, metadata=config(field_name="metricName")
115
+ )
116
+ metrics_list: Optional[List[NDRHealthMetricSeries]] = field(
117
+ default=None, metadata=config(field_name="metricsList")
118
+ )
119
+
120
+
121
+ @dataclass_json
122
+ @dataclass(order=True, eq=True, frozen=True)
123
+ class NDRHealthMetricsResponse:
124
+ """NDRHealthMetricsResponse."""
125
+
126
+ metrics: Optional[List[NDRHealthMetrics]] = field(
127
+ default=None, metadata=config(field_name="metrics")
128
+ )
129
+
130
+
131
+ @dataclass_json
132
+ @dataclass(order=True, eq=True, frozen=True)
133
+ class NDRHealthStatus:
134
+ """NDRHealthStatus."""
135
+
136
+ alert_name: Optional[str] = field(
137
+ default=None, metadata=config(field_name="alertName")
138
+ )
139
+ timestamp: Optional[str] = field(
140
+ default=None, metadata=config(field_name="timestamp")
141
+ )
142
+ tenant_id: Optional[int] = field(
143
+ default=None, metadata=config(field_name="tenantId")
144
+ )
145
+ details: Optional[str] = field(default=None, metadata=config(field_name="details"))
146
+ status: Optional[Union[NdrHealthState, TaegisEnum]] = field(
147
+ default=None,
148
+ metadata=config(
149
+ encoder=encode_enum,
150
+ decoder=lambda x: decode_enum(NdrHealthState, x),
151
+ field_name="status",
152
+ ),
153
+ )
154
+ over_allstatus: Optional[Union[OverAllHealthState, TaegisEnum]] = field(
155
+ default=None,
156
+ metadata=config(
157
+ encoder=encode_enum,
158
+ decoder=lambda x: decode_enum(OverAllHealthState, x),
159
+ field_name="overAllstatus",
160
+ ),
161
+ )
162
+
163
+
164
+ @dataclass_json
165
+ @dataclass(order=True, eq=True, frozen=True)
166
+ class NDRHealthStatuses:
167
+ """NDRHealthStatuses."""
168
+
169
+ device_name: Optional[str] = field(
170
+ default=None, metadata=config(field_name="deviceName")
171
+ )
172
+ health_status: Optional[List[NDRHealthStatus]] = field(
173
+ default=None, metadata=config(field_name="healthStatus")
174
+ )