taegis-sdk-python 1.2.7__tar.gz → 1.2.9__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 (236) hide show
  1. {taegis_sdk_python-1.2.7/taegis_sdk_python.egg-info → taegis_sdk_python-1.2.9}/PKG-INFO +1 -1
  2. taegis_sdk_python-1.2.9/requirements-dev.txt +2 -0
  3. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/setup.py +4 -1
  4. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/__init__.py +1 -0
  5. taegis_sdk_python-1.2.9/taegis_sdk_python/_version.py +1 -0
  6. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/errors.py +1 -0
  7. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/service_core.py +112 -5
  8. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/__init__.py +9 -0
  9. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/access_points/__init__.py +1 -0
  10. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/alerts/__init__.py +1 -0
  11. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/alerts/queries.py +17 -0
  12. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/alerts/types.py +103 -4
  13. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/assets/__init__.py +1 -0
  14. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/assets2/__init__.py +1 -0
  15. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/assets2/mutations.py +4 -6
  16. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/assets2/types.py +210 -2
  17. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/audits/__init__.py +1 -0
  18. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/authz/__init__.py +1 -0
  19. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/byoti/__init__.py +1 -0
  20. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/clients/__init__.py +1 -0
  21. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/collector/__init__.py +1 -0
  22. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/collector/queries.py +1 -2
  23. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/comments/__init__.py +1 -0
  24. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/datasources/__init__.py +1 -0
  25. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/detector_registry/__init__.py +1 -0
  26. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/endpoint_command_manager/__init__.py +1 -0
  27. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/endpoint_command_manager/types.py +3 -0
  28. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/endpoint_management_service/__init__.py +1 -0
  29. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/endpoint_management_service/types.py +16 -8
  30. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/event_search/__init__.py +1 -0
  31. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/events/types.py +3 -0
  32. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/exports/__init__.py +1 -0
  33. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/fast_ioc/__init__.py +1 -0
  34. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/fast_ioc/queries.py +2 -4
  35. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/investigations/__init__.py +1 -0
  36. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/investigations/queries.py +6 -12
  37. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/investigations2/__init__.py +1 -0
  38. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/investigations2/mutations.py +7 -14
  39. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/investigations2/queries.py +2 -4
  40. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/investigations2/types.py +29 -1
  41. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/mitre_attack_info/__init__.py +1 -0
  42. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/multi_tenant_context/__init__.py +1 -0
  43. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/multi_tenant_ioc/__init__.py +1 -0
  44. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/multi_tenant_ioc/queries.py +2 -4
  45. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/notebooks/__init__.py +1 -0
  46. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/notebooks/mutations.py +11 -0
  47. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/notifications/__init__.py +1 -0
  48. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/preferences/__init__.py +1 -0
  49. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/preferences/mutations.py +22 -0
  50. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/preferences/types.py +21 -6
  51. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/queries/mutations.py +1 -0
  52. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/queries/queries.py +1 -0
  53. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/queries/subscriptions.py +1 -0
  54. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/queries/types.py +1 -0
  55. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/roadrunner/__init__.py +1 -0
  56. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/rules/__init__.py +1 -0
  57. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/rules/mutations.py +1 -2
  58. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/rules/types.py +3 -0
  59. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/sharelinks/__init__.py +1 -0
  60. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/subjects/__init__.py +1 -0
  61. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/tenant_profiles/__init__.py +1 -0
  62. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/threat/types.py +56 -0
  63. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/trip/__init__.py +1 -0
  64. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/users/__init__.py +1 -0
  65. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/users/queries.py +1 -2
  66. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/users/types.py +4 -0
  67. taegis_sdk_python-1.2.9/taegis_sdk_python/services/vdr/__init__.py +30 -0
  68. taegis_sdk_python-1.2.9/taegis_sdk_python/services/vdr/mutations.py +31 -0
  69. taegis_sdk_python-1.2.9/taegis_sdk_python/services/vdr/queries.py +74 -0
  70. taegis_sdk_python-1.2.9/taegis_sdk_python/services/vdr/subscriptions.py +31 -0
  71. taegis_sdk_python-1.2.9/taegis_sdk_python/services/vdr/types.py +444 -0
  72. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/tokens.py +1 -0
  73. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/utils.py +1 -0
  74. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9/taegis_sdk_python.egg-info}/PKG-INFO +1 -1
  75. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python.egg-info/SOURCES.txt +6 -1
  76. taegis_sdk_python-1.2.7/requirements-dev.txt +0 -2
  77. taegis_sdk_python-1.2.7/taegis_sdk_python/_version.py +0 -1
  78. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/LICENSE +0 -0
  79. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/MANIFEST.in +0 -0
  80. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/README.md +0 -0
  81. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/requirements-test.txt +0 -0
  82. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/requirements.txt +0 -0
  83. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/setup.cfg +0 -0
  84. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/_consts.py +0 -0
  85. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/authentication.py +0 -0
  86. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/config.py +0 -0
  87. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/access_points/mutations.py +0 -0
  88. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/access_points/queries.py +0 -0
  89. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/access_points/subscriptions.py +0 -0
  90. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/access_points/types.py +0 -0
  91. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/agent/__init__.py +0 -0
  92. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/agent/mutations.py +0 -0
  93. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/agent/queries.py +0 -0
  94. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/agent/subscriptions.py +0 -0
  95. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/agent/types.py +0 -0
  96. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/alerts/mutations.py +0 -0
  97. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/alerts/subscriptions.py +0 -0
  98. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/assets/mutations.py +0 -0
  99. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/assets/queries.py +0 -0
  100. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/assets/subscriptions.py +0 -0
  101. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/assets/types.py +0 -0
  102. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/assets2/queries.py +0 -0
  103. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/assets2/subscriptions.py +0 -0
  104. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/audits/mutations.py +0 -0
  105. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/audits/queries.py +0 -0
  106. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/audits/subscriptions.py +0 -0
  107. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/audits/types.py +0 -0
  108. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/authz/mutations.py +0 -0
  109. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/authz/queries.py +0 -0
  110. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/authz/subscriptions.py +0 -0
  111. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/authz/types.py +0 -0
  112. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/byoti/mutations.py +0 -0
  113. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/byoti/queries.py +0 -0
  114. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/byoti/subscriptions.py +0 -0
  115. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/byoti/types.py +0 -0
  116. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/clients/mutations.py +0 -0
  117. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/clients/queries.py +0 -0
  118. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/clients/subscriptions.py +0 -0
  119. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/clients/types.py +0 -0
  120. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/collector/mutations.py +0 -0
  121. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/collector/subscriptions.py +0 -0
  122. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/collector/types.py +0 -0
  123. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/comments/mutations.py +0 -0
  124. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/comments/queries.py +0 -0
  125. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/comments/subscriptions.py +0 -0
  126. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/comments/types.py +0 -0
  127. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/contracted_endpoint/__init__.py +0 -0
  128. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/contracted_endpoint/mutations.py +0 -0
  129. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/contracted_endpoint/queries.py +0 -0
  130. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/contracted_endpoint/subscriptions.py +0 -0
  131. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/contracted_endpoint/types.py +0 -0
  132. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/datasources/mutations.py +0 -0
  133. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/datasources/queries.py +0 -0
  134. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/datasources/subscriptions.py +0 -0
  135. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/datasources/types.py +0 -0
  136. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/detector_registry/mutations.py +0 -0
  137. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/detector_registry/queries.py +0 -0
  138. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/detector_registry/subscriptions.py +0 -0
  139. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/detector_registry/types.py +0 -0
  140. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/endpoint_command_manager/mutations.py +0 -0
  141. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/endpoint_command_manager/queries.py +0 -0
  142. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/endpoint_command_manager/subscriptions.py +0 -0
  143. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/endpoint_management_service/mutations.py +0 -0
  144. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/endpoint_management_service/queries.py +0 -0
  145. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/endpoint_management_service/subscriptions.py +0 -0
  146. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/event_search/mutations.py +0 -0
  147. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/event_search/queries.py +0 -0
  148. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/event_search/subscriptions.py +0 -0
  149. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/event_search/types.py +0 -0
  150. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/events/__init__.py +0 -0
  151. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/events/mutations.py +0 -0
  152. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/events/queries.py +0 -0
  153. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/events/subscriptions.py +0 -0
  154. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/exports/mutations.py +0 -0
  155. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/exports/queries.py +0 -0
  156. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/exports/subscriptions.py +0 -0
  157. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/exports/types.py +0 -0
  158. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/fast_ioc/mutations.py +0 -0
  159. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/fast_ioc/subscriptions.py +0 -0
  160. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/fast_ioc/types.py +0 -0
  161. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/file_info/__init__.py +0 -0
  162. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/file_info/mutations.py +0 -0
  163. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/file_info/queries.py +0 -0
  164. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/file_info/subscriptions.py +0 -0
  165. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/file_info/types.py +0 -0
  166. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/ingest_stats/__init__.py +0 -0
  167. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/ingest_stats/mutations.py +0 -0
  168. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/ingest_stats/queries.py +0 -0
  169. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/ingest_stats/subscriptions.py +0 -0
  170. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/ingest_stats/types.py +0 -0
  171. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/investigations/mutations.py +0 -0
  172. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/investigations/subscriptions.py +0 -0
  173. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/investigations/types.py +0 -0
  174. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/investigations2/subscriptions.py +0 -0
  175. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/mitre_attack_info/mutations.py +0 -0
  176. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/mitre_attack_info/queries.py +0 -0
  177. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/mitre_attack_info/subscriptions.py +0 -0
  178. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/mitre_attack_info/types.py +0 -0
  179. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/multi_tenant_context/mutations.py +0 -0
  180. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/multi_tenant_context/queries.py +0 -0
  181. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/multi_tenant_context/subscriptions.py +0 -0
  182. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/multi_tenant_context/types.py +0 -0
  183. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/multi_tenant_ioc/mutations.py +0 -0
  184. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/multi_tenant_ioc/subscriptions.py +0 -0
  185. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/multi_tenant_ioc/types.py +0 -0
  186. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/notebooks/queries.py +0 -0
  187. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/notebooks/subscriptions.py +0 -0
  188. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/notebooks/types.py +0 -0
  189. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/notifications/mutations.py +0 -0
  190. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/notifications/queries.py +0 -0
  191. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/notifications/subscriptions.py +0 -0
  192. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/notifications/types.py +0 -0
  193. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/preferences/queries.py +0 -0
  194. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/preferences/subscriptions.py +0 -0
  195. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/queries/__init__.py +0 -0
  196. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/roadrunner/mutations.py +0 -0
  197. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/roadrunner/queries.py +0 -0
  198. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/roadrunner/subscriptions.py +0 -0
  199. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/roadrunner/types.py +0 -0
  200. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/rules/queries.py +0 -0
  201. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/rules/subscriptions.py +0 -0
  202. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/sharelinks/mutations.py +0 -0
  203. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/sharelinks/queries.py +0 -0
  204. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/sharelinks/subscriptions.py +0 -0
  205. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/sharelinks/types.py +0 -0
  206. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/subjects/mutations.py +0 -0
  207. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/subjects/queries.py +0 -0
  208. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/subjects/subscriptions.py +0 -0
  209. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/subjects/types.py +0 -0
  210. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/tenant_profiles/mutations.py +0 -0
  211. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/tenant_profiles/queries.py +0 -0
  212. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/tenant_profiles/subscriptions.py +0 -0
  213. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/tenant_profiles/types.py +0 -0
  214. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/tenants/__init__.py +0 -0
  215. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/tenants/mutations.py +0 -0
  216. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/tenants/queries.py +0 -0
  217. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/tenants/subscriptions.py +0 -0
  218. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/tenants/types.py +0 -0
  219. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/threat/__init__.py +0 -0
  220. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/threat/mutations.py +0 -0
  221. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/threat/queries.py +0 -0
  222. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/threat/subscriptions.py +0 -0
  223. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/threat_score/__init__.py +0 -0
  224. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/threat_score/mutations.py +0 -0
  225. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/threat_score/queries.py +0 -0
  226. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/threat_score/subscriptions.py +0 -0
  227. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/threat_score/types.py +0 -0
  228. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/trip/mutations.py +0 -0
  229. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/trip/queries.py +0 -0
  230. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/trip/subscriptions.py +0 -0
  231. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/trip/types.py +0 -0
  232. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/users/mutations.py +0 -0
  233. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python/services/users/subscriptions.py +0 -0
  234. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python.egg-info/dependency_links.txt +0 -0
  235. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/taegis_sdk_python.egg-info/requires.txt +0 -0
  236. {taegis_sdk_python-1.2.7 → taegis_sdk_python-1.2.9}/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.9
