taegis-sdk-python 1.2.7__tar.gz → 1.2.8__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 (235) hide show
  1. {taegis_sdk_python-1.2.7/taegis_sdk_python.egg-info → taegis_sdk_python-1.2.8}/PKG-INFO +1 -1
  2. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/setup.py +4 -1
  3. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/__init__.py +1 -0
  4. taegis_sdk_python-1.2.8/taegis_sdk_python/_version.py +1 -0
  5. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/errors.py +1 -0
  6. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/service_core.py +112 -5
  7. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/__init__.py +9 -0
  8. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/access_points/__init__.py +1 -0
  9. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/alerts/__init__.py +1 -0
  10. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/alerts/queries.py +17 -0
  11. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/alerts/types.py +77 -4
  12. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/assets/__init__.py +1 -0
  13. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/assets2/__init__.py +1 -0
  14. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/assets2/mutations.py +2 -4
  15. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/assets2/types.py +154 -0
  16. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/audits/__init__.py +1 -0
  17. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/authz/__init__.py +1 -0
  18. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/byoti/__init__.py +1 -0
  19. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/clients/__init__.py +1 -0
  20. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/collector/__init__.py +1 -0
  21. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/collector/queries.py +1 -2
  22. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/comments/__init__.py +1 -0
  23. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/datasources/__init__.py +1 -0
  24. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/detector_registry/__init__.py +1 -0
  25. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/endpoint_command_manager/__init__.py +1 -0
  26. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/endpoint_management_service/__init__.py +1 -0
  27. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/endpoint_management_service/types.py +16 -8
  28. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/event_search/__init__.py +1 -0
  29. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/exports/__init__.py +1 -0
  30. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/fast_ioc/__init__.py +1 -0
  31. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/fast_ioc/queries.py +2 -4
  32. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/investigations/__init__.py +1 -0
  33. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/investigations/queries.py +6 -12
  34. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/investigations2/__init__.py +1 -0
  35. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/investigations2/mutations.py +7 -14
  36. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/investigations2/queries.py +2 -4
  37. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/investigations2/types.py +29 -1
  38. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/mitre_attack_info/__init__.py +1 -0
  39. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/multi_tenant_context/__init__.py +1 -0
  40. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/multi_tenant_ioc/__init__.py +1 -0
  41. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/multi_tenant_ioc/queries.py +2 -4
  42. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/notebooks/__init__.py +1 -0
  43. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/notebooks/mutations.py +11 -0
  44. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/notifications/__init__.py +1 -0
  45. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/preferences/__init__.py +1 -0
  46. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/queries/mutations.py +1 -0
  47. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/queries/queries.py +1 -0
  48. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/queries/subscriptions.py +1 -0
  49. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/queries/types.py +1 -0
  50. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/roadrunner/__init__.py +1 -0
  51. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/rules/__init__.py +1 -0
  52. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/rules/mutations.py +1 -2
  53. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/rules/types.py +3 -0
  54. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/sharelinks/__init__.py +1 -0
  55. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/subjects/__init__.py +1 -0
  56. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/tenant_profiles/__init__.py +1 -0
  57. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/trip/__init__.py +1 -0
  58. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/users/__init__.py +1 -0
  59. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/users/queries.py +1 -2
  60. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/users/types.py +4 -0
  61. taegis_sdk_python-1.2.8/taegis_sdk_python/services/vdr/__init__.py +30 -0
  62. taegis_sdk_python-1.2.8/taegis_sdk_python/services/vdr/mutations.py +31 -0
  63. taegis_sdk_python-1.2.8/taegis_sdk_python/services/vdr/queries.py +74 -0
  64. taegis_sdk_python-1.2.8/taegis_sdk_python/services/vdr/subscriptions.py +31 -0
  65. taegis_sdk_python-1.2.8/taegis_sdk_python/services/vdr/types.py +444 -0
  66. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/tokens.py +1 -0
  67. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/utils.py +1 -0
  68. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8/taegis_sdk_python.egg-info}/PKG-INFO +1 -1
  69. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python.egg-info/SOURCES.txt +6 -1
  70. taegis_sdk_python-1.2.7/taegis_sdk_python/_version.py +0 -1
  71. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/LICENSE +0 -0
  72. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/MANIFEST.in +0 -0
  73. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/README.md +0 -0
  74. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/requirements-dev.txt +0 -0
  75. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/requirements-test.txt +0 -0
  76. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/requirements.txt +0 -0
  77. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/setup.cfg +0 -0
  78. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/_consts.py +0 -0
  79. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/authentication.py +0 -0
  80. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/config.py +0 -0
  81. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/access_points/mutations.py +0 -0
  82. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/access_points/queries.py +0 -0
  83. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/access_points/subscriptions.py +0 -0
  84. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/access_points/types.py +0 -0
  85. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/agent/__init__.py +0 -0
  86. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/agent/mutations.py +0 -0
  87. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/agent/queries.py +0 -0
  88. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/agent/subscriptions.py +0 -0
  89. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/agent/types.py +0 -0
  90. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/alerts/mutations.py +0 -0
  91. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/alerts/subscriptions.py +0 -0
  92. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/assets/mutations.py +0 -0
  93. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/assets/queries.py +0 -0
  94. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/assets/subscriptions.py +0 -0
  95. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/assets/types.py +0 -0
  96. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/assets2/queries.py +0 -0
  97. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/assets2/subscriptions.py +0 -0
  98. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/audits/mutations.py +0 -0
  99. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/audits/queries.py +0 -0
  100. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/audits/subscriptions.py +0 -0
  101. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/audits/types.py +0 -0
  102. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/authz/mutations.py +0 -0
  103. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/authz/queries.py +0 -0
  104. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/authz/subscriptions.py +0 -0
  105. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/authz/types.py +0 -0
  106. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/byoti/mutations.py +0 -0
  107. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/byoti/queries.py +0 -0
  108. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/byoti/subscriptions.py +0 -0
  109. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/byoti/types.py +0 -0
  110. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/clients/mutations.py +0 -0
  111. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/clients/queries.py +0 -0
  112. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/clients/subscriptions.py +0 -0
  113. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/clients/types.py +0 -0
  114. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/collector/mutations.py +0 -0
  115. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/collector/subscriptions.py +0 -0
  116. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/collector/types.py +0 -0
  117. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/comments/mutations.py +0 -0
  118. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/comments/queries.py +0 -0
  119. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/comments/subscriptions.py +0 -0
  120. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/comments/types.py +0 -0
  121. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/contracted_endpoint/__init__.py +0 -0
  122. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/contracted_endpoint/mutations.py +0 -0
  123. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/contracted_endpoint/queries.py +0 -0
  124. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/contracted_endpoint/subscriptions.py +0 -0
  125. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/contracted_endpoint/types.py +0 -0
  126. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/datasources/mutations.py +0 -0
  127. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/datasources/queries.py +0 -0
  128. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/datasources/subscriptions.py +0 -0
  129. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/datasources/types.py +0 -0
  130. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/detector_registry/mutations.py +0 -0
  131. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/detector_registry/queries.py +0 -0
  132. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/detector_registry/subscriptions.py +0 -0
  133. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/detector_registry/types.py +0 -0
  134. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/endpoint_command_manager/mutations.py +0 -0
  135. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/endpoint_command_manager/queries.py +0 -0
  136. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/endpoint_command_manager/subscriptions.py +0 -0
  137. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/endpoint_command_manager/types.py +0 -0
  138. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/endpoint_management_service/mutations.py +0 -0
  139. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/endpoint_management_service/queries.py +0 -0
  140. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/endpoint_management_service/subscriptions.py +0 -0
  141. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/event_search/mutations.py +0 -0
  142. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/event_search/queries.py +0 -0
  143. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/event_search/subscriptions.py +0 -0
  144. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/event_search/types.py +0 -0
  145. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/events/__init__.py +0 -0
  146. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/events/mutations.py +0 -0
  147. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/events/queries.py +0 -0
  148. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/events/subscriptions.py +0 -0
  149. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/events/types.py +0 -0
  150. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/exports/mutations.py +0 -0
  151. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/exports/queries.py +0 -0
  152. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/exports/subscriptions.py +0 -0
  153. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/exports/types.py +0 -0
  154. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/fast_ioc/mutations.py +0 -0
  155. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/fast_ioc/subscriptions.py +0 -0
  156. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/fast_ioc/types.py +0 -0
  157. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/file_info/__init__.py +0 -0
  158. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/file_info/mutations.py +0 -0
  159. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/file_info/queries.py +0 -0
  160. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/file_info/subscriptions.py +0 -0
  161. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/file_info/types.py +0 -0
  162. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/ingest_stats/__init__.py +0 -0
  163. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/ingest_stats/mutations.py +0 -0
  164. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/ingest_stats/queries.py +0 -0
  165. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/ingest_stats/subscriptions.py +0 -0
  166. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/ingest_stats/types.py +0 -0
  167. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/investigations/mutations.py +0 -0
  168. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/investigations/subscriptions.py +0 -0
  169. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/investigations/types.py +0 -0
  170. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/investigations2/subscriptions.py +0 -0
  171. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/mitre_attack_info/mutations.py +0 -0
  172. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/mitre_attack_info/queries.py +0 -0
  173. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/mitre_attack_info/subscriptions.py +0 -0
  174. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/mitre_attack_info/types.py +0 -0
  175. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/multi_tenant_context/mutations.py +0 -0
  176. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/multi_tenant_context/queries.py +0 -0
  177. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/multi_tenant_context/subscriptions.py +0 -0
  178. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/multi_tenant_context/types.py +0 -0
  179. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/multi_tenant_ioc/mutations.py +0 -0
  180. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/multi_tenant_ioc/subscriptions.py +0 -0
  181. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/multi_tenant_ioc/types.py +0 -0
  182. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/notebooks/queries.py +0 -0
  183. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/notebooks/subscriptions.py +0 -0
  184. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/notebooks/types.py +0 -0
  185. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/notifications/mutations.py +0 -0
  186. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/notifications/queries.py +0 -0
  187. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/notifications/subscriptions.py +0 -0
  188. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/notifications/types.py +0 -0
  189. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/preferences/mutations.py +0 -0
  190. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/preferences/queries.py +0 -0
  191. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/preferences/subscriptions.py +0 -0
  192. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/preferences/types.py +0 -0
  193. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/queries/__init__.py +0 -0
  194. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/roadrunner/mutations.py +0 -0
  195. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/roadrunner/queries.py +0 -0
  196. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/roadrunner/subscriptions.py +0 -0
  197. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/roadrunner/types.py +0 -0
  198. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/rules/queries.py +0 -0
  199. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/rules/subscriptions.py +0 -0
  200. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/sharelinks/mutations.py +0 -0
  201. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/sharelinks/queries.py +0 -0
  202. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/sharelinks/subscriptions.py +0 -0
  203. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/sharelinks/types.py +0 -0
  204. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/subjects/mutations.py +0 -0
  205. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/subjects/queries.py +0 -0
  206. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/subjects/subscriptions.py +0 -0
  207. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/subjects/types.py +0 -0
  208. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/tenant_profiles/mutations.py +0 -0
  209. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/tenant_profiles/queries.py +0 -0
  210. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/tenant_profiles/subscriptions.py +0 -0
  211. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/tenant_profiles/types.py +0 -0
  212. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/tenants/__init__.py +0 -0
  213. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/tenants/mutations.py +0 -0
  214. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/tenants/queries.py +0 -0
  215. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/tenants/subscriptions.py +0 -0
  216. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/tenants/types.py +0 -0
  217. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/threat/__init__.py +0 -0
  218. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/threat/mutations.py +0 -0
  219. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/threat/queries.py +0 -0
  220. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/threat/subscriptions.py +0 -0
  221. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/threat/types.py +0 -0
  222. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/threat_score/__init__.py +0 -0
  223. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/threat_score/mutations.py +0 -0
  224. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/threat_score/queries.py +0 -0
  225. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/threat_score/subscriptions.py +0 -0
  226. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/threat_score/types.py +0 -0
  227. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/trip/mutations.py +0 -0
  228. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/trip/queries.py +0 -0
  229. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/trip/subscriptions.py +0 -0
  230. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/trip/types.py +0 -0
  231. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/users/mutations.py +0 -0
  232. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python/services/users/subscriptions.py +0 -0
  233. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python.egg-info/dependency_links.txt +0 -0
  234. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python.egg-info/requires.txt +0 -0
  235. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.8}/taegis_sdk_python.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: taegis-sdk-python
