taegis-sdk-python 1.6.1__tar.gz → 1.6.2__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 (295) hide show
  1. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/PKG-INFO +2 -2
  2. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/pyproject.toml +1 -1
  3. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/_version.py +1 -1
  4. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/middlewares/utils.py +1 -1
  5. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/service_core.py +27 -12
  6. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/__init__.py +49 -0
  7. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/assets2/types.py +22 -0
  8. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/entity_context/types.py +1 -0
  9. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/investigations2/types.py +73 -62
  10. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/tenants4/types.py +3 -0
  11. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/threat/types.py +1 -0
  12. taegis_sdk_python-1.6.1/taegis_sdk_python/transport/__init__.py +0 -0
  13. taegis_sdk_python-1.6.1/taegis_sdk_python/transport/aiohttp_websockets.py +0 -1224
  14. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/.gitignore +0 -0
  15. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/LICENSE +0 -0
  16. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/README.md +0 -0
  17. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/__init__.py +0 -0
  18. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/_consts.py +0 -0
  19. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/authentication.py +0 -0
  20. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/commons/__init__.py +0 -0
  21. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/commons/alerts/__init__.py +0 -0
  22. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/commons/alerts/federated_search.py +0 -0
  23. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/commons/alerts/search.py +0 -0
  24. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/commons/cases/__init__.py +0 -0
  25. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/commons/cases/federated_search.py +0 -0
  26. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/commons/cases/search.py +0 -0
  27. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/commons/events/__init__.py +0 -0
  28. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/commons/events/search.py +0 -0
  29. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/commons/investigations/__init__.py +0 -0
  30. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/commons/investigations/federated_search.py +0 -0
  31. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/commons/investigations/search.py +0 -0
  32. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/commons/sharelinks/__init__.py +0 -0
  33. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/commons/sharelinks/create.py +0 -0
  34. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/commons/sharelinks/unfurl.py +0 -0
  35. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/config.py +0 -0
  36. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/errors.py +0 -0
  37. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/middlewares/__init__.py +0 -0
  38. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/middlewares/logging/__init__.py +0 -0
  39. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/middlewares/logging/_default.py +0 -0
  40. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/middlewares/retry/__init__.py +0 -0
  41. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/middlewares/retry/_default.py +0 -0
  42. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/access_points/__init__.py +0 -0
  43. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/access_points/mutations.py +0 -0
  44. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/access_points/queries.py +0 -0
  45. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/access_points/subscriptions.py +0 -0
  46. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/access_points/types.py +0 -0
  47. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/agent/__init__.py +0 -0
  48. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/agent/mutations.py +0 -0
  49. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/agent/queries.py +0 -0
  50. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/agent/subscriptions.py +0 -0
  51. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/agent/types.py +0 -0
  52. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/alerts/__init__.py +0 -0
  53. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/alerts/mutations.py +0 -0
  54. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/alerts/queries.py +0 -0
  55. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/alerts/subscriptions.py +0 -0
  56. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/alerts/types.py +0 -0
  57. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/alerts_history/__init__.py +0 -0
  58. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/alerts_history/mutations.py +0 -0
  59. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/alerts_history/queries.py +0 -0
  60. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/alerts_history/subscriptions.py +0 -0
  61. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/alerts_history/types.py +0 -0
  62. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/assets/__init__.py +0 -0
  63. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/assets/mutations.py +0 -0
  64. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/assets/queries.py +0 -0
  65. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/assets/subscriptions.py +0 -0
  66. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/assets/types.py +0 -0
  67. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/assets2/__init__.py +0 -0
  68. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/assets2/mutations.py +0 -0
  69. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/assets2/queries.py +0 -0
  70. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/assets2/subscriptions.py +0 -0
  71. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/audits/__init__.py +0 -0
  72. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/audits/mutations.py +0 -0
  73. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/audits/queries.py +0 -0
  74. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/audits/subscriptions.py +0 -0
  75. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/audits/types.py +0 -0
  76. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/authz/__init__.py +0 -0
  77. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/authz/mutations.py +0 -0
  78. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/authz/queries.py +0 -0
  79. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/authz/subscriptions.py +0 -0
  80. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/authz/types.py +0 -0
  81. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/byoti/__init__.py +0 -0
  82. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/byoti/mutations.py +0 -0
  83. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/byoti/queries.py +0 -0
  84. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/byoti/subscriptions.py +0 -0
  85. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/byoti/types.py +0 -0
  86. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/clients/__init__.py +0 -0
  87. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/clients/mutations.py +0 -0
  88. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/clients/queries.py +0 -0
  89. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/clients/subscriptions.py +0 -0
  90. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/clients/types.py +0 -0
  91. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/collector/__init__.py +0 -0
  92. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/collector/mutations.py +0 -0
  93. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/collector/queries.py +0 -0
  94. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/collector/subscriptions.py +0 -0
  95. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/collector/types.py +0 -0
  96. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/comments/__init__.py +0 -0
  97. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/comments/mutations.py +0 -0
  98. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/comments/queries.py +0 -0
  99. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/comments/subscriptions.py +0 -0
  100. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/comments/types.py +0 -0
  101. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/contracted_endpoint/__init__.py +0 -0
  102. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/contracted_endpoint/mutations.py +0 -0
  103. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/contracted_endpoint/queries.py +0 -0
  104. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/contracted_endpoint/subscriptions.py +0 -0
  105. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/contracted_endpoint/types.py +0 -0
  106. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/cql_metadata/__init__.py +0 -0
  107. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/cql_metadata/mutations.py +0 -0
  108. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/cql_metadata/queries.py +0 -0
  109. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/cql_metadata/subscriptions.py +0 -0
  110. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/cql_metadata/types.py +0 -0
  111. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/datasources/__init__.py +0 -0
  112. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/datasources/mutations.py +0 -0
  113. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/datasources/queries.py +0 -0
  114. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/datasources/subscriptions.py +0 -0
  115. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/datasources/types.py +0 -0
  116. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/detector_registry/__init__.py +0 -0
  117. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/detector_registry/mutations.py +0 -0
  118. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/detector_registry/queries.py +0 -0
  119. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/detector_registry/subscriptions.py +0 -0
  120. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/detector_registry/types.py +0 -0
  121. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/endpoint_command_manager/__init__.py +0 -0
  122. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/endpoint_command_manager/mutations.py +0 -0
  123. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/endpoint_command_manager/queries.py +0 -0
  124. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/endpoint_command_manager/subscriptions.py +0 -0
  125. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/endpoint_command_manager/types.py +0 -0
  126. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/endpoint_management_service/__init__.py +0 -0
  127. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/endpoint_management_service/mutations.py +0 -0
  128. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/endpoint_management_service/queries.py +0 -0
  129. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/endpoint_management_service/subscriptions.py +0 -0
  130. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/endpoint_management_service/types.py +0 -0
  131. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/entity_context/__init__.py +0 -0
  132. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/entity_context/mutations.py +0 -0
  133. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/entity_context/queries.py +0 -0
  134. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/entity_context/subscriptions.py +0 -0
  135. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/event_search/__init__.py +0 -0
  136. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/event_search/mutations.py +0 -0
  137. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/event_search/queries.py +0 -0
  138. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/event_search/subscriptions.py +0 -0
  139. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/event_search/types.py +0 -0
  140. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/events/__init__.py +0 -0
  141. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/events/mutations.py +0 -0
  142. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/events/queries.py +0 -0
  143. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/events/subscriptions.py +0 -0
  144. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/events/types.py +0 -0
  145. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/exports/__init__.py +0 -0
  146. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/exports/mutations.py +0 -0
  147. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/exports/queries.py +0 -0
  148. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/exports/subscriptions.py +0 -0
  149. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/exports/types.py +0 -0
  150. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/fast_ioc/__init__.py +0 -0
  151. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/fast_ioc/mutations.py +0 -0
  152. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/fast_ioc/queries.py +0 -0
  153. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/fast_ioc/subscriptions.py +0 -0
  154. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/fast_ioc/types.py +0 -0
  155. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/file_info/__init__.py +0 -0
  156. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/file_info/mutations.py +0 -0
  157. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/file_info/queries.py +0 -0
  158. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/file_info/subscriptions.py +0 -0
  159. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/file_info/types.py +0 -0
  160. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/ingest_stats/__init__.py +0 -0
  161. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/ingest_stats/mutations.py +0 -0
  162. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/ingest_stats/queries.py +0 -0
  163. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/ingest_stats/subscriptions.py +0 -0
  164. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/ingest_stats/types.py +0 -0
  165. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/investigations/__init__.py +0 -0
  166. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/investigations/mutations.py +0 -0
  167. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/investigations/queries.py +0 -0
  168. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/investigations/subscriptions.py +0 -0
  169. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/investigations/types.py +0 -0
  170. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/investigations2/__init__.py +0 -0
  171. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/investigations2/mutations.py +0 -0
  172. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/investigations2/queries.py +0 -0
  173. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/investigations2/subscriptions.py +0 -0
  174. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/isensor/__init__.py +0 -0
  175. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/isensor/mutations.py +0 -0
  176. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/isensor/queries.py +0 -0
  177. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/isensor/subscriptions.py +0 -0
  178. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/isensor/types.py +0 -0
  179. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/mitre_attack_info/__init__.py +0 -0
  180. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/mitre_attack_info/mutations.py +0 -0
  181. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/mitre_attack_info/queries.py +0 -0
  182. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/mitre_attack_info/subscriptions.py +0 -0
  183. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/mitre_attack_info/types.py +0 -0
  184. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/multi_tenant_context/__init__.py +0 -0
  185. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/multi_tenant_context/mutations.py +0 -0
  186. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/multi_tenant_context/queries.py +0 -0
  187. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/multi_tenant_context/subscriptions.py +0 -0
  188. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/multi_tenant_context/types.py +0 -0
  189. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/multi_tenant_ioc/__init__.py +0 -0
  190. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/multi_tenant_ioc/mutations.py +0 -0
  191. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/multi_tenant_ioc/queries.py +0 -0
  192. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/multi_tenant_ioc/subscriptions.py +0 -0
  193. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/multi_tenant_ioc/types.py +0 -0
  194. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/nl_search/__init__.py +0 -0
  195. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/nl_search/mutations.py +0 -0
  196. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/nl_search/queries.py +0 -0
  197. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/nl_search/subscriptions.py +0 -0
  198. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/nl_search/types.py +0 -0
  199. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/notebooks/__init__.py +0 -0
  200. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/notebooks/mutations.py +0 -0
  201. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/notebooks/queries.py +0 -0
  202. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/notebooks/subscriptions.py +0 -0
  203. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/notebooks/types.py +0 -0
  204. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/notifications/__init__.py +0 -0
  205. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/notifications/mutations.py +0 -0
  206. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/notifications/queries.py +0 -0
  207. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/notifications/subscriptions.py +0 -0
  208. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/notifications/types.py +0 -0
  209. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/preferences/__init__.py +0 -0
  210. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/preferences/mutations.py +0 -0
  211. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/preferences/queries.py +0 -0
  212. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/preferences/subscriptions.py +0 -0
  213. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/preferences/types.py +0 -0
  214. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/process_trees/__init__.py +0 -0
  215. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/process_trees/mutations.py +0 -0
  216. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/process_trees/queries.py +0 -0
  217. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/process_trees/subscriptions.py +0 -0
  218. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/process_trees/types.py +0 -0
  219. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/queries/__init__.py +0 -0
  220. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/queries/mutations.py +0 -0
  221. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/queries/queries.py +0 -0
  222. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/queries/subscriptions.py +0 -0
  223. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/queries/types.py +0 -0
  224. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/roadrunner/__init__.py +0 -0
  225. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/roadrunner/mutations.py +0 -0
  226. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/roadrunner/queries.py +0 -0
  227. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/roadrunner/subscriptions.py +0 -0
  228. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/roadrunner/types.py +0 -0
  229. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/rules/__init__.py +0 -0
  230. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/rules/mutations.py +0 -0
  231. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/rules/queries.py +0 -0
  232. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/rules/subscriptions.py +0 -0
  233. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/rules/types.py +0 -0
  234. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/sharelinks/__init__.py +0 -0
  235. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/sharelinks/mutations.py +0 -0
  236. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/sharelinks/queries.py +0 -0
  237. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/sharelinks/subscriptions.py +0 -0
  238. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/sharelinks/types.py +0 -0
  239. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/subjects/__init__.py +0 -0
  240. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/subjects/mutations.py +0 -0
  241. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/subjects/queries.py +0 -0
  242. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/subjects/subscriptions.py +0 -0
  243. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/subjects/types.py +0 -0
  244. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/tenant_profiles/__init__.py +0 -0
  245. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/tenant_profiles/mutations.py +0 -0
  246. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/tenant_profiles/queries.py +0 -0
  247. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/tenant_profiles/subscriptions.py +0 -0
  248. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/tenant_profiles/types.py +0 -0
  249. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/tenants/__init__.py +0 -0
  250. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/tenants/mutations.py +0 -0
  251. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/tenants/queries.py +0 -0
  252. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/tenants/subscriptions.py +0 -0
  253. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/tenants/types.py +0 -0
  254. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/tenants4/__init__.py +0 -0
  255. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/tenants4/mutations.py +0 -0
  256. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/tenants4/queries.py +0 -0
  257. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/tenants4/subscriptions.py +0 -0
  258. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/threat/__init__.py +0 -0
  259. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/threat/mutations.py +0 -0
  260. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/threat/queries.py +0 -0
  261. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/threat/subscriptions.py +0 -0
  262. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/threat_score/__init__.py +0 -0
  263. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/threat_score/mutations.py +0 -0
  264. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/threat_score/queries.py +0 -0
  265. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/threat_score/subscriptions.py +0 -0
  266. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/threat_score/types.py +0 -0
  267. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/trigger_action/__init__.py +0 -0
  268. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/trigger_action/mutations.py +0 -0
  269. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/trigger_action/queries.py +0 -0
  270. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/trigger_action/subscriptions.py +0 -0
  271. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/trigger_action/types.py +0 -0
  272. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/trip/__init__.py +0 -0
  273. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/trip/mutations.py +0 -0
  274. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/trip/queries.py +0 -0
  275. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/trip/subscriptions.py +0 -0
  276. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/trip/types.py +0 -0
  277. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/users/__init__.py +0 -0
  278. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/users/mutations.py +0 -0
  279. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/users/queries.py +0 -0
  280. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/users/subscriptions.py +0 -0
  281. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/users/types.py +0 -0
  282. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/vdr/__init__.py +0 -0
  283. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/vdr/mutations.py +0 -0
  284. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/vdr/queries.py +0 -0
  285. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/vdr/subscriptions.py +0 -0
  286. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/vdr/types.py +0 -0
  287. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/xdr_central_connector/__init__.py +0 -0
  288. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/xdr_central_connector/mutations.py +0 -0
  289. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/xdr_central_connector/queries.py +0 -0
  290. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/xdr_central_connector/subscriptions.py +0 -0
  291. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/services/xdr_central_connector/types.py +0 -0
  292. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/templates/__init__.py +0 -0
  293. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/templates/_jinja2.py +0 -0
  294. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/taegis_sdk_python/tokens.py +0 -0
  295. {taegis_sdk_python-1.6.1 → taegis_sdk_python-1.6.2}/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.1
