taegis-sdk-python 1.2.8__tar.gz → 1.2.10__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 (241) hide show
  1. {taegis_sdk_python-1.2.8/taegis_sdk_python.egg-info → taegis_sdk_python-1.2.10}/PKG-INFO +1 -1
  2. taegis_sdk_python-1.2.10/requirements-dev.txt +2 -0
  3. taegis_sdk_python-1.2.10/taegis_sdk_python/_version.py +1 -0
  4. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/__init__.py +9 -0
  5. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/alerts/types.py +26 -0
  6. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/assets2/mutations.py +2 -2
  7. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/assets2/types.py +56 -2
  8. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/clients/mutations.py +17 -1
  9. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/clients/types.py +1 -0
  10. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/endpoint_command_manager/types.py +3 -0
  11. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/event_search/types.py +15 -9
  12. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/events/queries.py +0 -19
  13. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/events/types.py +3 -0
  14. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/preferences/mutations.py +22 -0
  15. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/preferences/types.py +21 -6
  16. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/tenants/__init__.py +1 -1
  17. taegis_sdk_python-1.2.10/taegis_sdk_python/services/tenants4/__init__.py +38 -0
  18. taegis_sdk_python-1.2.10/taegis_sdk_python/services/tenants4/mutations.py +31 -0
  19. taegis_sdk_python-1.2.10/taegis_sdk_python/services/tenants4/queries.py +70 -0
  20. taegis_sdk_python-1.2.10/taegis_sdk_python/services/tenants4/subscriptions.py +31 -0
  21. taegis_sdk_python-1.2.10/taegis_sdk_python/services/tenants4/types.py +269 -0
  22. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/threat/types.py +58 -0
  23. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10/taegis_sdk_python.egg-info}/PKG-INFO +1 -1
  24. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python.egg-info/SOURCES.txt +5 -0
  25. taegis_sdk_python-1.2.8/requirements-dev.txt +0 -2
  26. taegis_sdk_python-1.2.8/taegis_sdk_python/_version.py +0 -1
  27. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/LICENSE +0 -0
  28. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/MANIFEST.in +0 -0
  29. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/README.md +0 -0
  30. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/requirements-test.txt +0 -0
  31. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/requirements.txt +0 -0
  32. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/setup.cfg +0 -0
  33. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/setup.py +0 -0
  34. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/__init__.py +0 -0
  35. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/_consts.py +0 -0
  36. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/authentication.py +0 -0
  37. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/config.py +0 -0
  38. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/errors.py +0 -0
  39. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/service_core.py +0 -0
  40. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/access_points/__init__.py +0 -0
  41. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/access_points/mutations.py +0 -0
  42. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/access_points/queries.py +0 -0
  43. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/access_points/subscriptions.py +0 -0
  44. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/access_points/types.py +0 -0
  45. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/agent/__init__.py +0 -0
  46. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/agent/mutations.py +0 -0
  47. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/agent/queries.py +0 -0
  48. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/agent/subscriptions.py +0 -0
  49. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/agent/types.py +0 -0
  50. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/alerts/__init__.py +0 -0
  51. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/alerts/mutations.py +0 -0
  52. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/alerts/queries.py +0 -0
  53. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/alerts/subscriptions.py +0 -0
  54. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/assets/__init__.py +0 -0
  55. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/assets/mutations.py +0 -0
  56. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/assets/queries.py +0 -0
  57. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/assets/subscriptions.py +0 -0
  58. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/assets/types.py +0 -0
  59. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/assets2/__init__.py +0 -0
  60. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/assets2/queries.py +0 -0
  61. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/assets2/subscriptions.py +0 -0
  62. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/audits/__init__.py +0 -0
  63. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/audits/mutations.py +0 -0
  64. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/audits/queries.py +0 -0
  65. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/audits/subscriptions.py +0 -0
  66. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/audits/types.py +0 -0
  67. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/authz/__init__.py +0 -0
  68. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/authz/mutations.py +0 -0
  69. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/authz/queries.py +0 -0
  70. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/authz/subscriptions.py +0 -0
  71. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/authz/types.py +0 -0
  72. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/byoti/__init__.py +0 -0
  73. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/byoti/mutations.py +0 -0
  74. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/byoti/queries.py +0 -0
  75. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/byoti/subscriptions.py +0 -0
  76. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/byoti/types.py +0 -0
  77. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/clients/__init__.py +0 -0
  78. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/clients/queries.py +0 -0
  79. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/clients/subscriptions.py +0 -0
  80. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/collector/__init__.py +0 -0
  81. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/collector/mutations.py +0 -0
  82. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/collector/queries.py +0 -0
  83. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/collector/subscriptions.py +0 -0
  84. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/collector/types.py +0 -0
  85. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/comments/__init__.py +0 -0
  86. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/comments/mutations.py +0 -0
  87. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/comments/queries.py +0 -0
  88. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/comments/subscriptions.py +0 -0
  89. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/comments/types.py +0 -0
  90. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/contracted_endpoint/__init__.py +0 -0
  91. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/contracted_endpoint/mutations.py +0 -0
  92. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/contracted_endpoint/queries.py +0 -0
  93. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/contracted_endpoint/subscriptions.py +0 -0
  94. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/contracted_endpoint/types.py +0 -0
  95. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/datasources/__init__.py +0 -0
  96. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/datasources/mutations.py +0 -0
  97. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/datasources/queries.py +0 -0
  98. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/datasources/subscriptions.py +0 -0
  99. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/datasources/types.py +0 -0
  100. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/detector_registry/__init__.py +0 -0
  101. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/detector_registry/mutations.py +0 -0
  102. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/detector_registry/queries.py +0 -0
  103. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/detector_registry/subscriptions.py +0 -0
  104. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/detector_registry/types.py +0 -0
  105. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/endpoint_command_manager/__init__.py +0 -0
  106. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/endpoint_command_manager/mutations.py +0 -0
  107. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/endpoint_command_manager/queries.py +0 -0
  108. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/endpoint_command_manager/subscriptions.py +0 -0
  109. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/endpoint_management_service/__init__.py +0 -0
  110. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/endpoint_management_service/mutations.py +0 -0
  111. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/endpoint_management_service/queries.py +0 -0
  112. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/endpoint_management_service/subscriptions.py +0 -0
  113. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/endpoint_management_service/types.py +0 -0
  114. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/event_search/__init__.py +0 -0
  115. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/event_search/mutations.py +0 -0
  116. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/event_search/queries.py +0 -0
  117. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/event_search/subscriptions.py +0 -0
  118. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/events/__init__.py +0 -0
  119. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/events/mutations.py +0 -0
  120. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/events/subscriptions.py +0 -0
  121. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/exports/__init__.py +0 -0
  122. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/exports/mutations.py +0 -0
  123. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/exports/queries.py +0 -0
  124. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/exports/subscriptions.py +0 -0
  125. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/exports/types.py +0 -0
  126. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/fast_ioc/__init__.py +0 -0
  127. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/fast_ioc/mutations.py +0 -0
  128. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/fast_ioc/queries.py +0 -0
  129. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/fast_ioc/subscriptions.py +0 -0
  130. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/fast_ioc/types.py +0 -0
  131. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/file_info/__init__.py +0 -0
  132. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/file_info/mutations.py +0 -0
  133. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/file_info/queries.py +0 -0
  134. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/file_info/subscriptions.py +0 -0
  135. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/file_info/types.py +0 -0
  136. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/ingest_stats/__init__.py +0 -0
  137. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/ingest_stats/mutations.py +0 -0
  138. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/ingest_stats/queries.py +0 -0
  139. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/ingest_stats/subscriptions.py +0 -0
  140. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/ingest_stats/types.py +0 -0
  141. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/investigations/__init__.py +0 -0
  142. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/investigations/mutations.py +0 -0
  143. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/investigations/queries.py +0 -0
  144. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/investigations/subscriptions.py +0 -0
  145. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/investigations/types.py +0 -0
  146. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/investigations2/__init__.py +0 -0
  147. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/investigations2/mutations.py +0 -0
  148. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/investigations2/queries.py +0 -0
  149. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/investigations2/subscriptions.py +0 -0
  150. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/investigations2/types.py +0 -0
  151. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/mitre_attack_info/__init__.py +0 -0
  152. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/mitre_attack_info/mutations.py +0 -0
  153. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/mitre_attack_info/queries.py +0 -0
  154. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/mitre_attack_info/subscriptions.py +0 -0
  155. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/mitre_attack_info/types.py +0 -0
  156. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/multi_tenant_context/__init__.py +0 -0
  157. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/multi_tenant_context/mutations.py +0 -0
  158. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/multi_tenant_context/queries.py +0 -0
  159. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/multi_tenant_context/subscriptions.py +0 -0
  160. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/multi_tenant_context/types.py +0 -0
  161. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/multi_tenant_ioc/__init__.py +0 -0
  162. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/multi_tenant_ioc/mutations.py +0 -0
  163. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/multi_tenant_ioc/queries.py +0 -0
  164. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/multi_tenant_ioc/subscriptions.py +0 -0
  165. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/multi_tenant_ioc/types.py +0 -0
  166. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/notebooks/__init__.py +0 -0
  167. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/notebooks/mutations.py +0 -0
  168. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/notebooks/queries.py +0 -0
  169. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/notebooks/subscriptions.py +0 -0
  170. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/notebooks/types.py +0 -0
  171. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/notifications/__init__.py +0 -0
  172. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/notifications/mutations.py +0 -0
  173. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/notifications/queries.py +0 -0
  174. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/notifications/subscriptions.py +0 -0
  175. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/notifications/types.py +0 -0
  176. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/preferences/__init__.py +0 -0
  177. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/preferences/queries.py +0 -0
  178. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/preferences/subscriptions.py +0 -0
  179. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/queries/__init__.py +0 -0
  180. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/queries/mutations.py +0 -0
  181. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/queries/queries.py +0 -0
  182. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/queries/subscriptions.py +0 -0
  183. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/queries/types.py +0 -0
  184. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/roadrunner/__init__.py +0 -0
  185. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/roadrunner/mutations.py +0 -0
  186. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/roadrunner/queries.py +0 -0
  187. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/roadrunner/subscriptions.py +0 -0
  188. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/roadrunner/types.py +0 -0
  189. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/rules/__init__.py +0 -0
  190. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/rules/mutations.py +0 -0
  191. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/rules/queries.py +0 -0
  192. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/rules/subscriptions.py +0 -0
  193. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/rules/types.py +0 -0
  194. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/sharelinks/__init__.py +0 -0
  195. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/sharelinks/mutations.py +0 -0
  196. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/sharelinks/queries.py +0 -0
  197. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/sharelinks/subscriptions.py +0 -0
  198. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/sharelinks/types.py +0 -0
  199. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/subjects/__init__.py +0 -0
  200. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/subjects/mutations.py +0 -0
  201. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/subjects/queries.py +0 -0
  202. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/subjects/subscriptions.py +0 -0
  203. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/subjects/types.py +0 -0
  204. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/tenant_profiles/__init__.py +0 -0
  205. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/tenant_profiles/mutations.py +0 -0
  206. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/tenant_profiles/queries.py +0 -0
  207. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/tenant_profiles/subscriptions.py +0 -0
  208. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/tenant_profiles/types.py +0 -0
  209. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/tenants/mutations.py +0 -0
  210. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/tenants/queries.py +0 -0
  211. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/tenants/subscriptions.py +0 -0
  212. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/tenants/types.py +0 -0
  213. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/threat/__init__.py +0 -0
  214. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/threat/mutations.py +0 -0
  215. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/threat/queries.py +0 -0
  216. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/threat/subscriptions.py +0 -0
  217. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/threat_score/__init__.py +0 -0
  218. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/threat_score/mutations.py +0 -0
  219. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/threat_score/queries.py +0 -0
  220. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/threat_score/subscriptions.py +0 -0
  221. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/threat_score/types.py +0 -0
  222. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/trip/__init__.py +0 -0
  223. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/trip/mutations.py +0 -0
  224. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/trip/queries.py +0 -0
  225. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/trip/subscriptions.py +0 -0
  226. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/trip/types.py +0 -0
  227. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/users/__init__.py +0 -0
  228. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/users/mutations.py +0 -0
  229. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/users/queries.py +0 -0
  230. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/users/subscriptions.py +0 -0
  231. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/users/types.py +0 -0
  232. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/vdr/__init__.py +0 -0
  233. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/vdr/mutations.py +0 -0
  234. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/vdr/queries.py +0 -0
  235. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/vdr/subscriptions.py +0 -0
  236. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/vdr/types.py +0 -0
  237. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/tokens.py +0 -0
  238. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python/utils.py +0 -0
  239. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python.egg-info/dependency_links.txt +0 -0
  240. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/taegis_sdk_python.egg-info/requires.txt +0 -0
  241. {taegis_sdk_python-1.2.8 → taegis_sdk_python-1.2.10}/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.8