3
- Version: 1.2.7
3
+ Version: 1.2.8
4
4
  Summary: Taegis Python SDK
5
5
  Home-page: https://github.com/secureworks/taegis-sdk-python
6
6
  Author: Secureworks
@@ -1,6 +1,9 @@
1
- import setuptools
1
+ """setup.py"""
2
+
2
3
  from pathlib import Path
3
4
 
5
+ import setuptools
6
+
4
7
  README = Path() / "README.md"
5
8
  if not README.exists():
6
9
  raise RuntimeError(f"{README.name} does not exist")
@@ -1,6 +1,7 @@
1
1
  """
2
2
  Commonly-used functions and data types from this package.
3
3
  """
4
+
4
5
  from taegis_sdk_python.errors import (
5
6
  ServiceCoreException,
6
7
  InvalidAuthenticationMethod,
@@ -0,0 +1 @@
1
+ __version__ = "v1.2.8"
@@ -2,6 +2,7 @@
2
2
 
3
3
  Taegis Python SDK Exception class definitions.
4
4
  """
5
+
5
6
  from typing import List, Optional
6
7
 
7
8
 
@@ -292,7 +292,34 @@ class ServiceCore:
292
292
  def execute_query(
293
293
  self, endpoint: str, output: str, variables: Optional[Dict[str, Any]] = None
294
294
  ) -> Any:
295
- """Execute a GraphQL Query."""
295
+ """Execute a GraphQL Query.
296
+
297
+ Parameters
298
+ ----------
299
+ endpoint : str
300
+ GraphQL Query Endpoint
301
+ example: 'alertsServiceSearch'
302
+ output : str
303
+ Requested output fields in the API result set.
304
+ example: 'alerts { list { id metadata { title } } }'
305
+ example: 'investigations { id description }'
306
+ helper function:
307
+ from taegis_sdk_python import build_output_string
308
+ from taegis_sdk_python.services.alerts.types import AlertsReponse
309
+ print(build_output_string(AlertsResponse))
310
+ variables : Optional[Dict[str, Any]], optional
311
+ Variables submitted to GraphQL Operation, by default None
312
+ example: {'in': {'cql_query': 'FROM alert EARLIEST=-1d', 'offset': 0, 'limit': 10 } }
313
+
314
+ Returns
315
+ -------
316
+ Any
317
+ Query Results
318
+
319
+ Raises
320
+ ------
321
+ InvalidGraphQLEndpoint
322
+ """
296
323
  operation_type = "query"
297
324
  graphql_field = self.get_sync_schema().query_type.fields.get(endpoint)
298
325
  if not graphql_field:
@@ -318,7 +345,34 @@ class ServiceCore:
318
345
  def execute_mutation(
319
346
  self, endpoint: str, output: str, variables: Optional[Dict[str, Any]] = None
320
347
  ) -> Any:
321
- """Execute a GraphQL Mutation."""
348
+ """Execute a GraphQL Mutation.
349
+
350
+ Parameters
351
+ ----------
352
+ endpoint : str
353
+ GraphQL Mutation Endpoint
354
+ example: 'alertsServiceSearch'
355
+ output : str
356
+ Requested output fields in the API result set.
357
+ example: 'alerts { list { id metadata { title } } }'
358
+ example: 'investigations { id description }'
359
+ helper function:
360
+ from taegis_sdk_python import build_output_string
361
+ from taegis_sdk_python.services.alerts.types import AlertsReponse
362
+ print(build_output_string(AlertsResponse))
363
+ variables : Optional[Dict[str, Any]], optional
364
+ Variables submitted to GraphQL Operation, by default None
365
+ example: {'in': {'cql_query': 'FROM alert EARLIEST=-1d', 'offset': 0, 'limit': 10 } }
366
+
367
+ Returns
368
+ -------
369
+ Any
370
+ Mutation Results
371
+
372
+ Raises
373
+ ------
374
+ InvalidGraphQLEndpoint
375
+ """
322
376
  operation_type = "mutation"
323
377
  graphql_field = self.get_sync_schema().mutation_type.fields.get(endpoint)
324
378
  if not graphql_field:
@@ -344,7 +398,34 @@ class ServiceCore:
344
398
  def execute_subscription(
345
399
  self, endpoint: str, output: str, variables: Optional[Dict[str, Any]] = None
346
400
  ) -> List[Any]:
347
- """Execute a GraphQL Subscription."""
401
+ """Execute a GraphQL Subscription.
402
+
403
+ Parameters
404
+ ----------
405
+ endpoint : str
406
+ GraphQL Subscription Endpoint
407
+ example: 'alertsServiceSearch'
408
+ output : str
409
+ Requested output fields in the API result set.
410
+ example: 'alerts { list { id metadata { title } } }'
411
+ example: 'investigations { id description }'
412
+ helper function:
413
+ from taegis_sdk_python import build_output_string
414
+ from taegis_sdk_python.services.alerts.types import AlertsReponse
415
+ print(build_output_string(AlertsResponse))
416
+ variables : Optional[Dict[str, Any]], optional
417
+ Variables submitted to GraphQL Operation, by default None
418
+ example: {'in': {'cql_query': 'FROM alert EARLIEST=-1d', 'offset': 0, 'limit': 10 } }
419
+
420
+ Returns
421
+ -------
422
+ List[Any]
423
+ List of Subscription Results
424
+
425
+ Raises
426
+ ------
427
+ InvalidGraphQLEndpoint
428
+ """
348
429
  operation_type = "subscription"
349
430
  graphql_field = self.get_ws_schema().subscription_type.fields.get(endpoint)
350
431
  if not graphql_field:
@@ -370,7 +451,20 @@ class ServiceCore:
370
451
  def execute(
371
452
  self, query_string: str, variables: Optional[Dict[str, Any]] = None
372
453
  ) -> Any:
373
- """Execute a syncronous GraphQL string."""
454
+ """Execute a GraphQL string.
455
+
456
+ Parameters
457
+ ----------
458
+ query_string : str
459
+ GraphQL string
460
+ variables : Optional[Dict[str, Any]], optional
461
+ Variables for query/mutation, by default None
462
+
463
+ Returns
464
+ -------
465
+ Any
466
+ Query/Mutation results
467
+ """
374
468
  query = gql(query_string)
375
469
  return self.sync_client.execute(
376
470
  query,
@@ -381,7 +475,20 @@ class ServiceCore:
381
475
  async def subscribe(
382
476
  self, query_string: str, variables: Optional[Dict[str, Any]] = None
383
477
  ) -> List[Any]:
384
- """Execute a subsciption GraphQL string."""
478
+ """Execute a subsciption GraphQL string.
479
+
480
+ Parameters
481
+ ----------
482
+ query_string : str
483
+ GraphQL string
484
+ variables : Optional[Dict[str, Any]], optional
485
+ Variables for subscription, by default None
486
+
487
+ Returns
488
+ -------
489
+ List[Any]
490
+ List of subscription results
491
+ """
385
492
  query = gql(query_string)
386
493
  results = []
387
494
  async with self.ws_client as session:
@@ -55,6 +55,7 @@ from taegis_sdk_python.services.threat import ThreatService
55
55
  from taegis_sdk_python.services.threat_score import ThreatScoreService
56
56
  from taegis_sdk_python.services.trip import TripService
57
57
  from taegis_sdk_python.services.users import UsersService
58
+ from taegis_sdk_python.services.vdr import VDRService
58
59
 
59
60
  __all__ = ["GraphQLService"]
60
61
 
@@ -154,6 +155,7 @@ class GraphQLService:
154
155
  self._threat_score = None
155
156
  self._trip = None
156
157
  self._users = None
158
+ self._vdr = None
157
159
 
158
160
  def __call__(self, **kwargs):
159
161
  if threading.get_ident() not in self._context_kwargs:
@@ -559,3 +561,10 @@ class GraphQLService:
559
561
  if not self._users:
560
562
  self._users = UsersService(self)
561
563
  return self._users
564
+
565
+ @property
566
+ def vdr(self):
567
+ """Users Service Endpoint."""
568
+ if not self._vdr:
569
+ self._vdr = VDRService(self)
570
+ return self._vdr
@@ -1,4 +1,5 @@
1
1
  """AccessPoints Service."""
2
+
2
3
  from taegis_sdk_python.service_core import ServiceCore
3
4
  from taegis_sdk_python.services.access_points.mutations import (
4
5
  TaegisSDKAccessPointsMutation,
@@ -1,4 +1,5 @@
1
1
  """Alerts Service."""
2
+
2
3
  from taegis_sdk_python.service_core import ServiceCore
3
4
  from taegis_sdk_python.services.alerts.mutations import TaegisSDKAlertsMutation
4
5
  from taegis_sdk_python.services.alerts.queries import TaegisSDKAlertsQuery
@@ -104,6 +104,23 @@ class TaegisSDKAlertsQuery:
104
104
  "for query alertsServiceRetrieveAlertsByGroupKey"
105
105
  )
106
106
 
107
+ def alerts_count_by_tenant(
108
+ self, in_: AlertsCountByTenantInput
109
+ ) -> AlertsCountByTenantResponse:
110
+ """Returns the count of alerts per tenant. Allows a CQL query, but any aggregation or pipe will be ignored.."""
111
+ endpoint = "alertsCountByTenant"
112
+
113
+ result = self.service.execute_query(
114
+ endpoint=endpoint,
115
+ variables={
116
+ "in": prepare_input(in_),
117
+ },
118
+ output=build_output_string(AlertsCountByTenantResponse),
119
+ )
120
+ if result.get(endpoint) is not None:
121
+ return AlertsCountByTenantResponse.from_dict(result.get(endpoint))
122
+ raise GraphQLNoRowsInResultSetError("for query alertsCountByTenant")
123
+
107
124
  def alerts_service_search(
108
125
  self, in_: Optional[SearchRequestInput] = None
109
126
  ) -> AlertsResponse:
@@ -210,6 +210,19 @@ class PollRequestInput:
210
210
  )
211
211
 
212
212
 
213
+ @dataclass_json
214
+ @dataclass(order=True, eq=True, frozen=True)
215
+ class AlertsCountByTenantInput:
216
+ """AlertsCountByTenantInput."""
217
+
218
+ ql_query: Optional[str] = field(
219
+ default=None, metadata=config(field_name="ql_query")
220
+ )
221
+ tenant_service_filters: Optional[List[str]] = field(
222
+ default=None, metadata=config(field_name="tenant_service_filters")
223
+ )
224
+
225
+
213
226
  @dataclass_json
214
227
  @dataclass(order=True, eq=True, frozen=True)
215
228
  class SearchRequestInput:
@@ -508,6 +521,14 @@ class AggregationKeys:
508
521
  value: Optional[str] = field(default=None, metadata=config(field_name="value"))
509
522
 
510
523
 
524
+ @dataclass_json
525
+ @dataclass(order=True, eq=True, frozen=True)
526
+ class TenantV4:
527
+ """TenantV4."""
528
+
529
+ id: Optional[str] = field(default=None, metadata=config(field_name="id"))
530
+
531
+
511
532
  @dataclass_json
512
533
  @dataclass(order=True, eq=True, frozen=True)
513
534
  class AlertRuleReference:
@@ -1259,6 +1280,27 @@ class AlertsAggregateResponse_AlertsAggregation:
1259
1280
  )
1260
1281
 
1261
1282
 
1283
+ @dataclass_json
1284
+ @dataclass(order=True, eq=True, frozen=True)
1285
+ class AlertsCountByTenantResponseItem:
1286
+ """AlertsCountByTenantResponseItem."""
1287
+
1288
+ count: Optional[int] = field(default=None, metadata=config(field_name="count"))
1289
+ tenant: Optional[TenantV4] = field(
1290
+ default=None, metadata=config(field_name="tenant")
1291
+ )
1292
+
1293
+
1294
+ @dataclass_json
1295
+ @dataclass(order=True, eq=True, frozen=True)
1296
+ class AlertsCountByTenantResponse:
1297
+ """AlertsCountByTenantResponse."""
1298
+
1299
+ items: Optional[List[AlertsCountByTenantResponseItem]] = field(
1300
+ default=None, metadata=config(field_name="items")
1301
+ )
1302
+
1303
+
1262
1304
  @dataclass_json
1263
1305
  @dataclass(order=True, eq=True, frozen=True)
1264
1306
  class BulkResolutionResponse:
@@ -2033,7 +2075,14 @@ class AlertsInvestigationInfo:
2033
2075
  default=None, metadata=config(field_name="alert_resource_id")
2034
2076
  )
2035
2077
  initial_access_vector_info: Optional[List[InitialAccessVectorInfo]] = field(
2036
- default=None, metadata=config(field_name="initial_access_vector_info")
2078
+ default=None,
2079
+ metadata=config(
2080
+ metadata={
2081
+ "deprecated": True,
2082
+ "deprecation_reason": "data no longer exists",
2083
+ },
2084
+ field_name="initial_access_vector_info",
2085
+ ),
2037
2086
  )
2038
2087
 
2039
2088
 
@@ -2090,7 +2139,14 @@ class BulkInvestigationsResponse:
2090
2139
  default=None, metadata=config(field_name="status")
2091
2140
  )
2092
2141
  access_vector_info: Optional[List[AlertsInvestigationInfo]] = field(
2093
- default=None, metadata=config(field_name="access_vector_info")
2142
+ default=None,
2143
+ metadata=config(
2144
+ metadata={
2145
+ "deprecated": True,
2146
+ "deprecation_reason": "data no longer exists",
2147
+ },
2148
+ field_name="access_vector_info",
2149
+ ),
2094
2150
  )
2095
2151
 
2096
2152
 
@@ -2111,7 +2167,14 @@ class UpdateInvestigationResponse:
2111
2167
  default=None, metadata=config(field_name="status")
2112
2168
  )
2113
2169
  access_vector_info: Optional[List[AlertsInvestigationInfo]] = field(
2114
- default=None, metadata=config(field_name="access_vector_info")
2170
+ default=None,
2171
+ metadata=config(
2172
+ metadata={
2173
+ "deprecated": True,
2174
+ "deprecation_reason": "data no longer exists",
2175
+ },
2176
+ field_name="access_vector_info",
2177
+ ),
2115
2178
  )
2116
2179
 
2117
2180
 
@@ -2238,7 +2301,14 @@ class Alert2:
2238
2301
  default=None, metadata=config(field_name="attack_technique_ids")
2239
2302
  )
2240
2303
  tenant_id: Optional[str] = field(
2241
- default=None, metadata=config(field_name="tenant_id")
2304
+ default=None,
2305
+ metadata=config(
2306
+ metadata={
2307
+ "deprecated": True,
2308
+ "deprecation_reason": "being replaced with Tenant field",
2309
+ },
2310
+ field_name="tenant_id",
2311
+ ),
2242
2312
  )
2243
2313
  parent_tenant_id: Optional[str] = field(
2244
2314
  default=None, metadata=config(field_name="parent_tenant_id")
@@ -2262,6 +2332,9 @@ class Alert2:
2262
2332
  visibility: Optional[Visibility] = field(
2263
2333
  default=None, metadata=config(field_name="visibility")
2264
2334
  )
2335
+ tenant: Optional[TenantV4] = field(
2336
+ default=None, metadata=config(field_name="tenant")
2337
+ )
2265
2338
  suppression_rules: Optional[List[AlertRuleReference]] = field(
2266
2339
  default=None, metadata=config(field_name="suppression_rules")
2267
2340
  )
@@ -1,4 +1,5 @@
1
1
  """"Assets Service."""
2
+
2
3
  from taegis_sdk_python.service_core import ServiceCore
3
4
  from taegis_sdk_python.services.assets.mutations import TaegisSDKAssetsMutation
4
5
  from taegis_sdk_python.services.assets.queries import TaegisSDKAssetsQuery
@@ -1,4 +1,5 @@
1
1
  """"Assets2 Service."""
2
+
2
3
  from taegis_sdk_python.service_core import ServiceCore
3
4
  from taegis_sdk_python.services.assets2.mutations import TaegisSDKAssets2Mutation
4
5
  from taegis_sdk_python.services.assets2.queries import TaegisSDKAssets2Query
@@ -155,8 +155,7 @@ class TaegisSDKAssets2Mutation:
155
155
  ) -> BulkOpPayloadV2:
156
156
  """Start a job to assign the endpoints matching the filter criteria to the
157
157
  investigation in the input. Use the task ID in the response to poll the
158
- assignBulkAssetsToInvestigationStatus query to determine if the job succeeded..
159
- """
158
+ assignBulkAssetsToInvestigationStatus query to determine if the job succeeded.."""
160
159
  endpoint = "assignBulkAssetsToInvestigation"
161
160
 
162
161
  result = self.service.execute_mutation(
@@ -177,8 +176,7 @@ class TaegisSDKAssets2Mutation:
177
176
  ) -> BulkOpPayloadV2:
178
177
  """Start a job to delete the provided investigation from the endpoints matching
179
178
  the filter criteria in the input. Use the task ID in the response to poll the
180
- bulkDeleteInvestigationForEndpointsStatus query to determine if the job succeeded..
181
- """
179
+ bulkDeleteInvestigationForEndpointsStatus query to determine if the job succeeded.."""
182
180
  endpoint = "bulkDeleteInvestigationForEndpoints"
183
181
 
184
182
  result = self.service.execute_mutation(
@@ -83,6 +83,8 @@ class AssetSearchOrderByInputV2(str, Enum):
83
83
  TAG_VALUE_DESC = "tag_value_desc"
84
84
  TAG_ASC = "tag_asc"
85
85
  TAG_DESC = "tag_desc"
86
+ VULNERABILITY_STATUS_ASC = "vulnerability_status_asc"
87
+ VULNERABILITY_STATUS_DESC = "vulnerability_status_desc"
86
88
 
87
89
 
88
90
  class AssetHostnameSearchOrderByInput(str, Enum):
@@ -148,6 +150,79 @@ class BulkOpStatusV2(str, Enum):
148
150
  TASK_STATE_IN_PROGRESS = "TASK_STATE_IN_PROGRESS"
149
151
 
150
152
 
153
+ @dataclass_json
154
+ @dataclass(order=True, eq=True, frozen=True)
155
+ class FileAnalysis:
156
+ """FileAnalysis."""
157
+
158
+ enabled: Optional[bool] = field(default=None, metadata=config(field_name="enabled"))
159
+
160
+
161
+ @dataclass_json
162
+ @dataclass(order=True, eq=True, frozen=True)
163
+ class AutoArchive:
164
+ """AutoArchive."""
165
+
166
+ enabled: Optional[bool] = field(default=None, metadata=config(field_name="enabled"))
167
+ period: Optional[int] = field(default=None, metadata=config(field_name="period"))
168
+
169
+
170
+ @dataclass_json
171
+ @dataclass(order=True, eq=True, frozen=True)
172
+ class TamperProtection:
173
+ """TamperProtection."""
174
+
175
+ enabled: Optional[bool] = field(default=None, metadata=config(field_name="enabled"))
176
+
177
+
178
+ @dataclass_json
179
+ @dataclass(order=True, eq=True, frozen=True)
180
+ class AdvancedKernelTelemetry:
181
+ """AdvancedKernelTelemetry."""
182
+
183
+ enabled: Optional[bool] = field(default=None, metadata=config(field_name="enabled"))
184
+
185
+
186
+ @dataclass_json
187
+ @dataclass(order=True, eq=True, frozen=True)
188
+ class MaintenanceWindow:
189
+ """MaintenanceWindow."""
190
+
191
+ enabled: Optional[bool] = field(default=None, metadata=config(field_name="enabled"))
192
+
193
+
194
+ @dataclass_json
195
+ @dataclass(order=True, eq=True, frozen=True)
196
+ class VulnerabilityDetails:
197
+ """VulnerabilityDetails."""
198
+
199
+ high_cps: Optional[str] = field(default=None, metadata=config(field_name="highCps"))
200
+ high_cvss: Optional[str] = field(
201
+ default=None, metadata=config(field_name="highCvss")
202
+ )
203
+ vulnerability_status: Optional[str] = field(
204
+ default=None, metadata=config(field_name="vulnerabilityStatus")
205
+ )
206
+ vdr_instance: Optional[str] = field(
207
+ default=None, metadata=config(field_name="vdrInstance")
208
+ )
209
+ vdr_asset_id: Optional[str] = field(
210
+ default=None, metadata=config(field_name="vdrAssetId")
211
+ )
212
+ vdr_organization_id: Optional[str] = field(
213
+ default=None, metadata=config(field_name="vdrOrganizationId")
214
+ )
215
+ vdr_hostname: Optional[str] = field(
216
+ default=None, metadata=config(field_name="vdrHostname")
217
+ )
218
+ created_at: Optional[str] = field(
219
+ default=None, metadata=config(field_name="createdAt")
220
+ )
221
+ updated_at: Optional[str] = field(
222
+ default=None, metadata=config(field_name="updatedAt")
223
+ )
224
+
225
+
151
226
  @dataclass_json
152
227
  @dataclass(order=True, eq=True, frozen=True)
153
228
  class EndpointGroupV2:
@@ -856,12 +931,76 @@ class AssetMacAddressWhereInput:
856
931
  )
