taegis-sdk-python 1.6.13__tar.gz → 1.6.15__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 (320) hide show
  1. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/PKG-INFO +1 -1
  2. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/_version.py +1 -1
  3. taegis_sdk_python-1.6.15/taegis_sdk_python/middlewares/curl/__init__.py +0 -0
  4. taegis_sdk_python-1.6.15/taegis_sdk_python/middlewares/curl/_default.py +60 -0
  5. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/alerts/mutations.py +106 -0
  6. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/alerts/queries.py +158 -0
  7. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/alerts/subscriptions.py +24 -0
  8. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/investigations2/types.py +100 -25
  9. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/tenants/mutations.py +1 -1
  10. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/tenants4/types.py +3 -0
  11. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/threat_score/types.py +3 -0
  12. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/trigger_action/mutations.py +20 -5
  13. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/trigger_action/queries.py +50 -12
  14. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/trigger_action/types.py +113 -5
  15. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/trip/queries.py +22 -0
  16. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/trip/types.py +13 -0
  17. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/.gitignore +0 -0
  18. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/LICENSE +0 -0
  19. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/README.md +0 -0
  20. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/pyproject.toml +0 -0
  21. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/__init__.py +0 -0
  22. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/_consts.py +0 -0
  23. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/authentication.py +0 -0
  24. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/commons/__init__.py +0 -0
  25. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/commons/alerts/__init__.py +0 -0
  26. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/commons/alerts/federated_search.py +0 -0
  27. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/commons/alerts/search.py +0 -0
  28. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/commons/cases/__init__.py +0 -0
  29. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/commons/cases/federated_search.py +0 -0
  30. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/commons/cases/search.py +0 -0
  31. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/commons/events/__init__.py +0 -0
  32. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/commons/events/search.py +0 -0
  33. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/commons/investigations/__init__.py +0 -0
  34. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/commons/investigations/federated_search.py +0 -0
  35. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/commons/investigations/search.py +0 -0
  36. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/commons/sharelinks/__init__.py +0 -0
  37. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/commons/sharelinks/create.py +0 -0
  38. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/commons/sharelinks/unfurl.py +0 -0
  39. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/config.py +0 -0
  40. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/errors.py +0 -0
  41. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/middlewares/__init__.py +0 -0
  42. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/middlewares/logging/__init__.py +0 -0
  43. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/middlewares/logging/_default.py +0 -0
  44. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/middlewares/retry/__init__.py +0 -0
  45. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/middlewares/retry/_default.py +0 -0
  46. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/middlewares/utils.py +0 -0
  47. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/service_core.py +0 -0
  48. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/__init__.py +0 -0
  49. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/access_points/__init__.py +0 -0
  50. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/access_points/mutations.py +0 -0
  51. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/access_points/queries.py +0 -0
  52. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/access_points/subscriptions.py +0 -0
  53. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/access_points/types.py +0 -0
  54. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/agent/__init__.py +0 -0
  55. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/agent/mutations.py +0 -0
  56. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/agent/queries.py +0 -0
  57. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/agent/subscriptions.py +0 -0
  58. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/agent/types.py +0 -0
  59. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/alerts/__init__.py +0 -0
  60. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/alerts/types.py +0 -0
  61. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/alerts_history/__init__.py +0 -0
  62. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/alerts_history/mutations.py +0 -0
  63. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/alerts_history/queries.py +0 -0
  64. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/alerts_history/subscriptions.py +0 -0
  65. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/alerts_history/types.py +0 -0
  66. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/assets/__init__.py +0 -0
  67. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/assets/mutations.py +0 -0
  68. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/assets/queries.py +0 -0
  69. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/assets/subscriptions.py +0 -0
  70. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/assets/types.py +0 -0
  71. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/assets2/__init__.py +0 -0
  72. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/assets2/mutations.py +0 -0
  73. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/assets2/queries.py +0 -0
  74. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/assets2/subscriptions.py +0 -0
  75. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/assets2/types.py +0 -0
  76. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/audits/__init__.py +0 -0
  77. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/audits/mutations.py +0 -0
  78. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/audits/queries.py +0 -0
  79. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/audits/subscriptions.py +0 -0
  80. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/audits/types.py +0 -0
  81. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/authz/__init__.py +0 -0
  82. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/authz/mutations.py +0 -0
  83. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/authz/queries.py +0 -0
  84. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/authz/subscriptions.py +0 -0
  85. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/authz/types.py +0 -0
  86. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/byoti/__init__.py +0 -0
  87. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/byoti/mutations.py +0 -0
  88. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/byoti/queries.py +0 -0
  89. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/byoti/subscriptions.py +0 -0
  90. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/byoti/types.py +0 -0
  91. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/clients/__init__.py +0 -0
  92. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/clients/mutations.py +0 -0
  93. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/clients/queries.py +0 -0
  94. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/clients/subscriptions.py +0 -0
  95. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/clients/types.py +0 -0
  96. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/collector/__init__.py +0 -0
  97. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/collector/mutations.py +0 -0
  98. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/collector/queries.py +0 -0
  99. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/collector/subscriptions.py +0 -0
  100. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/collector/types.py +0 -0
  101. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/comments/__init__.py +0 -0
  102. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/comments/mutations.py +0 -0
  103. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/comments/queries.py +0 -0
  104. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/comments/subscriptions.py +0 -0
  105. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/comments/types.py +0 -0
  106. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/contracted_endpoint/__init__.py +0 -0
  107. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/contracted_endpoint/mutations.py +0 -0
  108. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/contracted_endpoint/queries.py +0 -0
  109. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/contracted_endpoint/subscriptions.py +0 -0
  110. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/contracted_endpoint/types.py +0 -0
  111. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/cql_metadata/__init__.py +0 -0
  112. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/cql_metadata/mutations.py +0 -0
  113. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/cql_metadata/queries.py +0 -0
  114. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/cql_metadata/subscriptions.py +0 -0
  115. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/cql_metadata/types.py +0 -0
  116. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/datasources/__init__.py +0 -0
  117. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/datasources/mutations.py +0 -0
  118. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/datasources/queries.py +0 -0
  119. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/datasources/subscriptions.py +0 -0
  120. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/datasources/types.py +0 -0
  121. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/detector_registry/__init__.py +0 -0
  122. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/detector_registry/mutations.py +0 -0
  123. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/detector_registry/queries.py +0 -0
  124. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/detector_registry/subscriptions.py +0 -0
  125. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/detector_registry/types.py +0 -0
  126. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/endpoint_command_manager/__init__.py +0 -0
  127. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/endpoint_command_manager/mutations.py +0 -0
  128. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/endpoint_command_manager/queries.py +0 -0
  129. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/endpoint_command_manager/subscriptions.py +0 -0
  130. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/endpoint_command_manager/types.py +0 -0
  131. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/endpoint_management_service/__init__.py +0 -0
  132. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/endpoint_management_service/mutations.py +0 -0
  133. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/endpoint_management_service/queries.py +0 -0
  134. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/endpoint_management_service/subscriptions.py +0 -0
  135. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/endpoint_management_service/types.py +0 -0
  136. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/entity_context/__init__.py +0 -0
  137. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/entity_context/mutations.py +0 -0
  138. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/entity_context/queries.py +0 -0
  139. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/entity_context/subscriptions.py +0 -0
  140. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/entity_context/types.py +0 -0
  141. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/escalation_policies/__init__.py +0 -0
  142. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/escalation_policies/mutations.py +0 -0
  143. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/escalation_policies/queries.py +0 -0
  144. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/escalation_policies/subscriptions.py +0 -0
  145. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/escalation_policies/types.py +0 -0
  146. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/event_search/__init__.py +0 -0
  147. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/event_search/mutations.py +0 -0
  148. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/event_search/queries.py +0 -0
  149. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/event_search/subscriptions.py +0 -0
  150. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/event_search/types.py +0 -0
  151. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/events/__init__.py +0 -0
  152. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/events/mutations.py +0 -0
  153. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/events/queries.py +0 -0
  154. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/events/subscriptions.py +0 -0
  155. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/events/types.py +0 -0
  156. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/exports/__init__.py +0 -0
  157. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/exports/mutations.py +0 -0
  158. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/exports/queries.py +0 -0
  159. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/exports/subscriptions.py +0 -0
  160. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/exports/types.py +0 -0
  161. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/fast_ioc/__init__.py +0 -0
  162. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/fast_ioc/mutations.py +0 -0
  163. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/fast_ioc/queries.py +0 -0
  164. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/fast_ioc/subscriptions.py +0 -0
  165. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/fast_ioc/types.py +0 -0
  166. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/file_info/__init__.py +0 -0
  167. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/file_info/mutations.py +0 -0
  168. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/file_info/queries.py +0 -0
  169. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/file_info/subscriptions.py +0 -0
  170. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/file_info/types.py +0 -0
  171. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/ingest_stats/__init__.py +0 -0
  172. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/ingest_stats/mutations.py +0 -0
  173. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/ingest_stats/queries.py +0 -0
  174. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/ingest_stats/subscriptions.py +0 -0
  175. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/ingest_stats/types.py +0 -0
  176. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/investigations/__init__.py +0 -0
  177. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/investigations/mutations.py +0 -0
  178. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/investigations/queries.py +0 -0
  179. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/investigations/subscriptions.py +0 -0
  180. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/investigations/types.py +0 -0
  181. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/investigations2/__init__.py +0 -0
  182. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/investigations2/mutations.py +0 -0
  183. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/investigations2/queries.py +0 -0
  184. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/investigations2/subscriptions.py +0 -0
  185. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/isensor/__init__.py +0 -0
  186. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/isensor/mutations.py +0 -0
  187. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/isensor/queries.py +0 -0
  188. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/isensor/subscriptions.py +0 -0
  189. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/isensor/types.py +0 -0
  190. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/llm_service/__init__.py +0 -0
  191. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/llm_service/mutations.py +0 -0
  192. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/llm_service/queries.py +0 -0
  193. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/llm_service/subscriptions.py +0 -0
  194. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/llm_service/types.py +0 -0
  195. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/mitre_attack_info/__init__.py +0 -0
  196. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/mitre_attack_info/mutations.py +0 -0
  197. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/mitre_attack_info/queries.py +0 -0
  198. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/mitre_attack_info/subscriptions.py +0 -0
  199. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/mitre_attack_info/types.py +0 -0
  200. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/multi_tenant_context/__init__.py +0 -0
  201. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/multi_tenant_context/mutations.py +0 -0
  202. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/multi_tenant_context/queries.py +0 -0
  203. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/multi_tenant_context/subscriptions.py +0 -0
  204. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/multi_tenant_context/types.py +0 -0
  205. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/multi_tenant_ioc/__init__.py +0 -0
  206. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/multi_tenant_ioc/mutations.py +0 -0
  207. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/multi_tenant_ioc/queries.py +0 -0
  208. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/multi_tenant_ioc/subscriptions.py +0 -0
  209. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/multi_tenant_ioc/types.py +0 -0
  210. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/nl_search/__init__.py +0 -0
  211. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/nl_search/mutations.py +0 -0
  212. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/nl_search/queries.py +0 -0
  213. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/nl_search/subscriptions.py +0 -0
  214. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/nl_search/types.py +0 -0
  215. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/notebooks/__init__.py +0 -0
  216. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/notebooks/mutations.py +0 -0
  217. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/notebooks/queries.py +0 -0
  218. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/notebooks/subscriptions.py +0 -0
  219. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/notebooks/types.py +0 -0
  220. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/notifications/__init__.py +0 -0
  221. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/notifications/mutations.py +0 -0
  222. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/notifications/queries.py +0 -0
  223. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/notifications/subscriptions.py +0 -0
  224. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/notifications/types.py +0 -0
  225. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/notifications2/__init__.py +0 -0
  226. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/notifications2/mutations.py +0 -0
  227. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/notifications2/queries.py +0 -0
  228. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/notifications2/subscriptions.py +0 -0
  229. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/notifications2/types.py +0 -0
  230. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/preferences/__init__.py +0 -0
  231. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/preferences/mutations.py +0 -0
  232. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/preferences/queries.py +0 -0
  233. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/preferences/subscriptions.py +0 -0
  234. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/preferences/types.py +0 -0
  235. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/process_trees/__init__.py +0 -0
  236. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/process_trees/mutations.py +0 -0
  237. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/process_trees/queries.py +0 -0
  238. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/process_trees/subscriptions.py +0 -0
  239. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/process_trees/types.py +0 -0
  240. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/ql_schemas/__init__.py +0 -0
  241. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/ql_schemas/mutations.py +0 -0
  242. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/ql_schemas/queries.py +0 -0
  243. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/ql_schemas/subscriptions.py +0 -0
  244. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/ql_schemas/types.py +0 -0
  245. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/queries/__init__.py +0 -0
  246. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/queries/mutations.py +0 -0
  247. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/queries/queries.py +0 -0
  248. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/queries/subscriptions.py +0 -0
  249. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/queries/types.py +0 -0
  250. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/roadrunner/__init__.py +0 -0
  251. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/roadrunner/mutations.py +0 -0
  252. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/roadrunner/queries.py +0 -0
  253. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/roadrunner/subscriptions.py +0 -0
  254. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/roadrunner/types.py +0 -0
  255. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/rules/__init__.py +0 -0
  256. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/rules/mutations.py +0 -0
  257. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/rules/queries.py +0 -0
  258. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/rules/subscriptions.py +0 -0
  259. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/rules/types.py +0 -0
  260. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/sharelinks/__init__.py +0 -0
  261. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/sharelinks/mutations.py +0 -0
  262. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/sharelinks/queries.py +0 -0
  263. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/sharelinks/subscriptions.py +0 -0
  264. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/sharelinks/types.py +0 -0
  265. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/subjects/__init__.py +0 -0
  266. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/subjects/mutations.py +0 -0
  267. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/subjects/queries.py +0 -0
  268. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/subjects/subscriptions.py +0 -0
  269. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/subjects/types.py +0 -0
  270. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/tenant_profiles/__init__.py +0 -0
  271. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/tenant_profiles/mutations.py +0 -0
  272. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/tenant_profiles/queries.py +0 -0
  273. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/tenant_profiles/subscriptions.py +0 -0
  274. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/tenant_profiles/types.py +0 -0
  275. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/tenants/__init__.py +0 -0
  276. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/tenants/queries.py +0 -0
  277. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/tenants/subscriptions.py +0 -0
  278. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/tenants/types.py +0 -0
  279. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/tenants4/__init__.py +0 -0
  280. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/tenants4/mutations.py +0 -0
  281. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/tenants4/queries.py +0 -0
  282. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/tenants4/subscriptions.py +0 -0
  283. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/threat/__init__.py +0 -0
  284. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/threat/mutations.py +0 -0
  285. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/threat/queries.py +0 -0
  286. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/threat/subscriptions.py +0 -0
  287. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/threat/types.py +0 -0
  288. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/threat_publications/__init__.py +0 -0
  289. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/threat_publications/mutations.py +0 -0
  290. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/threat_publications/queries.py +0 -0
  291. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/threat_publications/subscriptions.py +0 -0
  292. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/threat_publications/types.py +0 -0
  293. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/threat_score/__init__.py +0 -0
  294. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/threat_score/mutations.py +0 -0
  295. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/threat_score/queries.py +0 -0
  296. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/threat_score/subscriptions.py +0 -0
  297. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/trigger_action/__init__.py +0 -0
  298. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/trigger_action/subscriptions.py +0 -0
  299. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/trip/__init__.py +0 -0
  300. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/trip/mutations.py +0 -0
  301. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/trip/subscriptions.py +0 -0
  302. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/users/__init__.py +0 -0
  303. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/users/mutations.py +0 -0
  304. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/users/queries.py +0 -0
  305. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/users/subscriptions.py +0 -0
  306. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/users/types.py +0 -0
  307. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/vdr/__init__.py +0 -0
  308. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/vdr/mutations.py +0 -0
  309. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/vdr/queries.py +0 -0
  310. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/vdr/subscriptions.py +0 -0
  311. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/vdr/types.py +0 -0
  312. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/xdr_central_connector/__init__.py +0 -0
  313. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/xdr_central_connector/mutations.py +0 -0
  314. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/xdr_central_connector/queries.py +0 -0
  315. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/xdr_central_connector/subscriptions.py +0 -0
  316. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/services/xdr_central_connector/types.py +0 -0
  317. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/templates/__init__.py +0 -0
  318. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/templates/_jinja2.py +0 -0
  319. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/taegis_sdk_python/tokens.py +0 -0
  320. {taegis_sdk_python-1.6.13 → taegis_sdk_python-1.6.15}/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.13