3
+ Version: 1.2.10
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
@@ -0,0 +1 @@
1
+ __version__ = "v1.2.10"
@@ -51,6 +51,7 @@ from taegis_sdk_python.services.sharelinks import SharelinksService
51
51
  from taegis_sdk_python.services.subjects import SubjectsService
52
52
  from taegis_sdk_python.services.tenant_profiles import TenantProfilesService
53
53
  from taegis_sdk_python.services.tenants import TenantsService
54
+ from taegis_sdk_python.services.tenants4 import Tenants4Service
54
55
  from taegis_sdk_python.services.threat import ThreatService
55
56
  from taegis_sdk_python.services.threat_score import ThreatScoreService
56
57
  from taegis_sdk_python.services.trip import TripService
@@ -151,6 +152,7 @@ class GraphQLService:
151
152
  self._subjects = None
152
153
  self._tenant_profiles = None
153
154
  self._tenants = None
155
+ self._tenants4 = None
154
156
  self._threat = None
155
157
  self._threat_score = None
156
158
  self._trip = None
@@ -534,6 +536,13 @@ class GraphQLService:
534
536
  self._tenants = TenantsService(self)
535
537
  return self._tenants
536
538
 
539
+ @property
540
+ def tenants4(self):
541
+ """Tenants Service Endpoint."""
542
+ if not self._tenants4:
543
+ self._tenants4 = Tenants4Service(self)
544
+ return self._tenants4
545
+
537
546
  @property