857
932
 
858
933
 
934
+ @dataclass_json
935
+ @dataclass(order=True, eq=True, frozen=True)
936
+ class AgentSettings:
937
+ """AgentSettings."""
938
+
939
+ id: Optional[str] = field(default=None, metadata=config(field_name="id"))
940
+ is_default: Optional[bool] = field(
941
+ default=None, metadata=config(field_name="isDefault")
942
+ )
943
+ tenant_id: Optional[str] = field(
944
+ default=None, metadata=config(field_name="tenantId")
945
+ )
946
+ name: Optional[str] = field(default=None, metadata=config(field_name="name"))
947
+ policy_name: Optional[str] = field(
948
+ default=None, metadata=config(field_name="policyName")
949
+ )
950
+ description: Optional[str] = field(
951
+ default=None, metadata=config(field_name="description")
952
+ )
953
+ channel: Optional[str] = field(default=None, metadata=config(field_name="channel"))
954
+ skip_upgrade: Optional[bool] = field(
955
+ default=None, metadata=config(field_name="skipUpgrade")
956
+ )
957
+ created_at: Optional[str] = field(
958
+ default=None, metadata=config(field_name="createdAt")
959
+ )
960
+ updated_at: Optional[str] = field(
961
+ default=None, metadata=config(field_name="updatedAt")
962
+ )
963
+ file_analysis: Optional[FileAnalysis] = field(
964
+ default=None, metadata=config(field_name="fileAnalysis")
965
+ )
966
+ auto_archive: Optional[AutoArchive] = field(
967
+ default=None, metadata=config(field_name="autoArchive")
968
+ )
969
+ tamper_protection: Optional[TamperProtection] = field(
970
+ default=None, metadata=config(field_name="tamperProtection")
971
+ )
972
+ maintenance_window: Optional[MaintenanceWindow] = field(
973
+ default=None, metadata=config(field_name="maintenanceWindow")
974
+ )
975
+ advanced_kernel_telemetry: Optional[AdvancedKernelTelemetry] = field(
976
+ default=None, metadata=config(field_name="advancedKernelTelemetry")
977
+ )
978
+
979
+
859
980
  @dataclass_json