3
+ Version: 1.6.15
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
@@ -1,3 +1,3 @@
1
1
  """Version idenitier."""
2
2
 
3
- __version__ = "1.6.13"
3
+ __version__ = "1.6.15"
@@ -0,0 +1,60 @@
1
+ """Logs a curl command representation that makes the same HTTP request as the provided request"""
2
+
3
+ import logging
4
+ from shlex import quote
5
+
6
+ from aiohttp import (
7
+ BytesPayload,
8
+ ClientHandlerType,
9
+ ClientRequest,
10
+ ClientResponse,
11
+ )
12
+
13
+ from taegis_sdk_python.middlewares.utils import scrub_dict
14
+
15
+ log = logging.getLogger(__name__)
16
+
17
+
18
+ async def to_curl(request: ClientRequest, handler: ClientHandlerType) -> ClientResponse:
19
+ """
20
+ Logs a curl command representation that makes the same HTTP request as
21
+ the provided request object.
22
+ """
23
+ command = []
24
+
25
+ inferred_method = "GET"
26
+ if request.body is not None:
27
+ inferred_method = "POST"
28
+ if request.method != inferred_method:
29
+ command.append("-X " + quote(request.method))
30
+
31
+ headers = scrub_dict(request.headers)
32
+
33
+ for k, v in headers.items():
34
+ if v:
35
+ command.append("-H " + quote(f"{k}: {v}"))
36
+ else:
37
+ # -H 'Accept:' disables sending the Accept header, use semicolon to send
38
+ # empty header
39
+ command.append("-H " + quote(f"{k};"))
40
+
41
+ if body := request.body:
42
+ if isinstance(body, (bytes, BytesPayload)):
43
+ body = body.decode("utf-8")
44
+ else:
45
+ log.error(f"Unsupported body type for curl middleware: {type(body)}, request.body must be bytes or BytesPayload")
46
+ return await handler(request)
47
+
48
+ data_type = "-d"
49
+ if body.startswith("@"): # -d @filename causes curl to read from file
50
+ data_type = "--data-raw"
51
+ command.append(data_type + " " + quote(body))
52
+
53
+ command.append(quote(str(request.url)))
54
+
55
+ joiner = " "
56
+ if len(command) > 3:
57
+ joiner = " \\\n "
58
+ log.info(f"curl {joiner.join(command)}")
59
+
60
+ return await handler(request)
@@ -165,3 +165,109 @@ class TaegisSDKAlertsMutation:
165
165
  raise GraphQLNoRowsInResultSetError(
166
166
  "for mutation alertsServiceUpdateThreatScoreV2"
167
167
  )