538
547
  def threat(self):
539
548
  """Threat Service Endpoint."""
@@ -1661,6 +1661,29 @@ class ResolutionMetadata:
1661
1661
  )
1662
1662
 
1663
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
+
1664
1687
  @dataclass_json
1665
1688
  @dataclass(order=True, eq=True, frozen=True)
1666
1689
  class AuthScanDetail:
@@ -2350,6 +2373,9 @@ class Alert2:
2350
2373
  severity_history: Optional[List[SeverityUpdate]] = field(
2351
2374
  default=None, metadata=config(field_name="severity_history")
2352
2375
  )
2376
+ tuning_history: Optional[List[TuningUpdate]] = field(
2377
+ default=None, metadata=config(field_name="tuning_history")
2378
+ )
2353
2379
  entities: Optional[EntityRelationships] = field(
2354
2380
  default=None, metadata=config(field_name="entities")
2355
2381
  )
@@ -195,7 +195,7 @@ class TaegisSDKAssets2Mutation:
195
195
  def bulk_reconnect_native_assets(
196
196
  self, input_: BulkReconnectNativeAssetsInput
197
197
  ) -> BulkOpPayloadV2:
198
- """None."""
198
+ """Start a job to reconnect taegis endpoints matching the filter criteria in the input.."""
199
199
  endpoint = "bulkReconnectNativeAssets"