860
981
  @dataclass(order=True, eq=True, frozen=True)
861
982
  class AssetWhereInputV2:
862
983
  """AssetWhereInputV2."""
863
984
 
864
985
  id: Optional[str] = field(default=None, metadata=config(field_name="id"))
986
+ agent_setting_id: Optional[str] = field(
987
+ default=None, metadata=config(field_name="agentSettingID")
988
+ )
989
+ agent_setting_id_contains: Optional[str] = field(
990
+ default=None, metadata=config(field_name="agentSettingID_contains")
991
+ )
992
+ agent_setting_id_autocomplete: Optional[str] = field(
993
+ default=None, metadata=config(field_name="agentSettingID_autocomplete")
994
+ )
995
+ cloud_instance_id: Optional[str] = field(
996
+ default=None, metadata=config(field_name="cloudInstanceId")
997
+ )
998
+ cloud_instance_id_contains: Optional[str] = field(
999
+ default=None, metadata=config(field_name="cloudInstanceId_contains")
1000
+ )
1001
+ cloud_instance_id_autocomplete: Optional[str] = field(
1002
+ default=None, metadata=config(field_name="cloudInstanceId_autocomplete")
1003
+ )
865
1004
  connection_status: Optional[str] = field(
866
1005
  default=None, metadata=config(field_name="connectionStatus")
867
1006
  )