168
+
169
+ def detection_update_investigation_info(
170
+ self, in_: Optional[UpdateInvestigationRequestInput] = None
171
+ ) -> UpdateInvestigationResponse:
172
+ """No developer notes."""
173
+ endpoint = "detectionUpdateInvestigationInfo"
174
+
175
+ result = self.service.execute_mutation(
176
+ endpoint=endpoint,
177
+ variables={
178
+ "in": prepare_input(in_),
179
+ },
180
+ output=build_output_string(
181
+ UpdateInvestigationResponse,
182
+ exclude_deprecated_output=self.service.exclude_deprecated_output,
183
+ ),
184
+ )
185
+ if result.get(endpoint) is not None:
186
+ return UpdateInvestigationResponse.from_dict(result.get(endpoint))
187
+ raise GraphQLNoRowsInResultSetError(
188
+ "for mutation detectionUpdateInvestigationInfo"
189
+ )
190
+
191
+ def detection_update_resolution_info(
192
+ self, in_: Optional[UpdateResolutionRequestInput] = None
193
+ ) -> UpdateResolutionResponse:
194
+ """Add a resolution or modify an existing resolution for a give list of alert IDs."""
195
+ endpoint = "detectionUpdateResolutionInfo"
196
+
197
+ result = self.service.execute_mutation(
198
+ endpoint=endpoint,
199
+ variables={
200
+ "in": prepare_input(in_),
201
+ },
202
+ output=build_output_string(
203
+ UpdateResolutionResponse,
204
+ exclude_deprecated_output=self.service.exclude_deprecated_output,
205
+ ),
206
+ )
207
+ if result.get(endpoint) is not None:
208
+ return UpdateResolutionResponse.from_dict(result.get(endpoint))
209
+ raise GraphQLNoRowsInResultSetError(
210
+ "for mutation detectionUpdateResolutionInfo"
211
+ )
212
+
213
+ def detection_bulk_investigations_processor(
214
+ self, in_: Optional[BulkInvestigationsRequestInput] = None
215
+ ) -> BulkInvestigationsResponse:
216
+ """Bulk add alerts to an existing investigation by providing either a query or list of alert IDs. If a query is provided, then all alerts matching the query will be added to the investigation."""
217
+ endpoint = "detectionBulkInvestigationsProcessor"
218
+
219
+ result = self.service.execute_mutation(
220
+ endpoint=endpoint,
221
+ variables={
222
+ "in": prepare_input(in_),
223
+ },
224
+ output=build_output_string(
225
+ BulkInvestigationsResponse,
226
+ exclude_deprecated_output=self.service.exclude_deprecated_output,
227
+ ),
228
+ )
229
+ if result.get(endpoint) is not None:
230
+ return BulkInvestigationsResponse.from_dict(result.get(endpoint))
231
+ raise GraphQLNoRowsInResultSetError(
232
+ "for mutation detectionBulkInvestigationsProcessor"
233
+ )
234
+
235
+ def detection_update_threat_score(
236
+ self, in_: UpdateThreatScoreRequestInput
237
+ ) -> UpdateThreatScoreResponse:
238
+ """Update threat score for a given list of alert IDs."""
239
+ endpoint = "detectionUpdateThreatScore"
240
+
241
+ result = self.service.execute_mutation(
242
+ endpoint=endpoint,
243
+ variables={
244
+ "in": prepare_input(in_),
245
+ },
246
+ output=build_output_string(
247
+ UpdateThreatScoreResponse,
248
+ exclude_deprecated_output=self.service.exclude_deprecated_output,
249
+ ),
250
+ )
251
+ if result.get(endpoint) is not None:
252
+ return UpdateThreatScoreResponse.from_dict(result.get(endpoint))
253
+ raise GraphQLNoRowsInResultSetError("for mutation detectionUpdateThreatScore")
254
+
255
+ def detection_update_threat_score_v2(
256
+ self, in_: UpdateThreatScoreV2RequestInput
257
+ ) -> UpdateThreatScoreResponse:
258
+ """Update threat score v2 for a given list of alert IDs."""
259
+ endpoint = "detectionUpdateThreatScoreV2"
260
+
261
+ result = self.service.execute_mutation(
262
+ endpoint=endpoint,
263
+ variables={
264
+ "in": prepare_input(in_),
265
+ },
266
+ output=build_output_string(
267
+ UpdateThreatScoreResponse,
268
+ exclude_deprecated_output=self.service.exclude_deprecated_output,
269
+ ),
270
+ )
271
+ if result.get(endpoint) is not None:
272
+ return UpdateThreatScoreResponse.from_dict(result.get(endpoint))
273
+ raise GraphQLNoRowsInResultSetError("for mutation detectionUpdateThreatScoreV2")
@@ -199,3 +199,161 @@ class TaegisSDKAlertsQuery:
199
199
  raise GraphQLNoRowsInResultSetError(
200
200
  "for query alertsServiceAggregateAlertsBySeverity"
201
201
  )
