taegis-sdk-python 1.4.5__tar.gz → 1.4.7__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 (273) hide show
  1. {taegis_sdk_python-1.4.5/taegis_sdk_python.egg-info → taegis_sdk_python-1.4.7}/PKG-INFO +1 -1
  2. taegis_sdk_python-1.4.7/taegis_sdk_python/_version.py +1 -0
  3. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/alerts/types.py +3 -0
  4. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/assets2/types.py +16 -2
  5. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/clients/queries.py +21 -0
  6. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/clients/types.py +43 -0
  7. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/collector/queries.py +3 -1
  8. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/collector/types.py +5 -5
  9. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/datasources/mutations.py +1 -1
  10. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/exports/types.py +1 -0
  11. taegis_sdk_python-1.4.7/taegis_sdk_python/services/process_trees/queries.py +173 -0
  12. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/process_trees/types.py +62 -0
  13. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/rules/queries.py +36 -0
  14. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/rules/types.py +43 -0
  15. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/tenants4/queries.py +1 -1
  16. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/tenants4/types.py +0 -3
  17. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/trip/mutations.py +19 -0
  18. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/users/types.py +23 -0
  19. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7/taegis_sdk_python.egg-info}/PKG-INFO +1 -1
  20. taegis_sdk_python-1.4.5/taegis_sdk_python/_version.py +0 -1
  21. taegis_sdk_python-1.4.5/taegis_sdk_python/services/process_trees/queries.py +0 -83
  22. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/LICENSE +0 -0
  23. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/MANIFEST.in +0 -0
  24. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/README.md +0 -0
  25. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/requirements-dev.txt +0 -0
  26. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/requirements-test.txt +0 -0
  27. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/requirements.txt +0 -0
  28. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/setup.cfg +0 -0
  29. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/setup.py +0 -0
  30. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/__init__.py +0 -0
  31. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/_consts.py +0 -0
  32. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/authentication.py +0 -0
  33. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/config.py +0 -0
  34. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/errors.py +0 -0
  35. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/service_core.py +0 -0
  36. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/__init__.py +0 -0
  37. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/access_points/__init__.py +0 -0
  38. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/access_points/mutations.py +0 -0
  39. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/access_points/queries.py +0 -0
  40. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/access_points/subscriptions.py +0 -0
  41. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/access_points/types.py +0 -0
  42. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/agent/__init__.py +0 -0
  43. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/agent/mutations.py +0 -0
  44. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/agent/queries.py +0 -0
  45. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/agent/subscriptions.py +0 -0
  46. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/agent/types.py +0 -0
  47. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/alerts/__init__.py +0 -0
  48. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/alerts/mutations.py +0 -0
  49. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/alerts/queries.py +0 -0
  50. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/alerts/subscriptions.py +0 -0
  51. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/alerts_history/__init__.py +0 -0
  52. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/alerts_history/mutations.py +0 -0
  53. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/alerts_history/queries.py +0 -0
  54. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/alerts_history/subscriptions.py +0 -0
  55. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/alerts_history/types.py +0 -0
  56. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/assets/__init__.py +0 -0
  57. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/assets/mutations.py +0 -0
  58. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/assets/queries.py +0 -0
  59. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/assets/subscriptions.py +0 -0
  60. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/assets/types.py +0 -0
  61. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/assets2/__init__.py +0 -0
  62. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/assets2/mutations.py +0 -0
  63. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/assets2/queries.py +0 -0
  64. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/assets2/subscriptions.py +0 -0
  65. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/audits/__init__.py +0 -0
  66. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/audits/mutations.py +0 -0
  67. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/audits/queries.py +0 -0
  68. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/audits/subscriptions.py +0 -0
  69. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/audits/types.py +0 -0
  70. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/authz/__init__.py +0 -0
  71. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/authz/mutations.py +0 -0
  72. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/authz/queries.py +0 -0
  73. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/authz/subscriptions.py +0 -0
  74. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/authz/types.py +0 -0
  75. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/byoti/__init__.py +0 -0
  76. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/byoti/mutations.py +0 -0
  77. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/byoti/queries.py +0 -0
  78. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/byoti/subscriptions.py +0 -0
  79. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/byoti/types.py +0 -0
  80. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/clients/__init__.py +0 -0
  81. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/clients/mutations.py +0 -0
  82. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/clients/subscriptions.py +0 -0
  83. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/collector/__init__.py +0 -0
  84. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/collector/mutations.py +0 -0
  85. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/collector/subscriptions.py +0 -0
  86. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/comments/__init__.py +0 -0
  87. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/comments/mutations.py +0 -0
  88. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/comments/queries.py +0 -0
  89. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/comments/subscriptions.py +0 -0
  90. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/comments/types.py +0 -0
  91. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/contracted_endpoint/__init__.py +0 -0
  92. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/contracted_endpoint/mutations.py +0 -0
  93. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/contracted_endpoint/queries.py +0 -0
  94. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/contracted_endpoint/subscriptions.py +0 -0
  95. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/contracted_endpoint/types.py +0 -0
  96. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/cql_metadata/__init__.py +0 -0
  97. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/cql_metadata/mutations.py +0 -0
  98. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/cql_metadata/queries.py +0 -0
  99. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/cql_metadata/subscriptions.py +0 -0
  100. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/cql_metadata/types.py +0 -0
  101. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/datasources/__init__.py +0 -0
  102. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/datasources/queries.py +0 -0
  103. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/datasources/subscriptions.py +0 -0
  104. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/datasources/types.py +0 -0
  105. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/detector_registry/__init__.py +0 -0
  106. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/detector_registry/mutations.py +0 -0
  107. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/detector_registry/queries.py +0 -0
  108. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/detector_registry/subscriptions.py +0 -0
  109. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/detector_registry/types.py +0 -0
  110. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/endpoint_command_manager/__init__.py +0 -0
  111. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/endpoint_command_manager/mutations.py +0 -0
  112. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/endpoint_command_manager/queries.py +0 -0
  113. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/endpoint_command_manager/subscriptions.py +0 -0
  114. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/endpoint_command_manager/types.py +0 -0
  115. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/endpoint_management_service/__init__.py +0 -0
  116. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/endpoint_management_service/mutations.py +0 -0
  117. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/endpoint_management_service/queries.py +0 -0
  118. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/endpoint_management_service/subscriptions.py +0 -0
  119. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/endpoint_management_service/types.py +0 -0
  120. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/event_search/__init__.py +0 -0
  121. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/event_search/mutations.py +0 -0
  122. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/event_search/queries.py +0 -0
  123. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/event_search/subscriptions.py +0 -0
  124. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/event_search/types.py +0 -0
  125. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/events/__init__.py +0 -0
  126. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/events/mutations.py +0 -0
  127. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/events/queries.py +0 -0
  128. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/events/subscriptions.py +0 -0
  129. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/events/types.py +0 -0
  130. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/exports/__init__.py +0 -0
  131. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/exports/mutations.py +0 -0
  132. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/exports/queries.py +0 -0
  133. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/exports/subscriptions.py +0 -0
  134. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/fast_ioc/__init__.py +0 -0
  135. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/fast_ioc/mutations.py +0 -0
  136. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/fast_ioc/queries.py +0 -0
  137. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/fast_ioc/subscriptions.py +0 -0
  138. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/fast_ioc/types.py +0 -0
  139. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/file_info/__init__.py +0 -0
  140. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/file_info/mutations.py +0 -0
  141. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/file_info/queries.py +0 -0
  142. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/file_info/subscriptions.py +0 -0
  143. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/file_info/types.py +0 -0
  144. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/ingest_stats/__init__.py +0 -0
  145. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/ingest_stats/mutations.py +0 -0
  146. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/ingest_stats/queries.py +0 -0
  147. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/ingest_stats/subscriptions.py +0 -0
  148. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/ingest_stats/types.py +0 -0
  149. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/investigations/__init__.py +0 -0
  150. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/investigations/mutations.py +0 -0
  151. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/investigations/queries.py +0 -0
  152. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/investigations/subscriptions.py +0 -0
  153. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/investigations/types.py +0 -0
  154. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/investigations2/__init__.py +0 -0
  155. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/investigations2/mutations.py +0 -0
  156. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/investigations2/queries.py +0 -0
  157. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/investigations2/subscriptions.py +0 -0
  158. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/investigations2/types.py +0 -0
  159. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/isensor/__init__.py +0 -0
  160. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/isensor/mutations.py +0 -0
  161. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/isensor/queries.py +0 -0
  162. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/isensor/subscriptions.py +0 -0
  163. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/isensor/types.py +0 -0
  164. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/mitre_attack_info/__init__.py +0 -0
  165. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/mitre_attack_info/mutations.py +0 -0
  166. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/mitre_attack_info/queries.py +0 -0
  167. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/mitre_attack_info/subscriptions.py +0 -0
  168. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/mitre_attack_info/types.py +0 -0
  169. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/multi_tenant_context/__init__.py +0 -0
  170. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/multi_tenant_context/mutations.py +0 -0
  171. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/multi_tenant_context/queries.py +0 -0
  172. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/multi_tenant_context/subscriptions.py +0 -0
  173. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/multi_tenant_context/types.py +0 -0
  174. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/multi_tenant_ioc/__init__.py +0 -0
  175. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/multi_tenant_ioc/mutations.py +0 -0
  176. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/multi_tenant_ioc/queries.py +0 -0
  177. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/multi_tenant_ioc/subscriptions.py +0 -0
  178. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/multi_tenant_ioc/types.py +0 -0
  179. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/nl_search/__init__.py +0 -0
  180. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/nl_search/mutations.py +0 -0
  181. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/nl_search/queries.py +0 -0
  182. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/nl_search/subscriptions.py +0 -0
  183. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/nl_search/types.py +0 -0
  184. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/notebooks/__init__.py +0 -0
  185. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/notebooks/mutations.py +0 -0
  186. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/notebooks/queries.py +0 -0
  187. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/notebooks/subscriptions.py +0 -0
  188. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/notebooks/types.py +0 -0
  189. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/notifications/__init__.py +0 -0
  190. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/notifications/mutations.py +0 -0
  191. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/notifications/queries.py +0 -0
  192. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/notifications/subscriptions.py +0 -0
  193. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/notifications/types.py +0 -0
  194. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/preferences/__init__.py +0 -0
  195. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/preferences/mutations.py +0 -0
  196. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/preferences/queries.py +0 -0
  197. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/preferences/subscriptions.py +0 -0
  198. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/preferences/types.py +0 -0
  199. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/process_trees/__init__.py +0 -0
  200. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/process_trees/mutations.py +0 -0
  201. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/process_trees/subscriptions.py +0 -0
  202. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/queries/__init__.py +0 -0
  203. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/queries/mutations.py +0 -0
  204. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/queries/queries.py +0 -0
  205. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/queries/subscriptions.py +0 -0
  206. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/queries/types.py +0 -0
  207. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/roadrunner/__init__.py +0 -0
  208. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/roadrunner/mutations.py +0 -0
  209. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/roadrunner/queries.py +0 -0
  210. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/roadrunner/subscriptions.py +0 -0
  211. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/roadrunner/types.py +0 -0
  212. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/rules/__init__.py +0 -0
  213. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/rules/mutations.py +0 -0
  214. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/rules/subscriptions.py +0 -0
  215. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/sharelinks/__init__.py +0 -0
  216. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/sharelinks/mutations.py +0 -0
  217. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/sharelinks/queries.py +0 -0
  218. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/sharelinks/subscriptions.py +0 -0
  219. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/sharelinks/types.py +0 -0
  220. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/subjects/__init__.py +0 -0
  221. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/subjects/mutations.py +0 -0
  222. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/subjects/queries.py +0 -0
  223. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/subjects/subscriptions.py +0 -0
  224. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/subjects/types.py +0 -0
  225. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/tenant_profiles/__init__.py +0 -0
  226. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/tenant_profiles/mutations.py +0 -0
  227. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/tenant_profiles/queries.py +0 -0
  228. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/tenant_profiles/subscriptions.py +0 -0
  229. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/tenant_profiles/types.py +0 -0
  230. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/tenants/__init__.py +0 -0
  231. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/tenants/mutations.py +0 -0
  232. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/tenants/queries.py +0 -0
  233. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/tenants/subscriptions.py +0 -0
  234. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/tenants/types.py +0 -0
  235. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/tenants4/__init__.py +0 -0
  236. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/tenants4/mutations.py +0 -0
  237. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/tenants4/subscriptions.py +0 -0
  238. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/threat/__init__.py +0 -0
  239. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/threat/mutations.py +0 -0
  240. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/threat/queries.py +0 -0
  241. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/threat/subscriptions.py +0 -0
  242. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/threat/types.py +0 -0
  243. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/threat_score/__init__.py +0 -0
  244. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/threat_score/mutations.py +0 -0
  245. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/threat_score/queries.py +0 -0
  246. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/threat_score/subscriptions.py +0 -0
  247. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/threat_score/types.py +0 -0
  248. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/trigger_action/__init__.py +0 -0
  249. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/trigger_action/mutations.py +0 -0
  250. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/trigger_action/queries.py +0 -0
  251. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/trigger_action/subscriptions.py +0 -0
  252. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/trigger_action/types.py +0 -0
  253. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/trip/__init__.py +0 -0
  254. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/trip/queries.py +0 -0
  255. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/trip/subscriptions.py +0 -0
  256. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/trip/types.py +0 -0
  257. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/users/__init__.py +0 -0
  258. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/users/mutations.py +0 -0
  259. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/users/queries.py +0 -0
  260. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/users/subscriptions.py +0 -0
  261. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/vdr/__init__.py +0 -0
  262. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/vdr/mutations.py +0 -0
  263. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/vdr/queries.py +0 -0
  264. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/vdr/subscriptions.py +0 -0
  265. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/services/vdr/types.py +0 -0
  266. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/tokens.py +0 -0
  267. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/transport/__init__.py +0 -0
  268. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/transport/aiohttp_websockets.py +0 -0
  269. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python/utils.py +0 -0
  270. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python.egg-info/SOURCES.txt +0 -0
  271. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python.egg-info/dependency_links.txt +0 -0
  272. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python.egg-info/requires.txt +0 -0
  273. {taegis_sdk_python-1.4.5 → taegis_sdk_python-1.4.7}/taegis_sdk_python.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: taegis-sdk-python