4
4
  Summary: Taegis Python SDK
5
5
  Home-page: https://github.com/secureworks/taegis-sdk-python
6
6
  Author: Secureworks
@@ -0,0 +1,2 @@
1
+ pylint==3.2.3
2
+ black
@@ -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.9"
@@ -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:
@@ -1619,6 +1661,29 @@ class ResolutionMetadata:
1619
1661
  )
1620
1662
 
1621
1663
 
1664
+ @dataclass_json
1665
+ @dataclass(order=True, eq=True, frozen=True)
1666
+ class TuningUpdate:
1667
+ """TuningUpdate."""
1668
+
1669
+ id: Optional[str] = field(default=None, metadata=config(field_name="id"))
1670
+ field_name: Optional[str] = field(
1671
+ default=None, metadata=config(field_name="field_name")
1672
+ )
1673
+ severity_value: Optional[float] = field(
1674
+ default=None, metadata=config(field_name="severity_value")
1675
+ )
1676
+ suppressed_value: Optional[bool] = field(
1677
+ default=None, metadata=config(field_name="suppressed_value")
1678
+ )
1679
+ origin_value: Optional[Origin] = field(
1680
+ default=None, metadata=config(field_name="origin_value")
1681
+ )
1682
+ changed_at: Optional[Timestamp] = field(
1683
+ default=None, metadata=config(field_name="changed_at")
1684
+ )
1685
+
1686
+
1622
1687
  @dataclass_json