3
+ Version: 1.6.2
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
@@ -197,7 +197,7 @@ Requires-Dist: aiohttp
197
197
  Requires-Dist: backoff
198
198
  Requires-Dist: dataclasses-json
199
199
  Requires-Dist: filelock>=3.12.4
200
- Requires-Dist: gql<4,>=3.5.0
200
+ Requires-Dist: gql>=4
201
201
  Requires-Dist: graphql-core
202
202
  Requires-Dist: jinja2
203
203
  Requires-Dist: oauthlib
@@ -24,7 +24,7 @@ dependencies = [
24
24
  "aiohttp",
25
25
  "dataclasses-json",
26
26
  "filelock>=3.12.4",
27
- "gql>=3.5.0,<4",
27
+ "gql>=4",
28
28
  "graphql-core",
29
29
  "oauthlib",
30
30
  "pyjwt>=2.8.0",
@@ -1,3 +1,3 @@
1
1
  """Version idenitier."""
2
2
 
3
- __version__ = "1.6.1"
3
+ __version__ = "1.6.2"
@@ -23,7 +23,7 @@ def scrub_dict(d: Mapping):
23
23
  access_tokens = get_access_tokens()
24
24
 
25
25
  if "authorization" in d:
26
- token = d["Authorization"].replace("Bearer ")
26
+ token = d["Authorization"].replace("Bearer ", "")
27
27
  access_tokens.append(token)
28
28
 
29
29
  scrubbed = d.copy()
@@ -10,14 +10,14 @@ import threading
10
10
  from datetime import datetime, timedelta
11
11
  from typing import TYPE_CHECKING, Any, Dict, List, Optional, Union
12
12
 
13
- from gql import Client, gql
13
+ from gql import Client, GraphQLRequest
14
14
  from gql.transport import Transport
15
15
  from gql.transport.aiohttp import AIOHTTPTransport
16
+ from gql.transport.aiohttp_websockets import AIOHTTPWebsocketsTransport
16
17
  from graphql import GraphQLError, GraphQLField, GraphQLSchema
17
18
 
18
19
  from taegis_sdk_python._version import __version__
19
20
  from taegis_sdk_python.errors import InvalidGraphQLEndpoint
20
- from taegis_sdk_python.transport.aiohttp_websockets import AIOHTTPWebsocketsTransport
21
21
  from taegis_sdk_python.utils import async_block, prepare_variables, remove_node
22
22
 
23
23
  if TYPE_CHECKING: # pragma: no cover
@@ -497,13 +497,22 @@ class ServiceCore:
497
497
  }