202
+
203
+ def detection_retrieve_by_id(
204
+ self, in_: Optional[GetByIDRequestInput] = None
205
+ ) -> AlertsResponse:
206
+ """Provide a list of Alert IDs to retrieve each alert's detail."""
207
+ endpoint = "detectionRetrieveById"
208
+
209
+ result = self.service.execute_query(
210
+ endpoint=endpoint,
211
+ variables={
212
+ "in": prepare_input(in_),
213
+ },
214
+ output=build_output_string(
215
+ AlertsResponse,
216
+ exclude_deprecated_output=self.service.exclude_deprecated_output,
217
+ ),
218
+ )
219
+ if result.get(endpoint) is not None:
220
+ return AlertsResponse.from_dict(result.get(endpoint))
221
+ raise GraphQLNoRowsInResultSetError("for query detectionRetrieveById")
222
+
223
+ def detection_retrieve_by_host(
224
+ self, in_: Optional[GetByIDRequestInput] = None
225
+ ) -> AlertsResponse:
226
+ """Provide a list of Host IDs to retrieve alert details about each alert that contains those hosts."""
227
+ endpoint = "detectionRetrieveByHost"
228
+
229
+ result = self.service.execute_query(
230
+ endpoint=endpoint,
231
+ variables={
232
+ "in": prepare_input(in_),
233
+ },
234
+ output=build_output_string(
235
+ AlertsResponse,
236
+ exclude_deprecated_output=self.service.exclude_deprecated_output,
237
+ ),
238
+ )
239
+ if result.get(endpoint) is not None:
240
+ return AlertsResponse.from_dict(result.get(endpoint))
241
+ raise GraphQLNoRowsInResultSetError("for query detectionRetrieveByHost")
242
+
243
+ def detection_retrieve_by_entity(
244
+ self, in_: Optional[GetByIDRequestInput] = None
245
+ ) -> AlertsResponse:
246
+ """Provide a list of entities to retrieve alert details about each alert that contains those entities."""
247
+ endpoint = "detectionRetrieveByEntity"
248
+
249
+ result = self.service.execute_query(
250
+ endpoint=endpoint,
251
+ variables={
252
+ "in": prepare_input(in_),
253
+ },
254
+ output=build_output_string(
255
+ AlertsResponse,
256
+ exclude_deprecated_output=self.service.exclude_deprecated_output,
257
+ ),
258
+ )
259
+ if result.get(endpoint) is not None:
260
+ return AlertsResponse.from_dict(result.get(endpoint))
261
+ raise GraphQLNoRowsInResultSetError("for query detectionRetrieveByEntity")
262
+
263
+ def detection_retrieve_by_group_key(
264
+ self, in_: Optional[GetByIDRequestInput] = None
265
+ ) -> AlertsResponse:
266
+ """Provide a list of entities to retrieve alert details about each alert that contains the group_key. This is used by the service to aid in alert deduplication. This would not commonly be used by a tenant of XDR."""
267
+ endpoint = "detectionRetrieveByGroupKey"
268
+
269
+ result = self.service.execute_query(
270
+ endpoint=endpoint,
271
+ variables={
272
+ "in": prepare_input(in_),
273
+ },
274
+ output=build_output_string(
275
+ AlertsResponse,
276
+ exclude_deprecated_output=self.service.exclude_deprecated_output,
277
+ ),
278
+ )
279
+ if result.get(endpoint) is not None:
280
+ return AlertsResponse.from_dict(result.get(endpoint))
281
+ raise GraphQLNoRowsInResultSetError("for query detectionRetrieveByGroupKey")
282
+
283
+ def detection_count_by_tenant(
284
+ self, in_: AlertsCountByTenantInput
285
+ ) -> AlertsCountByTenantResponse:
286
+ """Returns the count of alerts per tenant. Allows a CQL query, but any aggregation or pipe will be ignored."""
287
+ endpoint = "detectionCountByTenant"
288
+
289
+ result = self.service.execute_query(
290
+ endpoint=endpoint,
291
+ variables={
292
+ "in": prepare_input(in_),
293
+ },
294
+ output=build_output_string(
295
+ AlertsCountByTenantResponse,
296
+ exclude_deprecated_output=self.service.exclude_deprecated_output,
297
+ ),
298
+ )
299
+ if result.get(endpoint) is not None:
300
+ return AlertsCountByTenantResponse.from_dict(result.get(endpoint))
301
+ raise GraphQLNoRowsInResultSetError("for query detectionCountByTenant")
302
+
303
+ def detection_search(
304
+ self, in_: Optional[SearchRequestInput] = None
305
+ ) -> AlertsResponse:
306
+ """Search alerts using Query Language. This is the same query language provided in Advanced Search page in Taegis XDR."""
307
+ endpoint = "detectionSearch"
308
+
309
+ result = self.service.execute_query(
310
+ endpoint=endpoint,
311
+ variables={
312
+ "in": prepare_input(in_),
313
+ },
314
+ output=build_output_string(
315
+ AlertsResponse,
316
+ exclude_deprecated_output=self.service.exclude_deprecated_output,
317
+ ),
318
+ )
319
+ if result.get(endpoint) is not None:
320
+ return AlertsResponse.from_dict(result.get(endpoint))
321
+ raise GraphQLNoRowsInResultSetError("for query detectionSearch")
322
+
323
+ def detection_poll(self, in_: Optional[PollRequestInput] = None) -> AlertsResponse:
324
+ """Poll for results for a specific `search_id`."""
325
+ endpoint = "detectionPoll"
326
+
327
+ result = self.service.execute_query(
328
+ endpoint=endpoint,
329
+ variables={
330
+ "in": prepare_input(in_),
331
+ },
332
+ output=build_output_string(
333
+ AlertsResponse,
334
+ exclude_deprecated_output=self.service.exclude_deprecated_output,
335
+ ),
336
+ )
337
+ if result.get(endpoint) is not None:
338
+ return AlertsResponse.from_dict(result.get(endpoint))
339
+ raise GraphQLNoRowsInResultSetError("for query detectionPoll")
340
+
341
+ def detection_aggregates_by_severity(
342
+ self, in_: Optional[AggregateAlertsBySeverityInputInput] = None
343
+ ) -> AlertsAggregateResponse:
344
+ """Pull alert severity aggregates based on `group_by` parameters: domain, watchlist, hostname, detector, user."""
345
+ endpoint = "detectionAggregatesBySeverity"
346
+
347
+ result = self.service.execute_query(
348
+ endpoint=endpoint,
349
+ variables={
350
+ "in": prepare_input(in_),
351
+ },
352
+ output=build_output_string(
353
+ AlertsAggregateResponse,
354
+ exclude_deprecated_output=self.service.exclude_deprecated_output,
355
+ ),
356
+ )
357
+ if result.get(endpoint) is not None:
358
+ return AlertsAggregateResponse.from_dict(result.get(endpoint))
359
+ raise GraphQLNoRowsInResultSetError("for query detectionAggregatesBySeverity")
@@ -55,3 +55,27 @@ class TaegisSDKAlertsSubscription:
55
55
  raise GraphQLNoRowsInResultSetError(
56
56
  "for subscription alertsServiceBulkResolutionProcessor"
57
57
  )