3
- Version: 1.4.5
3
+ Version: 1.4.7
4
4
  Summary: Taegis Python SDK
5
5
  Home-page: https://github.com/secureworks/taegis-sdk-python
6
6
  Author: Secureworks
@@ -0,0 +1 @@
1
+ __version__ = "v1.4.7"
@@ -2987,6 +2987,9 @@ class StructuredEntity:
2987
2987
  identifiers: Optional[List[str]] = field(
2988
2988
  default=None, metadata=config(field_name="identifiers")
2989
2989
  )
2990
+ display_name: Optional[str] = field(
2991
+ default=None, metadata=config(field_name="display_name")
2992
+ )
2990
2993
  perspective: Optional[Union[EntityPerspective, TaegisEnum]] = field(
2991
2994
  default=None,
2992
2995
  metadata=config(
@@ -40,7 +40,7 @@ class EndpointTypeV2(str, Enum):
40
40
  ENDPOINT_SENTINELONE = "ENDPOINT_SENTINELONE"
41
41
  ENDPOINT_HARFANG_LAB = "ENDPOINT_HARFANG_LAB"
42
42
  ENDPOINT_SOPHOS_CIXA = "ENDPOINT_SOPHOS_CIXA"
43
- ENDPOINT_SOPHOS_XDR = "ENDPOINT_SOPHOS_XDR"
43
+ ENDPOINT_SOPHOS = "ENDPOINT_SOPHOS"
44
44
 
45
45
 
46
46
  class FacetInfoOrderByInputV2(str, Enum):
@@ -1068,7 +1068,11 @@ class AssetWhereInputV2:
1068
1068
  default=None, metadata=config(field_name="cloudInstanceId_autocomplete")
1069
1069
  )
1070
1070
  connection_status: Optional[str] = field(
1071
- default=None, metadata=config(field_name="connectionStatus")
1071
+ default=None,
1072
+ metadata=config(
1073
+ metadata={"deprecated": True, "deprecation_reason": "No longer supported"},
1074
+ field_name="connectionStatus",
1075
+ ),
1072
1076
  )
1073
1077
  created_at: Optional[str] = field(
1074
1078
  default=None, metadata=config(field_name="createdAt")
@@ -1218,6 +1222,12 @@ class AssetWhereInputV2:
1218
1222
  vulnerability_status_autocomplete: Optional[str] = field(
1219
1223
  default=None, metadata=config(field_name="vulnerabilityStatus_autocomplete")
1220
1224
  )
1225
+ is_archived: Optional[str] = field(
1226
+ default=None, metadata=config(field_name="isArchived")
1227
+ )
1228
+ reboot_required: Optional[bool] = field(
1229
+ default=None, metadata=config(field_name="rebootRequired")
1230
+ )
1221
1231
  and_: Optional[List["AssetWhereInputV2"]] = field(
1222
1232
  default=None, metadata=config(field_name="and")
1223
1233
  )
@@ -1351,6 +1361,9 @@ class AssetV2:
1351
1361
  uninstall: Optional[bool] = field(
1352
1362
  default=None, metadata=config(field_name="uninstall")
1353
1363
  )
1364
+ reboot_required: Optional[bool] = field(
1365
+ default=None, metadata=config(field_name="rebootRequired")
1366
+ )
1354
1367
  hostnames: Optional[List[HostnameV2]] = field(
1355
1368
  default=None, metadata=config(field_name="hostnames")
1356
1369
  )
@@ -1480,6 +1493,7 @@ class AssetFilter:
1480
1493
  asset_state: Optional[List[Union[AssetState, TaegisEnum]]] = field(
1481
1494
  default=None,
1482
1495
  metadata=config(
1496
+ metadata={"deprecated": True, "deprecation_reason": "No longer supported"},
1483
1497
  encoder=encode_enum,
1484
1498
  decoder=lambda x: decode_enum(AssetState, x),
1485
1499
  field_name="assetState",
@@ -60,6 +60,10 @@ class TaegisSDKClientsQuery:
60
60
  """Search Clients."""
61
61
  endpoint = "clients"
62
62
 
63
+ log.warning(
64
+ f"GraphQL Query `{endpoint}` is deprecated: 'Use clientsSearchResults instead, which includes totalCount and totalUnfilteredCount'"
65
+ )
66
+
63
67
  result = self.service.execute_query(
64
68
  endpoint=endpoint,
65
69
  variables={
@@ -78,3 +82,20 @@ class TaegisSDKClientsQuery:
78
82
  [r or {} for r in result.get(endpoint)], many=True
79
83
  )
80
84
  raise GraphQLNoRowsInResultSetError("for query clients")
85
+
86
+ def clients_search(
87
+ self, filters: Optional[ClientsSearchInput] = None
88
+ ) -> ClientSearchResults:
89
+ """Returns clients matching the search criteria along with totalCount and totalUnfilteredCount."""
90
+ endpoint = "clientsSearch"
91
+
92
+ result = self.service.execute_query(
93
+ endpoint=endpoint,
94
+ variables={
95
+ "filters": prepare_input(filters),
96
+ },
97
+ output=build_output_string(ClientSearchResults),
98
+ )
99
+ if result.get(endpoint) is not None:
100
+ return ClientSearchResults.from_dict(result.get(endpoint))
101
+ raise GraphQLNoRowsInResultSetError("for query clientsSearch")
@@ -93,6 +93,30 @@ class ClientRoleAssignmentInput:
93
93
  )
94
94
 
95
95
 
96
+ @dataclass_json
97
+ @dataclass(order=True, eq=True, frozen=True)
98
+ class ClientsSearchInput:
99
+ """ClientsSearchInput."""
100
+
101
+ name: Optional[str] = field(default=None, metadata=config(field_name="name"))
102
+ client_ids: Optional[List[str]] = field(
103
+ default=None, metadata=config(field_name="clientIDs")
104
+ )
105
+ tenant_id: Optional[str] = field(
106
+ default=None, metadata=config(field_name="tenantID")
107
+ )
108
+ role_ids: Optional[List[str]] = field(
109
+ default=None, metadata=config(field_name="roleIDs")
110
+ )
111
+ tenant_ids: Optional[List[str]] = field(
112
+ default=None, metadata=config(field_name="tenantIDs")
113
+ )
114
+ page_offset: Optional[int] = field(
115
+ default=None, metadata=config(field_name="pageOffset")
116
+ )
117
+ per_page: Optional[int] = field(default=None, metadata=config(field_name="perPage"))
118
+
119
+
96
120
  @dataclass_json
97
121
  @dataclass(order=True, eq=True, frozen=True)
98
122
  class CreateClientInput:
@@ -236,6 +260,25 @@ class Client:
236
260
  )
237
261
 
238
262
 
263
+ @dataclass_json
264
+ @dataclass(order=True, eq=True, frozen=True)
265
+ class ClientSearchResults:
266
+ """ClientSearchResults."""
267
+
268
+ result_count: Optional[int] = field(
269
+ default=None, metadata=config(field_name="result_count")
270
+ )
271
+ total_count: Optional[int] = field(
272
+ default=None, metadata=config(field_name="totalCount")
273
+ )
274
+ total_unfiltered_count: Optional[int] = field(
275
+ default=None, metadata=config(field_name="totalUnfilteredCount")
276
+ )
277
+ results: Optional[List[Client]] = field(
278
+ default=None, metadata=config(field_name="results")
279
+ )
280
+
281
+
239
282
  @dataclass_json
240
283
  @dataclass(order=True, eq=True, frozen=True)
241
284
  class NewClient:
@@ -729,7 +729,9 @@ class TaegisSDKCollectorQuery:
729
729
  return result.get(endpoint)
730
730
  raise GraphQLNoRowsInResultSetError("for query getClustersPasswordHash")
731
731
 
732
- def get_data_collectors(self, input_: QlQueryInput) -> DataCollectorResult:
732
+ def get_data_collectors(
733
+ self, input_: CollectorsQlQueryInput
734
+ ) -> DataCollectorResult:
733
735
  """Searches and/or aggregates on Data collectors cql schema."""
734
736
  endpoint = "getDataCollectors"
735
737
 
@@ -713,8 +713,8 @@ class SyslogMessageCountV2Arguments:
713
713
 
714
714
  @dataclass_json
715
715
  @dataclass(order=True, eq=True, frozen=True)
716
- class QlQueryInput:
717
- """QlQueryInput."""
716
+ class CollectorsQlQueryInput:
717
+ """CollectorsQlQueryInput."""
718
718
 
719
719
  cql_query: Optional[str] = field(
720
720
  default=None, metadata=config(field_name="cqlQuery")
@@ -725,8 +725,8 @@ class QlQueryInput:
725
725
 
726
726
  @dataclass_json
727
727
  @dataclass(order=True, eq=True, frozen=True)
728
- class QLPageCursor:
729
- """QLPageCursor."""
728
+ class CollectorsPageCursor:
729
+ """CollectorsPageCursor."""
730
730
 
731
731
  next_cursor: Optional[str] = field(
732
732
  default=None, metadata=config(field_name="nextCursor")
@@ -1172,7 +1172,7 @@ class DataCollectorResult:
1172
1172
  data_collectors: Optional[List[DataCollector]] = field(
1173
1173
  default=None, metadata=config(field_name="dataCollectors")
1174
1174
  )
1175
- pagination: Optional[QLPageCursor] = field(
1175
+ pagination: Optional[CollectorsPageCursor] = field(
1176
1176
  default=None, metadata=config(field_name="pagination")
1177
1177
  )
1178
1178
 
@@ -35,7 +35,7 @@ class TaegisSDKDatasourcesMutation:
35
35
  def delete_data_source_assets(
36
36
  self, delete_asset_input: List[DeleteAssetInput]
37
37
  ) -> List[DeletedAsset]:
38
- """Executes a delete operation on all included data sources for a specified tenant. Returns an array of all
38
+ """Executes a delete operation on all included data sources for a specified tenant. Returns an array of
39
39
  deleted assets with metadata. Authorization permission is required with delete access to the collector
40
40
  object.."""
41
41
  endpoint = "deleteDataSourceAssets"
@@ -71,6 +71,7 @@ class ReportChartType(str, Enum):
71
71
  INVESTIGATION_REPORT = "INVESTIGATION_REPORT"
72
72
  ISENSOR_REPORT = "ISENSOR_REPORT"
73
73
  PERFORMANCE_SUMMARY_REPORT = "PERFORMANCE_SUMMARY_REPORT"
74
+ AGENT_TREND_SUMMARY = "AGENT_TREND_SUMMARY"
74
75
 
75
76
 
76
77
  class ReportType(str, Enum):
@@ -0,0 +1,173 @@
1
+ """ProcessTrees Query."""
2
+
3
+ # pylint: disable=no-member, unused-argument, too-many-locals, duplicate-code, wildcard-import, unused-wildcard-import, cyclic-import
4
+
5
+
6
+ # Autogenerated
7
+ # DO NOT MODIFY
8
+
9
+ from __future__ import annotations
10
+
11
+ import logging
12
+ from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union
13
+
14
+ from taegis_sdk_python import GraphQLNoRowsInResultSetError
15
+ from taegis_sdk_python.utils import (
16
+ build_output_string,
17
+ parse_union_result,
18
+ prepare_input,
19
+ )
20
+ from taegis_sdk_python._consts import TaegisEnum
21
+ from taegis_sdk_python.services.process_trees.types import *
22
+
23
+ if TYPE_CHECKING: # pragma: no cover
24
+ from taegis_sdk_python.services.process_trees import ProcessTreesService
25
+
26
+ log = logging.getLogger(__name__)
27
+
28
+
29
+ class TaegisSDKProcessTreesQuery:
30
+ """Taegis Process_trees Query operations."""
31
+
32
+ def __init__(self, service: ProcessTreesService):
33
+ self.service = service
34
+
35
+ def process_children(
36
+ self,
37
+ tenant_id: str,
38
+ host_id: str,
39
+ process_correlation_id: str,
40
+ resource_id: Optional[str] = None,
41
+ order_by_input: Optional[List[OrderByInput]] = None,
42
+ next_token: Optional[str] = None,
43
+ ) -> Children:
44
+ """None."""
45
+ endpoint = "processChildren"
46
+
47
+ result = self.service.execute_query(
48
+ endpoint=endpoint,
49
+ variables={
50
+ "tenantID": prepare_input(tenant_id),
51
+ "hostID": prepare_input(host_id),
52
+ "processCorrelationID": prepare_input(process_correlation_id),
53
+ "resourceID": prepare_input(resource_id),
54
+ "orderByInput": prepare_input(order_by_input),
55
+ "nextToken": prepare_input(next_token),
56
+ },
57
+ output=build_output_string(Children),
58
+ )
59
+ if result.get(endpoint) is not None:
60
+ return Children.from_dict(result.get(endpoint))
61
+ raise GraphQLNoRowsInResultSetError("for query processChildren")
62
+
63
+ def process_parent(
64
+ self,
65
+ tenant_id: str,
66
+ host_id: str,
67
+ parent_process_correlation_id: str,
68
+ resource_id: Optional[str] = None,
69
+ ) -> ProcessEvent:
70
+ """None."""
71
+ endpoint = "processParent"
72
+
73
+ result = self.service.execute_query(
74
+ endpoint=endpoint,
75
+ variables={
76
+ "tenantID": prepare_input(tenant_id),
77
+ "hostID": prepare_input(host_id),
78
+ "parentProcessCorrelationID": prepare_input(
79
+ parent_process_correlation_id
80
+ ),
81
+ "resourceID": prepare_input(resource_id),
82
+ },
83
+ output=build_output_string(ProcessEvent),
84
+ )
85
+ if result.get(endpoint) is not None:
86
+ return ProcessEvent.from_dict(result.get(endpoint))
87
+ raise GraphQLNoRowsInResultSetError("for query processParent")
88
+
89
+ def process_lineage(
90
+ self,
91
+ tenant_id: str,
92
+ host_id: str,
93
+ process_correlation_id: str,
94
+ resource_id: str,
95
+ ) -> ProcessLineage:
96
+ """None."""
97
+ endpoint = "processLineage"
98
+
99
+ result = self.service.execute_query(
100
+ endpoint=endpoint,
101
+ variables={
102
+ "tenantID": prepare_input(tenant_id),
103
+ "hostID": prepare_input(host_id),
104
+ "processCorrelationID": prepare_input(process_correlation_id),
105
+ "resourceID": prepare_input(resource_id),
106
+ },
107
+ output=build_output_string(ProcessLineage),
108
+ )
109
+ if result.get(endpoint) is not None:
110
+ return ProcessLineage.from_dict(result.get(endpoint))
111
+ raise GraphQLNoRowsInResultSetError("for query processLineage")
112
+
113
+ def get_process_children(
114
+ self,
115
+ tenant_id: str,
116
+ host_id: str,
117
+ process_correlation_id: str,
118
+ resource_id: Optional[str] = None,
119
+ order_by_input: Optional[List[OrderByInput]] = None,
120
+ next_token: Optional[str] = None,
121
+ ) -> Children:
122
+ """None."""
123
+ endpoint = "GetProcessChildren"
124
+
125
+ log.warning(
126
+ f"GraphQL Query `{endpoint}` is deprecated: 'Use processChildren instead'"
127
+ )
128
+
129
+ result = self.service.execute_query(
130
+ endpoint=endpoint,
131
+ variables={
132
+ "tenantID": prepare_input(tenant_id),
133
+ "hostID": prepare_input(host_id),
134
+ "processCorrelationID": prepare_input(process_correlation_id),
135
+ "resourceID": prepare_input(resource_id),
136
+ "orderByInput": prepare_input(order_by_input),
137
+ "nextToken": prepare_input(next_token),
138
+ },
139
+ output=build_output_string(Children),
140
+ )
141
+ if result.get(endpoint) is not None:
142
+ return Children.from_dict(result.get(endpoint))
143
+ raise GraphQLNoRowsInResultSetError("for query GetProcessChildren")
144
+
145
+ def get_process_parent(
146
+ self,
147
+ tenant_id: str,
148
+ host_id: str,
149
+ parent_process_correlation_id: str,
150
+ resource_id: Optional[str] = None,
151
+ ) -> ProcessEvent:
152
+ """None."""
153
+ endpoint = "GetProcessParent"
154
+
155
+ log.warning(
156
+ f"GraphQL Query `{endpoint}` is deprecated: 'Use processParent instead'"
157
+ )
158
+
159
+ result = self.service.execute_query(
160
+ endpoint=endpoint,
161
+ variables={
162
+ "tenantID": prepare_input(tenant_id),
163
+ "hostID": prepare_input(host_id),
164
+ "parentProcessCorrelationID": prepare_input(
165
+ parent_process_correlation_id
166
+ ),
167
+ "resourceID": prepare_input(resource_id),
168
+ },
169
+ output=build_output_string(ProcessEvent),
170
+ )
171
+ if result.get(endpoint) is not None:
172
+ return ProcessEvent.from_dict(result.get(endpoint))
173
+ raise GraphQLNoRowsInResultSetError("for query GetProcessParent")
@@ -7,11 +7,30 @@
7
7
 
8
8
  from dataclasses import dataclass, field
9
9
 
10
+ from enum import Enum
11
+
10
12
  from typing import Any, Dict, List, Optional, Tuple, Union
11
13
 
12
14
  from dataclasses_json import config, dataclass_json
13
15
 
14
16
 
17
+ from taegis_sdk_python._consts import TaegisEnum
18
+ from taegis_sdk_python.utils import encode_enum, decode_enum, parse_union_result
19
+
20
+
21
+ class OrderByDirectionInput(str, Enum):
22
+ """OrderByDirectionInput."""
23
+
24
+ ASC = "asc"
25
+ DESC = "desc"
26
+
27
+
28
+ class OrderByFieldInput(str, Enum):
29
+ """OrderByFieldInput."""
30
+
31
+ PROCESS_CREATION_TIME = "processCreationTime"
32
+
33
+
15
34
  @dataclass_json
16
35
  @dataclass(order=True, eq=True, frozen=True)
17
36
  class ProgramHash:
@@ -78,9 +97,15 @@ class ProcessEvent:
78
97
  sensor_type: Optional[str] = field(
79
98
  default=None, metadata=config(field_name="sensorType")
80
99
  )
100
+ event_time_usec: Optional[int] = field(
101
+ default=None, metadata=config(field_name="eventTimeUsec")
102
+ )
81
103
  children_count: Optional[int] = field(
82
104
  default=None, metadata=config(field_name="childrenCount")
83
105
  )
106
+ alerts: Optional[List[str]] = field(
107
+ default=None, metadata=config(field_name="alerts")
108
+ )
84
109
  program_hash: Optional[ProgramHash] = field(
85
110
  default=None, metadata=config(field_name="programHash")
86
111
  )
@@ -94,6 +119,43 @@ class Children:
94
119
  children_count: Optional[int] = field(
95
120
  default=None, metadata=config(field_name="childrenCount")
96
121
  )
122
+ next_token: Optional[str] = field(
123
+ default=None, metadata=config(field_name="nextToken")
124
+ )
97
125
  process_list: Optional[List[ProcessEvent]] = field(
98
126
  default=None, metadata=config(field_name="processList")
99
127
  )
128
+
129
+
130
+ @dataclass_json
131
+ @dataclass(order=True, eq=True, frozen=True)
132
+ class ProcessLineage:
133
+ """ProcessLineage."""
134
+
135
+ depth: Optional[int] = field(default=None, metadata=config(field_name="depth"))
136
+ lineage: Optional[List[ProcessEvent]] = field(
137
+ default=None, metadata=config(field_name="lineage")
138
+ )
139
+
140
+
141
+ @dataclass_json
142
+ @dataclass(order=True, eq=True, frozen=True)
143
+ class OrderByInput:
144
+ """OrderByInput."""
145
+
146
+ field_: Optional[Union[OrderByFieldInput, TaegisEnum]] = field(
147
+ default=None,
148
+ metadata=config(
149
+ encoder=encode_enum,
150
+ decoder=lambda x: decode_enum(OrderByFieldInput, x),
151
+ field_name="field",
152
+ ),
153
+ )
154
+ direction: Optional[Union[OrderByDirectionInput, TaegisEnum]] = field(
155
+ default=None,
156
+ metadata=config(
157
+ encoder=encode_enum,
158
+ decoder=lambda x: decode_enum(OrderByDirectionInput, x),
159
+ field_name="direction",
160
+ ),
161
+ )
@@ -488,3 +488,39 @@ class TaegisSDKRulesQuery:
488
488
  if result.get(endpoint) is not None:
489
489
  return RuleFacetAggregationsOutput.from_dict(result.get(endpoint))
490
490
  raise GraphQLNoRowsInResultSetError("for query ruleFacetAggregations")
491
+
492
+ def ql_rules_tenants_details(
493
+ self, event_type: Union[RuleEventType, TaegisEnum]
494
+ ) -> List[QLTenants]:
495
+ """Returns a list of tenants, parents, and organizations with QL rules for the specified event type."""
496
+ endpoint = "qlRulesTenantsDetails"
497
+
498
+ result = self.service.execute_query(
499
+ endpoint=endpoint,
500
+ variables={
501
+ "eventType": prepare_input(event_type),
502
+ },
503
+ output=build_output_string(QLTenants),
504
+ )
505
+ if result.get(endpoint) is not None:
506
+ return QLTenants.schema().load(
507
+ [r or {} for r in result.get(endpoint)], many=True
508
+ )
509
+ raise GraphQLNoRowsInResultSetError("for query qlRulesTenantsDetails")
510
+
511
+ def ql_rules_tenants(
512
+ self, event_type: Union[RuleEventType, TaegisEnum]
513
+ ) -> List[str]:
514
+ """Returns a list of tenant IDs with QL rules for the specified event type."""
515
+ endpoint = "qlRulesTenants"
516
+
517
+ result = self.service.execute_query(
518
+ endpoint=endpoint,
519
+ variables={
520
+ "eventType": prepare_input(event_type),
521
+ },
522
+ output="",
523
+ )
524
+ if result.get(endpoint) is not None:
525
+ return result.get(endpoint)
526
+ raise GraphQLNoRowsInResultSetError("for query qlRulesTenants")
@@ -134,6 +134,15 @@ class RuleDay(str, Enum):
134
134
  SUNDAY = "Sunday"
135
135
 
136
136
 
137
+ class QLTenantType(str, Enum):
138
+ """QLTenantType."""
139
+
140
+ QL_TENANT = "QLTenant"
141
+ QL_PARTNER = "QLPartner"
142
+ QL_ORGANIZATION = "QLOrganization"
143
+ QL_UNKNOWN = "QLUnknown"
144
+
145
+
137
146
  class RuleResolutionStatus(str, Enum):
138
147
  """RuleResolutionStatus."""
139
148
 
@@ -369,6 +378,15 @@ class AggregationPair:
369
378
  value: Optional[int] = field(default=None, metadata=config(field_name="value"))
370
379
 
371
380
 
381
+ @dataclass_json
382
+ @dataclass(order=True, eq=True, frozen=True)
383
+ class QLTenantIDs:
384
+ """QLTenantIDs."""
385
+
386
+ id: Optional[str] = field(default=None, metadata=config(field_name="id"))
387
+ type: Optional[int] = field(default=None, metadata=config(field_name="type"))
388
+
389
+
372
390
  @dataclass_json
373
391
  @dataclass(order=True, eq=True, frozen=True)
374
392
  class TDRUser:
@@ -498,6 +516,22 @@ class RuleMetrics:
498
516
  )
499
517
 
500
518
 
519
+ @dataclass_json
520
+ @dataclass(order=True, eq=True, frozen=True)
521
+ class QLTenants:
522
+ """QLTenants."""
523
+
524
+ tenant: Optional[str] = field(default=None, metadata=config(field_name="tenant"))
525
+ tenant_type: Optional[Union[QLTenantType, TaegisEnum]] = field(
526
+ default=None,
527
+ metadata=config(
528
+ encoder=encode_enum,
529
+ decoder=lambda x: decode_enum(QLTenantType, x),
530
+ field_name="tenantType",
531
+ ),
532
+ )
533
+
534
+
501
535
  @dataclass_json
502
536
  @dataclass(order=True, eq=True, frozen=True)
503
537
  class RuleCountResponse:
@@ -663,6 +697,9 @@ class SearchRulesByFieldInput:
663
697
  )
664
698
  cve: Optional[str] = field(default=None, metadata=config(field_name="cve"))
665
699
  vid: Optional[int] = field(default=None, metadata=config(field_name="vid"))
700
+ aggressive_threat_detection: Optional[bool] = field(
701
+ default=None, metadata=config(field_name="aggressiveThreatDetection")
702
+ )
666
703
  enabled: Optional[bool] = field(default=None, metadata=config(field_name="enabled"))
667
704
  deleted: Optional[bool] = field(default=None, metadata=config(field_name="deleted"))
668
705
  updated_at: Optional[str] = field(
@@ -753,6 +790,9 @@ class RuleInput:
753
790
  default=None, metadata=config(field_name="attackCategories")
754
791
  )
755
792
  enabled: Optional[bool] = field(default=None, metadata=config(field_name="enabled"))
793
+ aggressive_threat_detection: Optional[bool] = field(
794
+ default=None, metadata=config(field_name="aggressiveThreatDetection")
795
+ )
756
796
  event_type: Optional[Union[RuleEventType, TaegisEnum]] = field(
757
797
  default=None,
758
798
  metadata=config(
@@ -863,6 +903,9 @@ class Rule:
863
903
  default=None, metadata=config(field_name="confidence")
864
904
  )
865
905
  enabled: Optional[bool] = field(default=None, metadata=config(field_name="enabled"))
906
+ aggressive_threat_detection: Optional[bool] = field(
907
+ default=None, metadata=config(field_name="aggressiveThreatDetection")
908
+ )
866
909
  create_alert: Optional[bool] = field(
867
910
  default=None, metadata=config(field_name="createAlert")
868
911
  )
@@ -48,7 +48,7 @@ class TaegisSDKTenants4Query:
48
48
  raise GraphQLNoRowsInResultSetError("for query tenants")
49
49
 
50
50
  def tenant(self, id_: str) -> TenantV4:
51
- """Retrieves a single tenant, tenant won't be returned if the subject does not have access to it (and requesting on an endpoint with authorization enabled)."""
51
+ """Retrieves a single tenant. Accepts a Taegis ID (numeric) or a Sophos ID (uuid). Tenant won't be returned if the subject does not have access to it (and requesting on an endpoint with authorization enabled)."""
52
52
  endpoint = "tenant"
53
53
 
54
54
  result = self.service.execute_query(
@@ -57,9 +57,6 @@ class MappedTenant:
57
57
  """MappedTenant."""
58
58
 
59
59
  id: Optional[str] = field(default=None, metadata=config(field_name="id"))
60
- endpoint: Optional[str] = field(
61
- default=None, metadata=config(field_name="endpoint")
62
- )
63
60
  region: Optional[str] = field(default=None, metadata=config(field_name="region"))
64
61
  data_region: Optional[str] = field(
65
62
  default=None, metadata=config(field_name="dataRegion")
@@ -119,3 +119,22 @@ class TaegisSDKTripMutation:
119
119
  if result.get(endpoint) is not None:
120
120
  return ApiIntegrationUpdateResponse.from_dict(result.get(endpoint))
121
121
  raise GraphQLNoRowsInResultSetError("for mutation resumeApiIntegration")
122
+
123
+ def retry_api_integration_provisioning(
124
+ self, id_: int
125
+ ) -> ApiIntegrationUpdateResponse:
126
+ """Given a parent integration id, this will retry provisioning all child integrations if they are in a failed state."""
127
+ endpoint = "retryApiIntegrationProvisioning"
128
+
129
+ result = self.service.execute_mutation(
130
+ endpoint=endpoint,
131
+ variables={
132
+ "id": prepare_input(id_),
133
+ },
134
+ output=build_output_string(ApiIntegrationUpdateResponse),
135
+ )
136
+ if result.get(endpoint) is not None:
137
+ return ApiIntegrationUpdateResponse.from_dict(result.get(endpoint))
138
+ raise GraphQLNoRowsInResultSetError(
139
+ "for mutation retryApiIntegrationProvisioning"
140
+ )