498
498
  )
499
499
 
500
- query = gql(query_string)
501
- return await self.sync_client.execute_async(
502
- query,
500
+ graphql_request = GraphQLRequest(
501
+ request=query_string,
503
502
  variable_values=prepare_variables(variables),
503
+ )
504
+
505
+ client = self.sync_client
506
+
507
+ response = await client.execute_async(
508
+ graphql_request,
504
509
  extra_args=extra_args,
505
510
  )
506
511
 
512
+ self.service.response_headers = client.transport.response_headers
513
+
514
+ return response
515
+
507
516
  @async_block
508
517
  async def subscribe(
509
518
  self, query_string: str, variables: Optional[Dict[str, Any]] = None
@@ -522,15 +531,21 @@ class ServiceCore:
522
531
  List[Any]
523
532
  List of subscription results
524
533
  """
525
- query = gql(query_string)
534
+ graphql_request = GraphQLRequest(
535
+ request=query_string,
536
+ variable_values=prepare_variables(variables),
537
+ )
538
+
526
539
  results = []
527
- async with self.ws_client as session:
528
- async for result in session.subscribe(
529
- query,
530
- variable_values=prepare_variables(variables),
531
- ):
540
+
541
+ client = self.ws_client
542
+
543
+ async with client as session:
544
+ async for result in session.subscribe(graphql_request):
532
545
  results.append(result)
533
546
 
547
+ self.service.response_headers = client.transport.response_headers
548
+
534
549
  return results[:-1]
535
550
 
536
551
  @async_block
@@ -576,7 +591,7 @@ class ServiceCore:
576
591
  # output string is valid
577
592
  for _ in range(10000):
578
593
  try:
579
- session.client.validate(gql(query_string))
594
+ session.client.validate(GraphQLRequest(request=query_string))
580
595
  break
581
596
 
582
597
  except GraphQLError as exc:
@@ -4,12 +4,14 @@ Taegis SDK Python GraphQL Service manager.
4
4
 
5
5
  import logging
6
6
  import threading
7
+ from collections.abc import Mapping
7
8
  from ssl import SSLContext
8
9
  from typing import Any, Dict, Literal, Optional, Union
9
10
 
10
11
  import aiohttp
11
12
  from aiohttp.client_reqrep import Fingerprint
12
13
  from aiohttp.typedefs import LooseHeaders
14
+ from multidict import CIMultiDict, CIMultiDictProxy
13
15
 
14
16
  from taegis_sdk_python._consts import (
15
17
  TAEGIS_ENVIRONMENT_URLS,
@@ -102,6 +104,7 @@ class GraphQLService:
102
104
  max_message_size: int = 0,
103
105
  use_universal_authentication: bool = False,
104
106
  middlewares=None,
107
+ reuse_request_id=False,
105
108
  ): # pylint: disable=too-many-statements
106
109
  """
107
110
  GraphQLService
@@ -144,6 +147,8 @@ class GraphQLService:
144
147
  ValueError
145
148
  environment must be charlie, delta, echo, or foxtrot (or equivalent)
146
149
  """
150
+ self.response_headers: CIMultiDictProxy[str] = CIMultiDictProxy(CIMultiDict())
151
+
147
152
  self._environments = environments or TAEGIS_ENVIRONMENT_URLS
148
153
  self._environment = environment or list(self._environments)[0]
149
154
  self._use_universal_authentication = use_universal_authentication
@@ -177,6 +182,7 @@ class GraphQLService:
177
182
  self._execute_timeout = execute_timeout
178
183
  self._max_message_size = max_message_size
179
184
  self._middlewares = middlewares or ()
185
+ self._reuse_request_id = reuse_request_id
180
186
 
181
187
  self._access_points = None
182
188
  self._agent = None
@@ -231,6 +237,37 @@ class GraphQLService:
231
237
  self._vdr = None
232
238
  self._xdr_central_connector = None
233
239
 
240
+ def __eq__(self, other):
241
+ """Compare equality of a GraphQLService.
242
+
243
+ As the GraphQService is a network service, equality is limited to the
244
+ context in which a request will be made.
245
+ """
246
+ if isinstance(other, GraphQLService):
247
+ return (
248
+ self.tenant_id == other.tenant_id
249
+ and self._environments[self.environment]
250
+ == other._environments[other.environment]
251
+ and self.url == other.url
252
+ and self.gateway == other.gateway
253
+ )
254
+ return NotImplemented
255
+
256
+ def __hash__(self):
257
+ """Hash of a GraphQLService.
258
+
259
+ As the GraphQService is a network service, hash values are limited to the
260
+ context in which a request will be made.
261
+ """
262
+ return hash(
263
+ (
264
+ self.tenant_id,
265
+ self._environments[self.environment],
266
+ self.url,
267
+ self.gateway,
268
+ )
269
+ )
270
+
234
271
  def __call__(self, **kwargs):
235
272
  if threading.get_ident() not in self._context_kwargs:
236
273
  self._context_kwargs[threading.get_ident()] = []
@@ -313,6 +350,11 @@ class GraphQLService:
313
350
  """Taegis Tenant Context."""
314
351
  return self._context_manager.get("tenant_id", self._tenant_id)
315
352
 
353
+ @property
354
+ def reuse_request_id(self):
355
+ """Reuse Previous Taegis X-Request-Id in response_headers."""
356
+ return self._context_manager.get("reuse_request_id", self._reuse_request_id)
357
+
316
358
  @property
317
359
  def access_token(self):
318
360
  """Taegis Access Token."""
@@ -357,6 +399,13 @@ class GraphQLService:
357
399
  if self.tenant_id:
358
400
  headers["X-Tenant-Context"] = self.tenant_id
359
401
 
402
+ if (
403
+ self.reuse_request_id
404
+ and isinstance(self.response_headers, Mapping)
405
+ and (x_request_id := self.response_headers.get("X-Request-Id"))
406
+ ):
407
+ headers["X-Amzn-Trace-Id"] = x_request_id
408
+
360
409
  headers.update(self.extra_headers)
361
410
 
362
411
  return headers
@@ -108,6 +108,8 @@ class AssetSearchOrderByInputV2(str, Enum):
108
108
  VULNERABILITY_STATUS_DESC = "vulnerability_status_desc"
109
109
  VENDOR_PROVIDED_HEALTH_ASC = "vendor_provided_health_asc"
110
110
  VENDOR_PROVIDED_HEALTH_DESC = "vendor_provided_health_desc"
111
+ VENDOR_PROVIDED_HEALTH_RAW_ASC = "vendor_provided_health_raw_asc"
112
+ VENDOR_PROVIDED_HEALTH_RAW_DESC = "vendor_provided_health_raw_desc"
111
113
  USERNAME_ASC = "username_asc"
112
114
  USERNAME_DESC = "username_desc"
113
115
  REBOOT_REQUIRED_ASC = "reboot_required_asc"
@@ -118,6 +120,8 @@ class AssetSearchOrderByInputV2(str, Enum):
118
120
  BIOS_SERIAL_DESC = "bios_serial_desc"
119
121
  FIRST_DISK_SERIAL_ASC = "first_disk_serial_asc"
120
122
  FIRST_DISK_SERIAL_DESC = "first_disk_serial_desc"
123
+ PENDING_UNINSTALL_ASC = "pending_uninstall_asc"
124
+ PENDING_UNINSTALL_DESC = "pending_uninstall_desc"
121
125
 
122
126
 
123
127
  class AssetHostnameSearchOrderByInput(str, Enum):
@@ -1208,6 +1212,9 @@ class AssetWhereInputV2:
1208
1212
  sensor_version: Optional[str] = field(
1209
1213
  default=None, metadata=config(field_name="sensorVersion")
1210
1214
  )
1215
+ vendor_provided_health_raw: Optional[str] = field(
1216
+ default=None, metadata=config(field_name="vendorProvidedHealthRaw")
1217
+ )
1211
1218
  system_type: Optional[str] = field(
1212
1219
  default=None, metadata=config(field_name="systemType")
1213
1220
  )
@@ -1250,6 +1257,12 @@ class AssetWhereInputV2:
1250
1257
  reboot_required: Optional[bool] = field(
1251
1258
  default=None, metadata=config(field_name="rebootRequired")
1252
1259
  )
1260
+ agent_mode: Optional[str] = field(
1261
+ default=None, metadata=config(field_name="agentMode")
1262
+ )
1263
+ pending_uninstall: Optional[bool] = field(
1264
+ default=None, metadata=config(field_name="pendingUninstall")
1265
+ )
1253
1266
  and_: Optional[List["AssetWhereInputV2"]] = field(
1254
1267
  default=None, metadata=config(field_name="and")
1255
1268
  )
@@ -1408,9 +1421,18 @@ class AssetV2:
1408
1421
  uninstall: Optional[bool] = field(
1409
1422
  default=None, metadata=config(field_name="uninstall")
1410
1423
  )
1424
+ vendor_provided_health_raw: Optional[str] = field(
1425
+ default=None, metadata=config(field_name="vendorProvidedHealthRaw")
1426
+ )
1411
1427
  reboot_required: Optional[bool] = field(
1412
1428
  default=None, metadata=config(field_name="rebootRequired")
1413
1429
  )
1430
+ agent_mode: Optional[str] = field(
1431
+ default=None, metadata=config(field_name="agentMode")
1432
+ )
1433
+ pending_uninstall: Optional[bool] = field(
1434
+ default=None, metadata=config(field_name="pendingUninstall")
1435
+ )
1414
1436
  hostnames: Optional[List[HostnameV2]] = field(
1415
1437
  default=None, metadata=config(field_name="hostnames")
1416
1438
  )
@@ -955,6 +955,7 @@ class EntityContextEntity:
955
955
 
956
956
  id: Optional[str] = field(default=None, metadata=config(field_name="id"))
957
957
  type: Optional[str] = field(default=None, metadata=config(field_name="type"))
958
+ subtype: Optional[str] = field(default=None, metadata=config(field_name="subtype"))
958
959
  first_seen: Optional[str] = field(
959
960
  default=None, metadata=config(field_name="firstSeen")
960
961
  )
@@ -2431,68 +2431,6 @@ class CommentsV2Arguments:
2431
2431
  )
2432
2432
 
2433
2433
 
2434
- @dataclass_json
2435
- @dataclass(order=True, eq=True, frozen=True)
2436
- class CaseTemplate:
2437
- """CaseTemplate."""
2438
-
2439
- id: Optional[str] = field(default=None, metadata=config(field_name="id"))
2440
- created_by_id: Optional[str] = field(
2441
- default=None, metadata=config(field_name="createdById")
2442
- )
2443
- created_at: Optional[str] = field(
2444
- default=None, metadata=config(field_name="createdAt")
2445
- )
2446
- updated_by_id: Optional[str] = field(
2447
- default=None, metadata=config(field_name="updatedById")
2448
- )
2449
- updated_at: Optional[str] = field(
2450
- default=None, metadata=config(field_name="updatedAt")
2451
- )
2452
- tenant_id: Optional[str] = field(
2453
- default=None, metadata=config(field_name="tenantId")
2454
- )
2455
- name: Optional[str] = field(default=None, metadata=config(field_name="name"))
2456
- title: Optional[str] = field(default=None, metadata=config(field_name="title"))
2457
- description: Optional[str] = field(
2458
- default=None, metadata=config(field_name="description")
2459
- )
2460
- tags: Optional[List[str]] = field(default=None, metadata=config(field_name="tags"))
2461
- case_type: Optional[str] = field(
2462
- default=None, metadata=config(field_name="caseType")
2463
- )
2464
- case_priority: Optional[str] = field(
2465
- default=None, metadata=config(field_name="casePriority")
2466
- )
2467
- case_title: Optional[str] = field(
2468
- default=None, metadata=config(field_name="caseTitle")
2469
- )
2470
- case_tags: Optional[List[str]] = field(
2471
- default=None, metadata=config(field_name="caseTags")
2472
- )
2473
- case_key_findings: Optional[str] = field(
2474
- default=None, metadata=config(field_name="caseKeyFindings")
2475
- )
2476
- case_key_findings_prompts: Optional[List[str]] = field(
2477
- default=None, metadata=config(field_name="caseKeyFindingsPrompts")
2478
- )
2479
- case_assignee: Optional[str] = field(
2480
- default=None, metadata=config(field_name="caseAssignee")
2481
- )
2482
- case_secondary_status: Optional[str] = field(
2483
- default=None, metadata=config(field_name="caseSecondaryStatus")
2484
- )
2485
- created_by_subject: Optional[Subject] = field(
2486
- default=None, metadata=config(field_name="createdBySubject")
2487
- )
2488
- updated_by_subject: Optional[Subject] = field(
2489
- default=None, metadata=config(field_name="updatedBySubject")
2490
- )
2491
- case_assignee_subject: Optional[Subject] = field(
2492
- default=None, metadata=config(field_name="caseAssigneeSubject")
2493
- )
2494
-
2495
-
2496
2434
  @dataclass_json
2497
2435
  @dataclass(order=True, eq=True, frozen=True)
2498
2436
  class CaseProcessingStatus:
@@ -2793,6 +2731,79 @@ class CaseEvidence:
2793
2731
  )
2794
2732
 
2795
2733
 
2734
+ @dataclass_json
2735
+ @dataclass(order=True, eq=True, frozen=True)
2736
+ class CaseTemplate:
2737
+ """CaseTemplate."""
2738
+
2739
+ id: Optional[str] = field(default=None, metadata=config(field_name="id"))
2740
+ created_by_id: Optional[str] = field(
2741
+ default=None, metadata=config(field_name="createdById")
2742
+ )
2743
+ created_at: Optional[str] = field(
2744
+ default=None, metadata=config(field_name="createdAt")
2745
+ )
2746
+ updated_by_id: Optional[str] = field(
2747
+ default=None, metadata=config(field_name="updatedById")
2748
+ )
2749
+ updated_at: Optional[str] = field(
2750
+ default=None, metadata=config(field_name="updatedAt")
2751
+ )
2752
+ tenant_id: Optional[str] = field(
2753
+ default=None, metadata=config(field_name="tenantId")
2754
+ )
2755
+ name: Optional[str] = field(default=None, metadata=config(field_name="name"))
2756
+ title: Optional[str] = field(default=None, metadata=config(field_name="title"))
2757
+ description: Optional[str] = field(
2758
+ default=None, metadata=config(field_name="description")
2759
+ )
2760
+ tags: Optional[List[str]] = field(default=None, metadata=config(field_name="tags"))
2761
+ case_type: Optional[str] = field(
2762
+ default=None, metadata=config(field_name="caseType")
2763
+ )
2764
+ case_priority: Optional[str] = field(
2765
+ default=None, metadata=config(field_name="casePriority")
2766
+ )
2767
+ case_title: Optional[str] = field(
2768
+ default=None, metadata=config(field_name="caseTitle")
2769
+ )
2770
+ case_tags: Optional[List[str]] = field(
2771
+ default=None, metadata=config(field_name="caseTags")
2772
+ )
2773
+ case_key_findings: Optional[str] = field(
2774
+ default=None, metadata=config(field_name="caseKeyFindings")
2775
+ )
2776
+ case_key_findings_prompts: Optional[List[str]] = field(
2777
+ default=None, metadata=config(field_name="caseKeyFindingsPrompts")
2778
+ )
2779
+ case_assignee: Optional[str] = field(
2780
+ default=None, metadata=config(field_name="caseAssignee")
2781
+ )
2782
+ case_secondary_status: Optional[str] = field(
2783
+ default=None, metadata=config(field_name="caseSecondaryStatus")
2784
+ )
2785
+ is_shared_with_child_tenants: Optional[bool] = field(
2786
+ default=None, metadata=config(field_name="isSharedWithChildTenants")
2787
+ )
2788
+ created_by_subject: Optional[Subject] = field(
2789
+ default=None, metadata=config(field_name="createdBySubject")
2790
+ )
2791
+ updated_by_subject: Optional[Subject] = field(
2792
+ default=None, metadata=config(field_name="updatedBySubject")
2793
+ )
2794
+ case_assignee_subject: Optional[Subject] = field(
2795
+ default=None, metadata=config(field_name="caseAssigneeSubject")
2796
+ )
2797
+ usages: Optional[List[Union[TemplateUsage, TaegisEnum]]] = field(
2798
+ default=None,
2799
+ metadata=config(
2800
+ encoder=encode_enum,
2801
+ decoder=lambda x: decode_enum(TemplateUsage, x),
2802
+ field_name="usages",
2803
+ ),
2804
+ )
2805
+
2806
+
2796
2807
  @dataclass_json
2797
2808
  @dataclass(order=True, eq=True, frozen=True)
2798
2809
  class CaseRule:
@@ -133,6 +133,9 @@ class MappedTenant:
133
133
  xdr_ownership: Optional[str] = field(
134
134
  default=None, metadata=config(field_name="xdrOwnership")
135
135
  )
136
+ hydrate_to: Optional[str] = field(
137
+ default=None, metadata=config(field_name="hydrateTo")
138
+ )
136
139
  last_refresh: Optional[str] = field(
137
140
  default=None, metadata=config(field_name="lastRefresh")
138
141
  )
@@ -53,6 +53,7 @@ class ThreatFacetObject(str, Enum):
53
53
  THREAT_GROUP = "threat_group"
54
54
  MALWARE = "malware"
55
55
  REPORT = "report"
56
+ ALL = "all"
56
57
 
57
58
 
58
59
  class ThreatParentType(str, Enum):