1623
1688
  @dataclass(order=True, eq=True, frozen=True)
1624
1689
  class AuthScanDetail:
@@ -2033,7 +2098,14 @@ class AlertsInvestigationInfo:
2033
2098
  default=None, metadata=config(field_name="alert_resource_id")
2034
2099
  )
2035
2100
  initial_access_vector_info: Optional[List[InitialAccessVectorInfo]] = field(
2036
- default=None, metadata=config(field_name="initial_access_vector_info")
2101
+ default=None,
2102
+ metadata=config(
2103
+ metadata={
2104
+ "deprecated": True,
2105
+ "deprecation_reason": "data no longer exists",
2106
+ },
2107
+ field_name="initial_access_vector_info",
2108
+ ),
2037
2109
  )
2038
2110
 
2039
2111
 
@@ -2090,7 +2162,14 @@ class BulkInvestigationsResponse:
2090
2162
  default=None, metadata=config(field_name="status")
2091
2163
  )
2092
2164
  access_vector_info: Optional[List[AlertsInvestigationInfo]] = field(
2093
- default=None, metadata=config(field_name="access_vector_info")
2165
+ default=None,
2166
+ metadata=config(
2167
+ metadata={
2168
+ "deprecated": True,
2169
+ "deprecation_reason": "data no longer exists",
2170
+ },
2171
+ field_name="access_vector_info",
2172
+ ),
2094
2173
  )