58
+
59
+ def detection_bulk_resolution_processor(
60
+ self, in_: Optional[BulkResolutionRequestInput] = None
61
+ ) -> List[BulkResolutionResponse]:
62
+ """Add a resolution or modify an existing resolution for multiple alerts selected with a CQL query."""
63
+ endpoint = "detectionBulkResolutionProcessor"
64
+
65
+ result = self.service.execute_subscription(
66
+ endpoint=endpoint,
67
+ variables={
68
+ "in": prepare_input(in_),
69
+ },
70
+ output=build_output_string(
71
+ BulkResolutionResponse,
72
+ exclude_deprecated_output=self.service.exclude_deprecated_output,
73
+ ),
74
+ )
75
+ if any(r.get(endpoint) for r in result):
76
+ return BulkResolutionResponse.schema().load(
77
+ [r.get(endpoint, {}) or {} for r in result], many=True
78
+ )
79
+ raise GraphQLNoRowsInResultSetError(
80
+ "for subscription detectionBulkResolutionProcessor"
81
+ )
@@ -223,6 +223,25 @@ class CaseLink:
223
223
  )
224
224
 
225
225
 
226
+ @dataclass_json
227
+ @dataclass(order=True, eq=True, frozen=True)
228
+ class PageInfo:
229
+ """PageInfo."""
230
+
231
+ start_cursor: Optional[str] = field(
232
+ default=None, metadata=config(field_name="startCursor")
233
+ )
234
+ end_cursor: Optional[str] = field(
235
+ default=None, metadata=config(field_name="endCursor")
236
+ )
237
+ has_next_page: Optional[bool] = field(
238
+ default=None, metadata=config(field_name="hasNextPage")
239
+ )
240
+ has_previous_page: Optional[bool] = field(
241
+ default=None, metadata=config(field_name="hasPreviousPage")
242
+ )
243
+
244
+
226
245
  @dataclass_json