200
200
 
201
201
  result = self.service.execute_mutation(
@@ -212,7 +212,7 @@ class TaegisSDKAssets2Mutation:
212
212
  def bulk_uninstall_native_assets(
213
213
  self, input_: BulkUninstallNativeAssetsInput
214
214
  ) -> BulkOpPayloadV2:
215
- """None."""
215
+ """Start a job to uninstall taegis endpoints matching the filter criteria in the input.."""
216
216
  endpoint = "bulkUninstallNativeAssets"
217
217
 
218
218
  result = self.service.execute_mutation(
@@ -150,6 +150,40 @@ class BulkOpStatusV2(str, Enum):
150
150
  TASK_STATE_IN_PROGRESS = "TASK_STATE_IN_PROGRESS"
151
151
 
152
152
 
153
+ @dataclass_json
154
+ @dataclass(order=True, eq=True, frozen=True)
155
+ class ConnectionDetails:
156
+ """ConnectionDetails."""
157
+
158
+ connection_status: Optional[str] = field(
159
+ default=None, metadata=config(field_name="connectionStatus")
160
+ )
161
+ updated_at: Optional[str] = field(
162
+ default=None, metadata=config(field_name="updatedAt")
163
+ )
164
+ last_connected_ts: Optional[str] = field(
165
+ default=None, metadata=config(field_name="lastConnectedTS")
166
+ )
167
+ last_disconnected_ts: Optional[str] = field(
168
+ default=None, metadata=config(field_name="lastDisconnectedTS")
169
+ )
170
+ last_disconnect_reason: Optional[str] = field(
171
+ default=None, metadata=config(field_name="lastDisconnectReason")
172
+ )
173
+ last_seen_at: Optional[str] = field(
174
+ default=None, metadata=config(field_name="lastSeenAt")
175
+ )
176
+ using_ssl: Optional[bool] = field(
177
+ default=None, metadata=config(field_name="usingSSL")
178
+ )
179
+ remote_ip: Optional[str] = field(
180
+ default=None, metadata=config(field_name="remoteIP")
181
+ )
182
+ remote_port: Optional[int] = field(
183
+ default=None, metadata=config(field_name="remotePort")
184
+ )
185
+
186
+
153
187
  @dataclass_json
154
188
  @dataclass(order=True, eq=True, frozen=True)
155
189
  class FileAnalysis:
@@ -1199,7 +1233,14 @@ class AssetV2:
1199
1233
  default=None, metadata=config(field_name="deletedAt")
1200
1234
  )
1201
1235
  last_seen_at: Optional[str] = field(
1202
- default=None, metadata=config(field_name="lastSeenAt")
1236
+ default=None,
1237
+ metadata=config(
1238
+ metadata={
1239
+ "deprecated": True,
1240
+ "deprecation_reason": "use connectionDetails.LastSeenAt",
1241
+ },
1242
+ field_name="lastSeenAt",
1243
+ ),
1203
1244
  )
1204
1245
  bios_serial: Optional[str] = field(
1205
1246
  default=None, metadata=config(field_name="biosSerial")
@@ -1250,7 +1291,14 @@ class AssetV2:
1250
1291
  default=None, metadata=config(field_name="kernelVersion")
1251
1292
  )
1252
1293
  connection_status: Optional[str] = field(
1253
- default=None, metadata=config(field_name="connectionStatus")
1294
+ default=None,
1295
+ metadata=config(
1296
+ metadata={
1297
+ "deprecated": True,
1298
+ "deprecation_reason": "use connectionDetails.connectionStatus",
1299
+ },
1300
+ field_name="connectionStatus",
1301
+ ),
1254
1302
  )
1255
1303
  isolation_status: Optional[str] = field(
1256
1304
  default=None, metadata=config(field_name="isolationStatus")
@@ -1266,6 +1314,9 @@ class AssetV2:
1266
1314
  default=None, metadata=config(field_name="cloudInstanceId")
1267
1315
  )
1268
1316
  status: Optional[str] = field(default=None, metadata=config(field_name="status"))
1317
+ un_installable: Optional[bool] = field(
1318
+ default=None, metadata=config(field_name="unInstallable")
1319
+ )
1269
1320
  hostnames: Optional[List[HostnameV2]] = field(
1270
1321
  default=None, metadata=config(field_name="hostnames")
1271
1322
  )
@@ -1293,6 +1344,9 @@ class AssetV2:
1293
1344
  agent_settings: Optional[AgentSettings] = field(
1294
1345
  default=None, metadata=config(field_name="agentSettings")
1295
1346
  )
1347
+ connection_details: Optional[ConnectionDetails] = field(
1348
+ default=None, metadata=config(field_name="connectionDetails")
1349
+ )
1296
1350
 
1297
1351
 
1298
1352
  @dataclass_json
@@ -46,7 +46,7 @@ class TaegisSDKClientsMutation:
46
46
  return NewClient.from_dict(result.get(endpoint))
47
47
  raise GraphQLNoRowsInResultSetError("for mutation createClient")
48
48
 
49
- def rotate_client_secret(self, id_: str) -> NewClient:
49
+ def rotate_client_secret(self, id_: str, secret: Optional[str] = None) -> NewClient:
50
50
  """Generate a new secret for an existing client."""
51
51
  endpoint = "rotateClientSecret"
52
52
 
@@ -54,6 +54,7 @@ class TaegisSDKClientsMutation:
54
54
  endpoint=endpoint,
55
55
  variables={
56
56
  "id": prepare_input(id_),
57
+ "secret": prepare_input(secret),
57
58
  },
58
59
  output=build_output_string(NewClient),
59
60
  )