@@ -1001,6 +1140,15 @@ class AssetWhereInputV2:
1001
1140
  username_autocomplete: Optional[str] = field(
1002
1141
  default=None, metadata=config(field_name="username_autocomplete")
1003
1142
  )
1143
+ vulnerability_status: Optional[str] = field(
1144
+ default=None, metadata=config(field_name="vulnerabilityStatus")
1145
+ )
1146
+ vulnerability_status_contains: Optional[str] = field(
1147
+ default=None, metadata=config(field_name="vulnerabilityStatus_contains")
1148
+ )
1149
+ vulnerability_status_autocomplete: Optional[str] = field(
1150
+ default=None, metadata=config(field_name="vulnerabilityStatus_autocomplete")
1151
+ )
1004
1152
  and_: Optional[List["AssetWhereInputV2"]] = field(
1005
1153
  default=None, metadata=config(field_name="and")
1006
1154
  )
@@ -1139,6 +1287,12 @@ class AssetV2:
1139
1287
  investigations: Optional[List[AssetInvestigation]] = field(
1140
1288
  default=None, metadata=config(field_name="investigations")
1141
1289
  )
1290
+ vulnerability_details: Optional[VulnerabilityDetails] = field(
1291
+ default=None, metadata=config(field_name="vulnerabilityDetails")
1292
+ )
1293
+ agent_settings: Optional[AgentSettings] = field(
1294
+ default=None, metadata=config(field_name="agentSettings")
1295
+ )
1142
1296
 