227
246
  @dataclass(order=True, eq=True, frozen=True)
228
247
  class AddEvidenceToCaseResult:
@@ -460,6 +479,21 @@ class TDRUser:
460
479
  id: Optional[str] = field(default=None, metadata=config(field_name="id"))
461
480
 
462
481
 
482
+ @dataclass_json
483
+ @dataclass(order=True, eq=True, frozen=True)
484
+ class IncidentAdvisor:
485
+ """IncidentAdvisor."""
486
+
487
+ id: Optional[str] = field(default=None, metadata=config(field_name="id"))
488
+ email: Optional[str] = field(default=None, metadata=config(field_name="email"))
489
+ given_name: Optional[str] = field(
490
+ default=None, metadata=config(field_name="givenName")
491
+ )
492
+ family_name: Optional[str] = field(
493
+ default=None, metadata=config(field_name="familyName")
494
+ )
495
+
496
+
463
497
  @dataclass_json
464
498
  @dataclass(order=True, eq=True, frozen=True)
465
499
  class InvestigationsAggregation:
@@ -881,15 +915,22 @@ class CaseArguments:
881
915
 
882
916
  @dataclass_json
883
917
  @dataclass(order=True, eq=True, frozen=True)
884
- class CasesArguments:
885
- """CasesArguments."""
918
+ class OffsetPagination:
919
+ """OffsetPagination."""
886
920
 
