taegis-sdk-python 1.2.9__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 (240) hide show
  1. {taegis_sdk_python-1.2.9/taegis_sdk_python.egg-info → taegis_sdk_python-1.2.10}/PKG-INFO +1 -1
  2. taegis_sdk_python-1.2.10/taegis_sdk_python/_version.py +1 -0
  3. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/__init__.py +9 -0
  4. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/clients/mutations.py +17 -1
  5. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/clients/types.py +1 -0
  6. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/event_search/types.py +15 -9
  7. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/events/queries.py +0 -19
  8. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/tenants/__init__.py +1 -1
  9. taegis_sdk_python-1.2.10/taegis_sdk_python/services/tenants4/__init__.py +38 -0
  10. taegis_sdk_python-1.2.10/taegis_sdk_python/services/tenants4/mutations.py +31 -0
  11. taegis_sdk_python-1.2.10/taegis_sdk_python/services/tenants4/queries.py +70 -0
  12. taegis_sdk_python-1.2.10/taegis_sdk_python/services/tenants4/subscriptions.py +31 -0
  13. taegis_sdk_python-1.2.10/taegis_sdk_python/services/tenants4/types.py +269 -0
  14. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/threat/types.py +2 -0
  15. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10/taegis_sdk_python.egg-info}/PKG-INFO +1 -1
  16. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python.egg-info/SOURCES.txt +5 -0
  17. taegis_sdk_python-1.2.9/taegis_sdk_python/_version.py +0 -1
  18. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/LICENSE +0 -0
  19. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/MANIFEST.in +0 -0
  20. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/README.md +0 -0
  21. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/requirements-dev.txt +0 -0
  22. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/requirements-test.txt +0 -0
  23. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/requirements.txt +0 -0
  24. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/setup.cfg +0 -0
  25. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/setup.py +0 -0
  26. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/__init__.py +0 -0
  27. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/_consts.py +0 -0
  28. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/authentication.py +0 -0
  29. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/config.py +0 -0
  30. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/errors.py +0 -0
  31. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/service_core.py +0 -0
  32. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/access_points/__init__.py +0 -0
  33. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/access_points/mutations.py +0 -0
  34. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/access_points/queries.py +0 -0
  35. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/access_points/subscriptions.py +0 -0
  36. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/access_points/types.py +0 -0
  37. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/agent/__init__.py +0 -0
  38. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/agent/mutations.py +0 -0
  39. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/agent/queries.py +0 -0
  40. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/agent/subscriptions.py +0 -0
  41. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/agent/types.py +0 -0
  42. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/alerts/__init__.py +0 -0
  43. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/alerts/mutations.py +0 -0
  44. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/alerts/queries.py +0 -0
  45. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/alerts/subscriptions.py +0 -0
  46. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/alerts/types.py +0 -0
  47. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/assets/__init__.py +0 -0
  48. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/assets/mutations.py +0 -0
  49. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/assets/queries.py +0 -0
  50. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/assets/subscriptions.py +0 -0
  51. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/assets/types.py +0 -0
  52. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/assets2/__init__.py +0 -0
  53. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/assets2/mutations.py +0 -0
  54. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/assets2/queries.py +0 -0
  55. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/assets2/subscriptions.py +0 -0
  56. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/assets2/types.py +0 -0
  57. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/audits/__init__.py +0 -0
  58. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/audits/mutations.py +0 -0
  59. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/audits/queries.py +0 -0
  60. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/audits/subscriptions.py +0 -0
  61. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/audits/types.py +0 -0
  62. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/authz/__init__.py +0 -0
  63. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/authz/mutations.py +0 -0
  64. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/authz/queries.py +0 -0
  65. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/authz/subscriptions.py +0 -0
  66. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/authz/types.py +0 -0
  67. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/byoti/__init__.py +0 -0
  68. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/byoti/mutations.py +0 -0
  69. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/byoti/queries.py +0 -0
  70. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/byoti/subscriptions.py +0 -0
  71. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/byoti/types.py +0 -0
  72. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/clients/__init__.py +0 -0
  73. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/clients/queries.py +0 -0
  74. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/clients/subscriptions.py +0 -0
  75. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/collector/__init__.py +0 -0
  76. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/collector/mutations.py +0 -0
  77. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/collector/queries.py +0 -0
  78. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/collector/subscriptions.py +0 -0
  79. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/collector/types.py +0 -0
  80. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/comments/__init__.py +0 -0
  81. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/comments/mutations.py +0 -0
  82. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/comments/queries.py +0 -0
  83. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/comments/subscriptions.py +0 -0
  84. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/comments/types.py +0 -0
  85. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/contracted_endpoint/__init__.py +0 -0
  86. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/contracted_endpoint/mutations.py +0 -0
  87. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/contracted_endpoint/queries.py +0 -0
  88. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/contracted_endpoint/subscriptions.py +0 -0
  89. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/contracted_endpoint/types.py +0 -0
  90. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/datasources/__init__.py +0 -0
  91. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/datasources/mutations.py +0 -0
  92. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/datasources/queries.py +0 -0
  93. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/datasources/subscriptions.py +0 -0
  94. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/datasources/types.py +0 -0
  95. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/detector_registry/__init__.py +0 -0
  96. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/detector_registry/mutations.py +0 -0
  97. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/detector_registry/queries.py +0 -0
  98. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/detector_registry/subscriptions.py +0 -0
  99. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/detector_registry/types.py +0 -0
  100. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/endpoint_command_manager/__init__.py +0 -0
  101. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/endpoint_command_manager/mutations.py +0 -0
  102. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/endpoint_command_manager/queries.py +0 -0
  103. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/endpoint_command_manager/subscriptions.py +0 -0
  104. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/endpoint_command_manager/types.py +0 -0
  105. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/endpoint_management_service/__init__.py +0 -0
  106. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/endpoint_management_service/mutations.py +0 -0
  107. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/endpoint_management_service/queries.py +0 -0
  108. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/endpoint_management_service/subscriptions.py +0 -0
  109. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/endpoint_management_service/types.py +0 -0
  110. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/event_search/__init__.py +0 -0
  111. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/event_search/mutations.py +0 -0
  112. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/event_search/queries.py +0 -0
  113. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/event_search/subscriptions.py +0 -0
  114. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/events/__init__.py +0 -0
  115. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/events/mutations.py +0 -0
  116. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/events/subscriptions.py +0 -0
  117. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/events/types.py +0 -0
  118. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/exports/__init__.py +0 -0
  119. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/exports/mutations.py +0 -0
  120. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/exports/queries.py +0 -0
  121. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/exports/subscriptions.py +0 -0
  122. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/exports/types.py +0 -0
  123. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/fast_ioc/__init__.py +0 -0
  124. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/fast_ioc/mutations.py +0 -0
  125. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/fast_ioc/queries.py +0 -0
  126. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/fast_ioc/subscriptions.py +0 -0
  127. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/fast_ioc/types.py +0 -0
  128. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/file_info/__init__.py +0 -0
  129. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/file_info/mutations.py +0 -0
  130. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/file_info/queries.py +0 -0
  131. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/file_info/subscriptions.py +0 -0
  132. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/file_info/types.py +0 -0
  133. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/ingest_stats/__init__.py +0 -0
  134. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/ingest_stats/mutations.py +0 -0
  135. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/ingest_stats/queries.py +0 -0
  136. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/ingest_stats/subscriptions.py +0 -0
  137. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/ingest_stats/types.py +0 -0
  138. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/investigations/__init__.py +0 -0
  139. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/investigations/mutations.py +0 -0
  140. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/investigations/queries.py +0 -0
  141. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/investigations/subscriptions.py +0 -0
  142. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/investigations/types.py +0 -0
  143. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/investigations2/__init__.py +0 -0
  144. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/investigations2/mutations.py +0 -0
  145. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/investigations2/queries.py +0 -0
  146. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/investigations2/subscriptions.py +0 -0
  147. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/investigations2/types.py +0 -0
  148. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/mitre_attack_info/__init__.py +0 -0
  149. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/mitre_attack_info/mutations.py +0 -0
  150. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/mitre_attack_info/queries.py +0 -0
  151. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/mitre_attack_info/subscriptions.py +0 -0
  152. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/mitre_attack_info/types.py +0 -0
  153. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/multi_tenant_context/__init__.py +0 -0
  154. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/multi_tenant_context/mutations.py +0 -0
  155. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/multi_tenant_context/queries.py +0 -0
  156. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/multi_tenant_context/subscriptions.py +0 -0
  157. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/multi_tenant_context/types.py +0 -0
  158. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/multi_tenant_ioc/__init__.py +0 -0
  159. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/multi_tenant_ioc/mutations.py +0 -0
  160. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/multi_tenant_ioc/queries.py +0 -0
  161. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/multi_tenant_ioc/subscriptions.py +0 -0
  162. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/multi_tenant_ioc/types.py +0 -0
  163. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/notebooks/__init__.py +0 -0
  164. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/notebooks/mutations.py +0 -0
  165. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/notebooks/queries.py +0 -0
  166. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/notebooks/subscriptions.py +0 -0
  167. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/notebooks/types.py +0 -0
  168. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/notifications/__init__.py +0 -0
  169. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/notifications/mutations.py +0 -0
  170. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/notifications/queries.py +0 -0
  171. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/notifications/subscriptions.py +0 -0
  172. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/notifications/types.py +0 -0
  173. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/preferences/__init__.py +0 -0
  174. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/preferences/mutations.py +0 -0
  175. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/preferences/queries.py +0 -0
  176. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/preferences/subscriptions.py +0 -0
  177. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/preferences/types.py +0 -0
  178. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/queries/__init__.py +0 -0
  179. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/queries/mutations.py +0 -0
  180. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/queries/queries.py +0 -0
  181. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/queries/subscriptions.py +0 -0
  182. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/queries/types.py +0 -0
  183. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/roadrunner/__init__.py +0 -0
  184. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/roadrunner/mutations.py +0 -0
  185. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/roadrunner/queries.py +0 -0
  186. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/roadrunner/subscriptions.py +0 -0
  187. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/roadrunner/types.py +0 -0
  188. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/rules/__init__.py +0 -0
  189. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/rules/mutations.py +0 -0
  190. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/rules/queries.py +0 -0
  191. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/rules/subscriptions.py +0 -0
  192. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/rules/types.py +0 -0
  193. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/sharelinks/__init__.py +0 -0
  194. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/sharelinks/mutations.py +0 -0
  195. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/sharelinks/queries.py +0 -0
  196. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/sharelinks/subscriptions.py +0 -0
  197. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/sharelinks/types.py +0 -0
  198. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/subjects/__init__.py +0 -0
  199. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/subjects/mutations.py +0 -0
  200. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/subjects/queries.py +0 -0
  201. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/subjects/subscriptions.py +0 -0
  202. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/subjects/types.py +0 -0
  203. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/tenant_profiles/__init__.py +0 -0
  204. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/tenant_profiles/mutations.py +0 -0
  205. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/tenant_profiles/queries.py +0 -0
  206. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/tenant_profiles/subscriptions.py +0 -0
  207. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/tenant_profiles/types.py +0 -0
  208. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/tenants/mutations.py +0 -0
  209. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/tenants/queries.py +0 -0
  210. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/tenants/subscriptions.py +0 -0
  211. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/tenants/types.py +0 -0
  212. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/threat/__init__.py +0 -0
  213. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/threat/mutations.py +0 -0
  214. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/threat/queries.py +0 -0
  215. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/threat/subscriptions.py +0 -0
  216. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/threat_score/__init__.py +0 -0
  217. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/threat_score/mutations.py +0 -0
  218. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/threat_score/queries.py +0 -0
  219. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/threat_score/subscriptions.py +0 -0
  220. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/threat_score/types.py +0 -0
  221. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/trip/__init__.py +0 -0
  222. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/trip/mutations.py +0 -0
  223. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/trip/queries.py +0 -0
  224. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/trip/subscriptions.py +0 -0
  225. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/trip/types.py +0 -0
  226. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/users/__init__.py +0 -0
  227. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/users/mutations.py +0 -0
  228. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/users/queries.py +0 -0
  229. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/users/subscriptions.py +0 -0
  230. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/users/types.py +0 -0
  231. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/vdr/__init__.py +0 -0
  232. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/vdr/mutations.py +0 -0
  233. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/vdr/queries.py +0 -0
  234. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/vdr/subscriptions.py +0 -0
  235. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/services/vdr/types.py +0 -0
  236. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/tokens.py +0 -0
  237. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python/utils.py +0 -0
  238. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python.egg-info/dependency_links.txt +0 -0
  239. {taegis_sdk_python-1.2.9 → taegis_sdk_python-1.2.10}/taegis_sdk_python.egg-info/requires.txt +0 -0
  240. {taegis_sdk_python-1.2.9 → 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.9
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 @@
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."""
@@ -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(
@@ -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")
@@ -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
@@ -0,0 +1,269 @@
1
+ """Tenants4 Types and Enums."""
2
+ # pylint: disable=no-member, unused-argument, too-many-locals, duplicate-code
3
+
4
+ # Autogenerated
5
+ # DO NOT MODIFY
6
+
7
+ from typing import Optional, List, Dict, Union, Any, Tuple
8
+
9
+
10
+ from enum import Enum
11
+
12
+
13
+ from dataclasses import dataclass, field
14
+ from dataclasses_json import dataclass_json, config
15
+
16
+
17
+ class TenantRegion(str, Enum):
18
+ """TenantRegion."""
19
+
20
+ CHARLIE = "CHARLIE"
21
+ DELTA = "DELTA"
22
+ ECHO = "ECHO"
23
+ FOXTROT = "FOXTROT"
24
+ PILOT = "PILOT"
25
+ PILOT_CHARLIE = "PILOT_CHARLIE"
26
+ PILOT_DELTA = "PILOT_DELTA"
27
+ PILOT_ECHO = "PILOT_ECHO"
28
+ PILOT_FOXTROT = "PILOT_FOXTROT"
29
+
30
+
31
+ class TenantResultOrder(str, Enum):
32
+ """TenantResultOrder."""
33
+
34
+ ID = "ID"
35
+ NAME = "NAME"
36
+ CREATED_AT = "CREATED_AT"
37
+ UPDATED_AT = "UPDATED_AT"
38
+ PARTNER_TENANT_ID = "PARTNER_TENANT_ID"
39
+ ORGANIZATION_TENANT_ID = "ORGANIZATION_TENANT_ID"
40
+ HAS_SUPPORT_ENABLED = "HAS_SUPPORT_ENABLED"
41
+
42
+
43
+ class OrderDir(str, Enum):
44
+ """OrderDir."""
45
+
46
+ ASC = "ASC"
47
+ DESC = "DESC"
48
+
49
+
50
+ @dataclass_json
51
+ @dataclass(order=True, eq=True, frozen=True)
52
+ class TenantLabel:
53
+ """TenantLabel."""
54
+
55
+ id: Optional[str] = field(default=None, metadata=config(field_name="id"))
56
+ name: Optional[str] = field(default=None, metadata=config(field_name="name"))
57
+ value: Optional[str] = field(default=None, metadata=config(field_name="value"))
58
+ owner_partner_id: Optional[str] = field(
59
+ default=None, metadata=config(field_name="ownerPartnerId")
60
+ )
61
+
62
+
63
+ @dataclass_json
64
+ @dataclass(order=True, eq=True, frozen=True)
65
+ class TenantSubscription:
66
+ """TenantSubscription."""
67
+
68
+ id: Optional[str] = field(default=None, metadata=config(field_name="id"))
69
+ service_id: Optional[str] = field(
70
+ default=None, metadata=config(field_name="serviceID")
71
+ )
72
+ service_name: Optional[str] = field(
73
+ default=None, metadata=config(field_name="serviceName")
74
+ )
75
+ service_description: Optional[str] = field(
76
+ default=None, metadata=config(field_name="serviceDescription")
77
+ )
78
+ owner_partner_id: Optional[str] = field(
79
+ default=None, metadata=config(field_name="ownerPartnerId")
80
+ )
81
+ requested_at: Optional[str] = field(
82
+ default=None, metadata=config(field_name="requestedAt")
83
+ )
84
+ requested_by: Optional[str] = field(
85
+ default=None, metadata=config(field_name="requestedBy")
86
+ )
87
+ granted_at: Optional[str] = field(
88
+ default=None, metadata=config(field_name="grantedAt")
89
+ )
90
+ revoked_at: Optional[str] = field(
91
+ default=None, metadata=config(field_name="revokedAt")
92
+ )
93
+
94
+
95
+ @dataclass_json
96
+ @dataclass(order=True, eq=True, frozen=True)
97
+ class TenantLabelMatcher:
98
+ """TenantLabelMatcher."""
99
+
100
+ name: Optional[str] = field(default=None, metadata=config(field_name="name"))
101
+ value: Optional[str] = field(default=None, metadata=config(field_name="value"))
102
+
103
+
104
+ @dataclass_json
105
+ @dataclass(order=True, eq=True, frozen=True)
106
+ class SubscriptionMatcher:
107
+ """SubscriptionMatcher."""
108
+
109
+ name: Optional[str] = field(default=None, metadata=config(field_name="name"))
110
+ id: Optional[str] = field(default=None, metadata=config(field_name="id"))
111
+ is_requested: Optional[bool] = field(
112
+ default=None, metadata=config(field_name="isRequested")
113
+ )
114
+
115
+
116
+ @dataclass_json
117
+ @dataclass(order=True, eq=True, frozen=True)
118
+ class TenantSubscriptions:
119
+ """TenantSubscriptions."""
120
+
121
+ granted: Optional[List[TenantSubscription]] = field(
122
+ default=None, metadata=config(field_name="granted")
123
+ )
124
+ requested: Optional[List[TenantSubscription]] = field(
125
+ default=None, metadata=config(field_name="requested")
126
+ )
127
+ revoked: Optional[List[TenantSubscription]] = field(
128
+ default=None, metadata=config(field_name="revoked")
129
+ )
130
+
131
+
132
+ @dataclass_json
133
+ @dataclass(order=True, eq=True, frozen=True)
134
+ class TenantsQuery:
135
+ """TenantsQuery."""
136
+
137
+ ids: Optional[List[str]] = field(default=None, metadata=config(field_name="ids"))
138
+ names: Optional[List[str]] = field(
139
+ default=None, metadata=config(field_name="names")
140
+ )
141
+ is_partner_root: Optional[bool] = field(
142
+ default=None, metadata=config(field_name="isPartnerRoot")
143
+ )
144
+ is_organization: Optional[bool] = field(
145
+ default=None, metadata=config(field_name="isOrganization")
146
+ )
147
+ hierarchy_paths: Optional[List[str]] = field(
148
+ default=None, metadata=config(field_name="hierarchyPaths")
149
+ )
150
+ partners: Optional[List[str]] = field(
151
+ default=None, metadata=config(field_name="partners")
152
+ )
153
+ organizations: Optional[List[str]] = field(
154
+ default=None, metadata=config(field_name="organizations")
155
+ )
156
+ enabled: Optional[bool] = field(default=None, metadata=config(field_name="enabled"))
157
+ support_enabled: Optional[bool] = field(
158
+ default=None, metadata=config(field_name="supportEnabled")
159
+ )
160
+ cursor_pos: Optional[str] = field(
161
+ default=None, metadata=config(field_name="cursorPos")
162
+ )
163
+ after_cursor: Optional[str] = field(
164
+ default=None, metadata=config(field_name="afterCursor")
165
+ )
166
+ before_cursor: Optional[str] = field(
167
+ default=None, metadata=config(field_name="beforeCursor")
168
+ )
169
+ count: Optional[int] = field(default=None, metadata=config(field_name="count"))
170
+ cql: Optional[str] = field(default=None, metadata=config(field_name="cql"))
171
+ enabled_in: Optional[List[TenantRegion]] = field(
172
+ default=None, metadata=config(field_name="enabledIn")
173
+ )
174
+ labels_match: Optional[List[TenantLabelMatcher]] = field(
175
+ default=None, metadata=config(field_name="labelsMatch")
176
+ )
177
+ subscriptions_match: Optional[List[SubscriptionMatcher]] = field(
178
+ default=None, metadata=config(field_name="subscriptionsMatch")
179
+ )
180
+ order_by: Optional[TenantResultOrder] = field(
181
+ default=None, metadata=config(field_name="orderBy")
182
+ )
183
+ order_dir: Optional[OrderDir] = field(
184
+ default=None, metadata=config(field_name="orderDir")
185
+ )
186
+
187
+
188
+ @dataclass_json
189
+ @dataclass(order=True, eq=True, frozen=True)
190
+ class TenantV4:
191
+ """TenantV4."""
192
+
193
+ id: Optional[str] = field(default=None, metadata=config(field_name="id"))
194
+ parent_tenant_id: Optional[str] = field(
195
+ default=None, metadata=config(field_name="parentTenantID")
196
+ )
197
+ partner_tenant_id: Optional[str] = field(
198
+ default=None, metadata=config(field_name="partnerTenantID")
199
+ )
200
+ partner_name: Optional[str] = field(
201
+ default=None, metadata=config(field_name="partnerName")
202
+ )
203
+ organization_tenant_id: Optional[str] = field(
204
+ default=None, metadata=config(field_name="organizationTenantID")
205
+ )
206
+ organization_name: Optional[str] = field(
207
+ default=None, metadata=config(field_name="organizationName")
208
+ )
209
+ name: Optional[str] = field(default=None, metadata=config(field_name="name"))
210
+ enabled: Optional[bool] = field(default=None, metadata=config(field_name="enabled"))
211
+ hierarchy_path: Optional[str] = field(
212
+ default=None, metadata=config(field_name="hierarchyPath")
213
+ )
214
+ is_organization: Optional[bool] = field(
215
+ default=None, metadata=config(field_name="isOrganization")
216
+ )
217
+ is_partner: Optional[bool] = field(
218
+ default=None, metadata=config(field_name="isPartner")
219
+ )
220
+ has_support_enabled: Optional[bool] = field(
221
+ default=None, metadata=config(field_name="hasSupportEnabled")
222
+ )
223
+ support_inherited: Optional[bool] = field(
224
+ default=None, metadata=config(field_name="supportInherited")
225
+ )
226
+ expires_at: Optional[str] = field(
227
+ default=None, metadata=config(field_name="expiresAt")
228
+ )
229
+ created_at: Optional[str] = field(
230
+ default=None, metadata=config(field_name="createdAt")
231
+ )
232
+ updated_at: Optional[str] = field(
233
+ default=None, metadata=config(field_name="updatedAt")
234
+ )
235
+ enabled_at_regions: Optional[List[TenantRegion]] = field(
236
+ default=None, metadata=config(field_name="enabledAtRegions")
237
+ )
238
+ labels: Optional[List[TenantLabel]] = field(
239
+ default=None, metadata=config(field_name="labels")
240
+ )
241
+ subscriptions: Optional[TenantSubscriptions] = field(
242
+ default=None, metadata=config(field_name="subscriptions")
243
+ )
244
+
245
+
246
+ @dataclass_json
247
+ @dataclass(order=True, eq=True, frozen=True)
248
+ class TenantResults:
249
+ """TenantResults."""
250
+
251
+ cursor_pos: Optional[str] = field(
252
+ default=None, metadata=config(field_name="cursorPos")
253
+ )
254
+ count: Optional[int] = field(default=None, metadata=config(field_name="count"))
255
+ has_more: Optional[bool] = field(
256
+ default=None, metadata=config(field_name="hasMore")
257
+ )
258
+ total_count: Optional[int] = field(
259
+ default=None, metadata=config(field_name="totalCount")
260
+ )
261
+ first_index: Optional[int] = field(
262
+ default=None, metadata=config(field_name="firstIndex")
263
+ )
264
+ last_index: Optional[int] = field(
265
+ default=None, metadata=config(field_name="lastIndex")
266
+ )
267
+ tenants: Optional[List[TenantV4]] = field(
268
+ default=None, metadata=config(field_name="tenants")
269
+ )
@@ -146,6 +146,8 @@ class ThreatRelationshipType(str, Enum):
146
146
  HAS_VID = "has_vid"
147
147
  HOSTED_ON = "hosted_on"
148
148
  LINKED_TO = "linked_to"
149
+ GEOLOCATES_TO = "geolocates_to"
150
+ AFFILIATED_WITH = "affiliated_with"
149
151
 
150
152
 
151
153
  class ThreatMalwareType(str, Enum):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: taegis-sdk-python
3
- Version: 1.2.9
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
@@ -205,6 +205,11 @@ taegis_sdk_python/services/tenants/mutations.py
205
205
  taegis_sdk_python/services/tenants/queries.py
206
206
  taegis_sdk_python/services/tenants/subscriptions.py
207
207
  taegis_sdk_python/services/tenants/types.py
208
+ taegis_sdk_python/services/tenants4/__init__.py
209
+ taegis_sdk_python/services/tenants4/mutations.py
210
+ taegis_sdk_python/services/tenants4/queries.py
211
+ taegis_sdk_python/services/tenants4/subscriptions.py
212
+ taegis_sdk_python/services/tenants4/types.py
208
213
  taegis_sdk_python/services/threat/__init__.py
209
214
  taegis_sdk_python/services/threat/mutations.py
210
215
  taegis_sdk_python/services/threat/queries.py
@@ -1 +0,0 @@
1
- __version__ = "v1.2.9"