2095
2174
 
2096
2175
 
@@ -2111,7 +2190,14 @@ class UpdateInvestigationResponse:
2111
2190
  default=None, metadata=config(field_name="status")
2112
2191
  )
2113
2192
  access_vector_info: Optional[List[AlertsInvestigationInfo]] = field(
2114
- default=None, metadata=config(field_name="access_vector_info")
2193
+ default=None,
2194
+ metadata=config(
2195
+ metadata={
2196
+ "deprecated": True,
2197
+ "deprecation_reason": "data no longer exists",
2198
+ },
2199
+ field_name="access_vector_info",
2200
+ ),
2115
2201
  )
2116
2202
 
2117
2203
 
@@ -2238,7 +2324,14 @@ class Alert2:
2238
2324
  default=None, metadata=config(field_name="attack_technique_ids")
2239
2325
  )
2240
2326
  tenant_id: Optional[str] = field(
2241
- default=None, metadata=config(field_name="tenant_id")
2327
+ default=None,
2328
+ metadata=config(
2329
+ metadata={
2330
+ "deprecated": True,
2331
+ "deprecation_reason": "being replaced with Tenant field",
2332
+ },
2333
+ field_name="tenant_id",
2334
+ ),
2242
2335
  )
2243
2336
  parent_tenant_id: Optional[str] = field(
2244
2337
  default=None, metadata=config(field_name="parent_tenant_id")
@@ -2262,6 +2355,9 @@ class Alert2:
2262
2355
  visibility: Optional[Visibility] = field(
2263
2356
  default=None, metadata=config(field_name="visibility")
2264
2357
  )
2358
+ tenant: Optional[TenantV4] = field(
2359
+ default=None, metadata=config(field_name="tenant")
2360
+ )
2265
2361
  suppression_rules: Optional[List[AlertRuleReference]] = field(
2266
2362
  default=None, metadata=config(field_name="suppression_rules")
2267
2363
  )
@@ -2277,6 +2373,9 @@ class Alert2:
2277
2373
  severity_history: Optional[List[SeverityUpdate]] = field(
2278
2374
  default=None, metadata=config(field_name="severity_history")
2279
2375
  )
2376
+ tuning_history: Optional[List[TuningUpdate]] = field(
2377
+ default=None, metadata=config(field_name="tuning_history")
2378
+ )
2280
2379
  entities: Optional[EntityRelationships] = field(
2281
2380
  default=None, metadata=config(field_name="entities")
2282
2381
  )
@@ -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(
@@ -197,7 +195,7 @@ class TaegisSDKAssets2Mutation:
197
195
  def bulk_reconnect_native_assets(
198
196
  self, input_: BulkReconnectNativeAssetsInput
199
197
  ) -> BulkOpPayloadV2:
200
- """None."""
198
+ """Start a job to reconnect taegis endpoints matching the filter criteria in the input.."""
201
199
  endpoint = "bulkReconnectNativeAssets"
202
200
 
203
201
  result = self.service.execute_mutation(
@@ -214,7 +212,7 @@ class TaegisSDKAssets2Mutation:
214
212
  def bulk_uninstall_native_assets(
215
213
  self, input_: BulkUninstallNativeAssetsInput
216
214
  ) -> BulkOpPayloadV2:
217
- """None."""
215
+ """Start a job to uninstall taegis endpoints matching the filter criteria in the input.."""
218
216
  endpoint = "bulkUninstallNativeAssets"
219
217
 
220
218
  result = self.service.execute_mutation(