887
- query: Optional[str] = field(default=None, metadata=config(field_name="query"))
888
921
  page: Optional[int] = field(default=None, metadata=config(field_name="page"))
889
922
  per_page: Optional[int] = field(default=None, metadata=config(field_name="perPage"))
890
- tenant_service_filters: Optional[List[str]] = field(
891
- default=None, metadata=config(field_name="tenantServiceFilters")
892
- )
923
+
924
+
925
+ @dataclass_json
926
+ @dataclass(order=True, eq=True, frozen=True)
927
+ class CursorPagination:
928
+ """CursorPagination."""
929
+
930
+ first: Optional[int] = field(default=None, metadata=config(field_name="first"))
931
+ after: Optional[str] = field(default=None, metadata=config(field_name="after"))
932
+ last: Optional[int] = field(default=None, metadata=config(field_name="last"))
933
+ before: Optional[str] = field(default=None, metadata=config(field_name="before"))
893
934
 
894
935
 
895
936
  @dataclass_json
@@ -939,6 +980,7 @@ class CasePrimaryStatusesArguments:
939
980
  transition_from_id: Optional[str] = field(
940
981
  default=None, metadata=config(field_name="transitionFromId")
941
982
  )
983
+ case_id: Optional[str] = field(default=None, metadata=config(field_name="caseId"))
942
984
 
943
985
 
944
986
  @dataclass_json
@@ -2061,8 +2103,8 @@ class CreateCaseInput:
2061
2103
  host_ids: Optional[List[str]] = field(
2062
2104
  default=None, metadata=config(field_name="hostIds")
2063
2105
  )
2064
- incident_advisor: Optional[str] = field(
2065
- default=None, metadata=config(field_name="incidentAdvisor")
2106
+ incident_advisor_id: Optional[str] = field(
2107
+ default=None, metadata=config(field_name="incidentAdvisorId")
2066
2108
  )
2067
2109
  source_id: Optional[str] = field(
2068
2110
  default=None, metadata=config(field_name="sourceId")
@@ -2114,8 +2156,8 @@ class UpdateCaseInput:
2114
2156
  assignee_id: Optional[str] = field(
2115
2157
  default=None, metadata=config(field_name="assigneeId")
2116
2158
  )
2117
- incident_advisor: Optional[str] = field(
2118
- default=None, metadata=config(field_name="incidentAdvisor")
2159
+ incident_advisor_id: Optional[str] = field(
2160
+ default=None, metadata=config(field_name="incidentAdvisorId")
2119
2161
  )
2120
2162
  close_reason: Optional[str] = field(
2121
2163
  default=None, metadata=config(field_name="closeReason")
@@ -2199,6 +2241,19 @@ class UpdateCaseTemplateInput:
2199
2241
  )
2200
2242
 
2201
2243
 
2244
+ @dataclass_json
2245
+ @dataclass(order=True, eq=True, frozen=True)
2246
+ class CasesPagination:
2247
+ """CasesPagination."""
2248
+
2249
+ offset: Optional[OffsetPagination] = field(
2250
+ default=None, metadata=config(field_name="offset")
2251
+ )
2252
+ cursor: Optional[CursorPagination] = field(
2253
+ default=None, metadata=config(field_name="cursor")
2254
+ )
2255
+
2256
+
2202
2257
  @dataclass_json
2203
2258
  @dataclass(order=True, eq=True, frozen=True)
2204
2259
  class CreateCaseRuleInput:
@@ -3487,8 +3542,8 @@ class Case:
3487
3542
  default=None, metadata=config(field_name="riskScore")
3488
3543
  )
3489
3544
  rule_id: Optional[str] = field(default=None, metadata=config(field_name="ruleId"))
3490
- incident_advisor: Optional[str] = field(
3491
- default=None, metadata=config(field_name="incidentAdvisor")
3545
+ incident_advisor_id: Optional[str] = field(
3546
+ default=None, metadata=config(field_name="incidentAdvisorId")
3492
3547
  )
3493
3548
  is_created_by_partner: Optional[bool] = field(
3494
3549
  default=None, metadata=config(field_name="isCreatedByPartner")
@@ -3550,6 +3605,9 @@ class Case:
3550
3605
  field_name="managedBy",
3551
3606
  ),
3552
3607
  )
3608
+ incident_advisor: Optional[IncidentAdvisor] = field(
3609
+ default=None, metadata=config(field_name="incidentAdvisor")
3610
+ )
3553
3611
 
3554
3612
 
3555
3613
  @dataclass_json
@@ -3772,19 +3830,6 @@ InvestigationResource = Union[
3772
3830
  ]
3773
3831
 
3774
3832
 
3775
- @dataclass_json
3776
- @dataclass(order=True, eq=True, frozen=True)
3777
- class Cases:
3778
- """Cases."""
3779
-
3780
- total_count: Optional[int] = field(
3781
- default=None, metadata=config(field_name="totalCount")
3782
- )
3783
- cases: Optional[List[Case]] = field(
3784
- default=None, metadata=config(field_name="cases")
3785
- )
3786
-
3787
-
3788
3833
  @dataclass_json
3789
3834
  @dataclass(order=True, eq=True, frozen=True)
3790
3835
  class CaseTemplates:
@@ -3943,6 +3988,20 @@ class InvestigationFilesV2:
3943
3988
  )
3944
3989
 
3945
3990
 
3991
+ @dataclass_json
3992
+ @dataclass(order=True, eq=True, frozen=True)
3993
+ class CasesArguments:
3994
+ """CasesArguments."""
3995
+
3996
+ query: Optional[str] = field(default=None, metadata=config(field_name="query"))
3997
+ tenant_service_filters: Optional[List[str]] = field(
3998
+ default=None, metadata=config(field_name="tenantServiceFilters")
3999
+ )
4000
+ pagination: Optional[CasesPagination] = field(
4001
+ default=None, metadata=config(field_name="pagination")
4002
+ )
4003
+
4004
+
3946
4005
  @dataclass_json
3947
4006
  @dataclass(order=True, eq=True, frozen=True)
3948
4007
  class ExportInvestigationResourcesArguments:
@@ -3953,6 +4012,22 @@ class ExportInvestigationResourcesArguments:
3953
4012
  )