1143
1297
 
1144
1298
  @dataclass_json
@@ -1,4 +1,5 @@
1
1
  """"Audits Service."""
2
+
2
3
  from taegis_sdk_python.service_core import ServiceCore
3
4
  from taegis_sdk_python.services.audits.mutations import TaegisSDKAuditsMutation
4
5
  from taegis_sdk_python.services.audits.queries import TaegisSDKAuditsQuery
@@ -1,4 +1,5 @@
1
1
  """"Authz Service."""
2
+
2
3
  from taegis_sdk_python.service_core import ServiceCore
3
4
  from taegis_sdk_python.services.authz.mutations import TaegisSDKAuthzMutation
4
5
  from taegis_sdk_python.services.authz.queries import TaegisSDKAuthzQuery
@@ -1,4 +1,5 @@
1
1
  """"Byoti Service."""
2
+
2
3
  from taegis_sdk_python.service_core import ServiceCore
3
4
  from taegis_sdk_python.services.byoti.mutations import TaegisSDKByotiMutation
4
5
  from taegis_sdk_python.services.byoti.queries import TaegisSDKByotiQuery
@@ -1,4 +1,5 @@
1
1
  """"Clients Service."""
2
+
2
3
  from taegis_sdk_python.service_core import ServiceCore
3
4
  from taegis_sdk_python.services.clients.mutations import TaegisSDKClientsMutation