@@ -61,6 +62,21 @@ class TaegisSDKClientsMutation:
61
62
  return NewClient.from_dict(result.get(endpoint))
62
63
  raise GraphQLNoRowsInResultSetError("for mutation rotateClientSecret")
63
64
 
65
+ def force_rotate_client_secret(self, id_: str) -> NewClient:
66
+ """Force rotate a new secret for an existing client.."""
67
+ endpoint = "forceRotateClientSecret"
68
+
69
+ result = self.service.execute_mutation(
70
+ endpoint=endpoint,
71
+ variables={
72
+ "id": prepare_input(id_),
73
+ },
74
+ output=build_output_string(NewClient),
75
+ )
76
+ if result.get(endpoint) is not None:
77
+ return NewClient.from_dict(result.get(endpoint))
78
+ raise GraphQLNoRowsInResultSetError("for mutation forceRotateClientSecret")
79
+
64
80
  def append_client_roles(
65
81
  self, id_: str, roles: List[ClientRoleAssignmentInput]
66
82
  ) -> Client:
@@ -199,6 +199,7 @@ class Client:
199
199
  token_request_count: Optional[int] = field(
200
200
  default=None, metadata=config(field_name="tokenRequestCount")
201
201
  )
202
+ enabled: Optional[bool] = field(default=None, metadata=config(field_name="enabled"))
202
203
  role_assignments: Optional[List[ClientRoleAssignment]] = field(
203
204
  default=None,
204
205
  metadata=config(
@@ -53,6 +53,9 @@ class Result:
53
53
 
54
54
  success: Optional[bool] = field(default=None, metadata=config(field_name="Success"))
55
55
  reason: Optional[str] = field(default=None, metadata=config(field_name="Reason"))
56
+ request_id: Optional[str] = field(
57
+ default=None, metadata=config(field_name="requestID")
58
+ )
56
59
 
57
60
 
58
61
  @dataclass_json
@@ -33,7 +33,20 @@ class AuxiliaryEventsByIDOptions:
33
33
  """AuxiliaryEventsByIDOptions."""
34
34
 
35
35
  search_events_api_first: Optional[bool] = field(
36
- default=None, metadata=config(field_name="searchEventsAPIFirst")
36
+ default=None,
37
+ metadata=config(
38
+ metadata={
39
+ "deprecated": True,
40
+ "deprecation_reason": "Events-API is now used automatically when needed, so the searchEventsAPIFirst option is no longer used.",
41
+ },
42
+ field_name="searchEventsAPIFirst",
43
+ ),
44
+ )
45
+ fields: Optional[List[str]] = field(
46
+ default=None, metadata=config(field_name="fields")
47
+ )
48
+ skip_events_api_fallback: Optional[bool] = field(
49
+ default=None, metadata=config(field_name="skipEventsAPIFallback")
37
50
  )
38
51
 
39
52
 
@@ -69,14 +82,7 @@ class GetEventByIDRequestInput:
69
82
  ids: Optional[List[str]] = field(default=None, metadata=config(field_name="ids"))
70
83
  alert_id: Optional[str] = field(default=None, metadata=config(field_name="alertId"))
71
84
  options: Optional[AuxiliaryEventsByIDOptions] = field(
72
- default=None,
73
- metadata=config(
74
- metadata={
75
- "deprecated": True,
76
- "deprecation_reason": "Events-API is now used automatically when needed, so the searchEventsAPIFirst option is no longer used.",
77
- },
78
- field_name="options",
79
- ),
85
+ default=None, metadata=config(field_name="options")
80
86
  )
81
87
 
82
88
 
@@ -64,22 +64,3 @@ class TaegisSDKEventsQuery:
64
64
  if result.get(endpoint) is not None:
65
65
  return EventQuery.from_dict(result.get(endpoint))
66
66
  raise GraphQLNoRowsInResultSetError("for query eventQuery")
67
-
68
- def event_queries(
69
- self, metadata: Optional[Dict[str, Any]] = None
70
- ) -> List[EventQuery]:
71
- """Provide a catalog of cached queries.."""
72
- endpoint = "eventQueries"
73
-
74
- result = self.service.execute_query(
75
- endpoint=endpoint,
76
- variables={
77
- "metadata": prepare_input(metadata),
78
- },
79
- output=build_output_string(EventQuery),
80
- )
81
- if result.get(endpoint) is not None:
82
- return EventQuery.schema().load(
83
- [r or {} for r in result.get(endpoint)], many=True
84
- )
85
- raise GraphQLNoRowsInResultSetError("for query eventQueries")
@@ -228,6 +228,9 @@ class EventQueryOptions:
228
228
  field_name="saveToCache",
229
229
  ),
230
230
  )