3954
4013
 
3955
4014
 
4015
+ @dataclass_json
4016
+ @dataclass(order=True, eq=True, frozen=True)
4017
+ class Cases:
4018
+ """Cases."""
4019
+
4020
+ total_count: Optional[int] = field(
4021
+ default=None, metadata=config(field_name="totalCount")
4022
+ )
4023
+ cases: Optional[List[Case]] = field(
4024
+ default=None, metadata=config(field_name="cases")
4025
+ )
4026
+ page_info: Optional[PageInfo] = field(
4027
+ default=None, metadata=config(field_name="pageInfo")
4028
+ )
4029
+
4030
+
3956
4031
  @dataclass_json
3957
4032
  @dataclass(order=True, eq=True, frozen=True)
3958
4033
  class InvestigationsV2:
@@ -350,7 +350,7 @@ class TaegisSDKTenantsMutation:
350
350
  raise GraphQLNoRowsInResultSetError("for mutation changeTenantHierarchy")
351
351
 
352
352
  def update_tenant_hierarchy(self, input_: UpdateTenantHierarchyInput) -> Tenant:
353
- """Updates tenant hierarchy with explicit partner and optional organization. Handles same-partner and cross-partner moves. Requires TenantHierarchy:Update."""
353
+ """Updates tenant hierarchy with explicit partner and optional organization. Handles same-partner and cross-partner moves. Requires TenantHierarchy:Update (internal role)."""
354
354
  endpoint = "updateTenantHierarchy"
355
355
 
356
356
  result = self.service.execute_mutation(
@@ -508,6 +508,9 @@ class TenantV4:
508
508
  is_partner: Optional[bool] = field(
509
509
  default=None, metadata=config(field_name="isPartner")
510
510
  )
511
+ is_sophos_mdr_provider: Optional[bool] = field(
512
+ default=None, metadata=config(field_name="isSophosMDRProvider")
513
+ )
511
514
  has_support_enabled: Optional[bool] = field(
512
515
  default=None, metadata=config(field_name="hasSupportEnabled")
513
516
  )
@@ -69,6 +69,9 @@ class EntityEvidenceData:
69
69
  blocklist_rate_flag: Optional[bool] = field(
70
70
  default=None, metadata=config(field_name="blocklistRateFlag")
71
71
  )
72
+ entity_in_past_tpb_or_fp_alert: Optional[bool] = field(
73
+ default=None, metadata=config(field_name="entityInPastTpbOrFpAlert")
74
+ )
72
75
 
73
76
 
74
77
  @dataclass_json
@@ -41,7 +41,10 @@ class TaegisSDKTriggerActionMutation:
41
41
  variables={
42
42
  "input": prepare_input(input_),
43
43
  },
44
- output=build_output_string(PlaybookExecution),
44
+ output=build_output_string(
45
+ PlaybookExecution,
46
+ exclude_deprecated_output=self.service.exclude_deprecated_output,
47
+ ),
45
48
  )
46
49
  if result.get(endpoint) is not None:
47
50
  return PlaybookExecution.from_dict(result.get(endpoint))
@@ -56,7 +59,10 @@ class TaegisSDKTriggerActionMutation:
56
59
  variables={
57
60
  "input": prepare_input(input_),
58
61
  },
59
- output=build_output_string(BulkActions),
62
+ output=build_output_string(
63
+ BulkActions,
64
+ exclude_deprecated_output=self.service.exclude_deprecated_output,
65
+ ),
60
66
  )
61
67
  if result.get(endpoint) is not None:
62
68
  return BulkActions.from_dict(result.get(endpoint))
@@ -84,7 +90,10 @@ class TaegisSDKTriggerActionMutation:
84
90
  "targetResource": prepare_input(target_resource),
85
91
  "reason": prepare_input(reason),
86
92
  },
87
- output=build_output_string(PlaybookExecution),
93
+ output=build_output_string(
94
+ PlaybookExecution,
95
+ exclude_deprecated_output=self.service.exclude_deprecated_output,
96
+ ),
88
97
  )
89
98
  if result.get(endpoint) is not None:
90
99
  return PlaybookExecution.from_dict(result.get(endpoint))
@@ -105,7 +114,10 @@ class TaegisSDKTriggerActionMutation:
105
114
  variables={
106
115
  "input": prepare_input(input_),
107
116
  },
108
- output=build_output_string(PlaybookExecution),
117
+ output=build_output_string(
118
+ PlaybookExecution,
119
+ exclude_deprecated_output=self.service.exclude_deprecated_output,
120
+ ),
109
121
  )
110
122
  if result.get(endpoint) is not None:
111
123
  return PlaybookExecution.schema().load(
@@ -128,7 +140,10 @@ class TaegisSDKTriggerActionMutation:
128
140
  variables={
129
141
  "input": prepare_input(input_),
130
142
  },
131
- output=build_output_string(PlaybookExecution),
143
+ output=build_output_string(
144
+ PlaybookExecution,
145
+ exclude_deprecated_output=self.service.exclude_deprecated_output,
146
+ ),
132
147
  )
133
148
  if result.get(endpoint) is not None:
134
149
  return PlaybookExecution.schema().load(