4
5
  from taegis_sdk_python.services.clients.queries import TaegisSDKClientsQuery
@@ -1,4 +1,5 @@
1
1
  """"Collector Service."""
2
+
2
3
  from taegis_sdk_python.service_core import ServiceCore
3
4
  from taegis_sdk_python.services.collector.mutations import TaegisSDKCollectorMutation
4
5
  from taegis_sdk_python.services.collector.queries import TaegisSDKCollectorQuery
@@ -632,8 +632,7 @@ class TaegisSDKCollectorQuery:
632
632
  self, cluster_id: Optional[str] = None
633
633
  ) -> LogLastSeenMetrics:
634
634
  """Get last seen metrics for all available log sources for a given cluster.
635
- If no clusterId is specified, this will return all log sources metrics for all existing clusters.
636
- """
635
+ If no clusterId is specified, this will return all log sources metrics for all existing clusters."""
637
636
  endpoint = "getLogLastSeenMetrics"
638
637
 
639
638
  log.warning(
@@ -1,4 +1,5 @@
1
1
  """"Comments Service."""
2
+
2
3
  from taegis_sdk_python.service_core import ServiceCore
3
4
  from taegis_sdk_python.services.comments.mutations import TaegisSDKCommentsMutation
4
5
  from taegis_sdk_python.services.comments.queries import TaegisSDKCommentsQuery