231
+ default_include_original_data: Optional[bool] = field(
232
+ default=None, metadata=config(field_name="defaultIncludeOriginalData")
233
+ )
231
234
  search_target: Optional[SearchTarget] = field(
232
235
  default=None,
233
236
  metadata=config(
@@ -193,3 +193,25 @@ class TaegisSDKPreferencesMutation:
193
193
  if result.get(endpoint) is not None:
194
194
  return UserPreferenceDictionary.from_dict(result.get(endpoint))
195
195
  raise GraphQLNoRowsInResultSetError("for mutation unsetUserPreferences")
196
+
197
+ def update_user_notification_preference(
198
+ self,
199
+ update_user_notification_preference_input: UpdateUserNotificationPreferenceInput,
200
+ ) -> UserNotificationPreferencesResponse:
201
+ """None."""
202
+ endpoint = "updateUserNotificationPreference"
203
+
204
+ result = self.service.execute_mutation(
205
+ endpoint=endpoint,
206
+ variables={
207
+ "updateUserNotificationPreferenceInput": prepare_input(
208
+ update_user_notification_preference_input
209
+ ),
210
+ },
211
+ output=build_output_string(UserNotificationPreferencesResponse),
212
+ )
213
+ if result.get(endpoint) is not None:
214
+ return UserNotificationPreferencesResponse.from_dict(result.get(endpoint))
215
+ raise GraphQLNoRowsInResultSetError(
216
+ "for mutation updateUserNotificationPreference"
217
+ )
@@ -24,12 +24,13 @@ class PreferencesAuthzObject(str, Enum):
24
24
  class PreferencesAuthzAction(str, Enum):
25
25
  """PreferencesAuthzAction."""
26
26
 
27
- CREATE = "Create"
28
- READ = "Read"
29
- UPDATE = "Update"
30
- DELETE = "Delete"
31
- LIST_ALL = "ListAll"
32
- READ_ADMIN = "ReadAdmin"
27
+ CREATE = "create"
28
+ READ = "read"
29
+ UPDATE = "update"
30
+ DELETE = "delete"
31
+ LIST_ALL = "listAll"
32
+ READ_ADMIN = "readAdmin"
33
+ UPDATE_ADMIN = "updateAdmin"
33
34
 
34
35
 
35
36
  class TicketingType(str, Enum):
@@ -282,6 +283,20 @@ class GetPreferenceSelector:
282
283
  sub_key: Optional[str] = field(default=None, metadata=config(field_name="subKey"))
283
284
 
284
285
 
286
+ @dataclass_json
287
+ @dataclass(order=True, eq=True, frozen=True)
288
+ class UpdateUserNotificationPreferenceInput:
289
+ """UpdateUserNotificationPreferenceInput."""
290
+
291
+ user_email: Optional[str] = field(
292
+ default=None, metadata=config(field_name="userEmail")
293
+ )
294
+ global_: Optional[bool] = field(default=None, metadata=config(field_name="global"))
295
+ preferences: Optional[List[UserPreferenceItemInput]] = field(
296
+ default=None, metadata=config(field_name="preferences")
297
+ )
298
+
299
+
285
300
  @dataclass_json
286
301
  @dataclass(order=True, eq=True, frozen=True)
287
302
  class UserPreference:
@@ -1,4 +1,4 @@
1
- """"Investigations Service."""
1
+ """"Tenants Service."""
2
2
 
3
3
  from __future__ import annotations
4
4
 
@@ -0,0 +1,38 @@
1
+ """"TenantsV4 Service."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import TYPE_CHECKING
6
+
7
+ from taegis_sdk_python._consts import TAEGIS_TENANTS_URLS
8
+ from taegis_sdk_python.service_core import ServiceCore
9
+ from taegis_sdk_python.services.tenants4.mutations import TaegisSDKTenants4Mutation
10
+ from taegis_sdk_python.services.tenants4.queries import TaegisSDKTenants4Query
11
+ from taegis_sdk_python.services.tenants4.subscriptions import (
12
+ TaegisSDKTenants4Subscription,
13
+ )
14
+
15
+ if TYPE_CHECKING: # pragma: no cover
16
+ from taegis_sdk_python.services import GraphQLService
17
+
18
+
19
+ class Tenants4Service(ServiceCore):
20
+ """Taegis Tenants4 Service."""
21
+
22
+ @property
23
+ def query(self):
24
+ if not self._queries:
25
+ self._queries = TaegisSDKTenants4Query(self)
26
+ return self._queries
27
+
28
+ @property
29
+ def mutation(self):
30
+ if not self._mutations:
31
+ self._mutations = TaegisSDKTenants4Mutation(self)
32
+ return self._mutations
33
+
34
+ @property
35
+ def subscription(self):
36
+ if not self._subscriptions:
37
+ self._subscriptions = TaegisSDKTenants4Subscription(self)
38
+ return self._subscriptions
@@ -0,0 +1,31 @@
1
+ """Tenants4 Mutation."""
2
+ # pylint: disable=no-member, unused-argument, too-many-locals, duplicate-code, wildcard-import, unused-wildcard-import, cyclic-import
3
+
4
+
5
+ # Autogenerated
6
+ # DO NOT MODIFY
7
+
8
+ from __future__ import annotations
9
+
10
+ import logging
11
+ from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union
12
+
13
+ from taegis_sdk_python import GraphQLNoRowsInResultSetError
14
+ from taegis_sdk_python.utils import (
15
+ build_output_string,
16
+ parse_union_result,
17
+ prepare_input,
18
+ )
19
+ from taegis_sdk_python.services.tenants4.types import *
20
+
21
+ if TYPE_CHECKING: # pragma: no cover
22
+ from taegis_sdk_python.services.tenants4 import Tenants4Service
23
+
24
+ log = logging.getLogger(__name__)
25
+
26
+
27
+ class TaegisSDKTenants4Mutation:
28
+ """Taegis Tenants4 Mutation operations."""
29
+
30
+ def __init__(self, service: Tenants4Service):
31
+ self.service = service
@@ -0,0 +1,70 @@
1
+ """Tenants4 Query."""
2
+ # pylint: disable=no-member, unused-argument, too-many-locals, duplicate-code, wildcard-import, unused-wildcard-import, cyclic-import
3
+
4
+
5
+ # Autogenerated
6
+ # DO NOT MODIFY
7
+
8
+ from __future__ import annotations
9
+
10
+ import logging
11
+ from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union
12
+
13
+ from taegis_sdk_python import GraphQLNoRowsInResultSetError
14
+ from taegis_sdk_python.utils import (
15
+ build_output_string,
16
+ parse_union_result,
17
+ prepare_input,
18
+ )
19
+ from taegis_sdk_python.services.tenants4.types import *
20
+
21
+ if TYPE_CHECKING: # pragma: no cover
22
+ from taegis_sdk_python.services.tenants4 import Tenants4Service
23
+
24
+ log = logging.getLogger(__name__)
25
+
26
+
27
+ class TaegisSDKTenants4Query:
28
+ """Taegis Tenants4 Query operations."""
29
+
30
+ def __init__(self, service: Tenants4Service):
31
+ self.service = service
32
+
33
+ def tenants(self, tenants_query: TenantsQuery) -> TenantResults:
34
+ """Allows to query tenants using various filters, if running on a public endpoint, this results will be filtered to show only tenants that the subject has access to."""
35
+ endpoint = "tenants"
36
+
37
+ result = self.service.execute_query(
38
+ endpoint=endpoint,
39
+ variables={
40
+ "tenantsQuery": prepare_input(tenants_query),
41
+ },
42
+ output=build_output_string(TenantResults),
43
+ )
44
+ if result.get(endpoint) is not None:
45
+ return TenantResults.from_dict(result.get(endpoint))
46
+ raise GraphQLNoRowsInResultSetError("for query tenants")
47
+
48
+ def tenant(self, id_: str) -> TenantV4:
49
+ """Retrieves a single tenant, tenant won't be returned if the subject does not have access to it (and requesting on an endpoint with authorization enabled)."""
50
+ endpoint = "tenant"
51
+
52
+ result = self.service.execute_query(
53
+ endpoint=endpoint,
54
+ variables={
55
+ "id": prepare_input(id_),
56
+ },
57
+ output=build_output_string(TenantV4),
58
+ )
59
+ if result.get(endpoint) is not None:
60
+ return TenantV4.from_dict(result.get(endpoint))
61
+ raise GraphQLNoRowsInResultSetError("for query tenant")
62
+
63
+ def available_regions(self) -> List[TenantRegion]:
64
+ """Returns the regions where the tenant in XTC can be enabled at (excluding any regions currently enabled at), If a partner tenant id is provided in XTC, this returns the regions where the partner can enable children at. If more than one tenant is provided in XTC, then only the first one will be provided. If no XTC is provided, error will be returned."""
65
+ endpoint = "availableRegions"
66
+
67
+ result = self.service.execute_query(endpoint=endpoint, variables={}, output="")
68
+ if result.get(endpoint) is not None:
69
+ return [TenantRegion(r) for r in result.get(endpoint)]
70
+ raise GraphQLNoRowsInResultSetError("for query availableRegions")
@@ -0,0 +1,31 @@
1
+ """Tenants4 Subscription."""
2
+ # pylint: disable=no-member, unused-argument, too-many-locals, duplicate-code, wildcard-import, unused-wildcard-import, cyclic-import
3
+
4
+
5
+ # Autogenerated
6
+ # DO NOT MODIFY
7
+
8
+ from __future__ import annotations
9
+
10
+ import logging
11
+ from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union
12
+
13
+ from taegis_sdk_python import GraphQLNoRowsInResultSetError
14
+ from taegis_sdk_python.utils import (
15
+ build_output_string,
16
+ parse_union_result,
17
+ prepare_input,
18
+ )
19
+ from taegis_sdk_python.services.tenants4.types import *
20
+
21
+ if TYPE_CHECKING: # pragma: no cover
22
+ from taegis_sdk_python.services.tenants4 import Tenants4Service
23
+
24
+ log = logging.getLogger(__name__)
25
+
26
+
27
+ class TaegisSDKTenants4Subscription:
28
+ """Taegis Tenants4 Subscription operations."""
29
+
30
+ def __init__(self, service: Tenants4Service):
31
+ self.service = service