taegis-sdk-python 1.2.0__tar.gz → 1.2.1__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 (220) hide show
  1. {taegis-sdk-python-1.2.0/taegis_sdk_python.egg-info → taegis-sdk-python-1.2.1}/PKG-INFO +1 -1
  2. taegis-sdk-python-1.2.1/taegis_sdk_python/_version.py +1 -0
  3. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/service_core.py +9 -2
  4. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/__init__.py +19 -0
  5. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/audits/types.py +56 -45
  6. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/collector/mutations.py +4 -0
  7. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/collector/queries.py +8 -4
  8. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/collector/types.py +3 -0
  9. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/event_search/types.py +1 -8
  10. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/investigations2/types.py +7 -3
  11. taegis-sdk-python-1.2.1/taegis_sdk_python/services/queries/__init__.py +32 -0
  12. taegis-sdk-python-1.2.1/taegis_sdk_python/services/queries/mutations.py +121 -0
  13. taegis-sdk-python-1.2.1/taegis_sdk_python/services/queries/queries.py +135 -0
  14. taegis-sdk-python-1.2.1/taegis_sdk_python/services/queries/subscriptions.py +31 -0
  15. taegis-sdk-python-1.2.1/taegis_sdk_python/services/queries/types.py +402 -0
  16. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/rules/queries.py +6 -1
  17. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/tenants/__init__.py +1 -0
  18. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/threat/mutations.py +2 -4
  19. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/threat/queries.py +8 -18
  20. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1/taegis_sdk_python.egg-info}/PKG-INFO +1 -1
  21. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python.egg-info/SOURCES.txt +5 -0
  22. taegis-sdk-python-1.2.0/taegis_sdk_python/_version.py +0 -1
  23. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/LICENSE +0 -0
  24. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/MANIFEST.in +0 -0
  25. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/README.md +0 -0
  26. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/requirements-dev.txt +0 -0
  27. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/requirements-test.txt +0 -0
  28. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/requirements.txt +0 -0
  29. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/setup.cfg +0 -0
  30. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/setup.py +0 -0
  31. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/__init__.py +0 -0
  32. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/_consts.py +0 -0
  33. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/authentication.py +0 -0
  34. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/config.py +0 -0
  35. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/errors.py +0 -0
  36. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/access_points/__init__.py +0 -0
  37. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/access_points/mutations.py +0 -0
  38. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/access_points/queries.py +0 -0
  39. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/access_points/subscriptions.py +0 -0
  40. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/access_points/types.py +0 -0
  41. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/agent/__init__.py +0 -0
  42. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/agent/mutations.py +0 -0
  43. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/agent/queries.py +0 -0
  44. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/agent/subscriptions.py +0 -0
  45. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/agent/types.py +0 -0
  46. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/alerts/__init__.py +0 -0
  47. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/alerts/mutations.py +0 -0
  48. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/alerts/queries.py +0 -0
  49. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/alerts/subscriptions.py +0 -0
  50. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/alerts/types.py +0 -0
  51. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/assets/__init__.py +0 -0
  52. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/assets/mutations.py +0 -0
  53. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/assets/queries.py +0 -0
  54. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/assets/subscriptions.py +0 -0
  55. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/assets/types.py +0 -0
  56. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/assets2/__init__.py +0 -0
  57. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/assets2/mutations.py +0 -0
  58. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/assets2/queries.py +0 -0
  59. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/assets2/subscriptions.py +0 -0
  60. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/assets2/types.py +0 -0
  61. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/audits/__init__.py +0 -0
  62. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/audits/mutations.py +0 -0
  63. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/audits/queries.py +0 -0
  64. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/audits/subscriptions.py +0 -0
  65. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/authz/__init__.py +0 -0
  66. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/authz/mutations.py +0 -0
  67. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/authz/queries.py +0 -0
  68. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/authz/subscriptions.py +0 -0
  69. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/authz/types.py +0 -0
  70. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/byoti/__init__.py +0 -0
  71. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/byoti/mutations.py +0 -0
  72. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/byoti/queries.py +0 -0
  73. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/byoti/subscriptions.py +0 -0
  74. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/byoti/types.py +0 -0
  75. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/clients/__init__.py +0 -0
  76. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/clients/mutations.py +0 -0
  77. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/clients/queries.py +0 -0
  78. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/clients/subscriptions.py +0 -0
  79. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/clients/types.py +0 -0
  80. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/collector/__init__.py +0 -0
  81. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/collector/subscriptions.py +0 -0
  82. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/comments/__init__.py +0 -0
  83. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/comments/mutations.py +0 -0
  84. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/comments/queries.py +0 -0
  85. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/comments/subscriptions.py +0 -0
  86. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/comments/types.py +0 -0
  87. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/datasources/__init__.py +0 -0
  88. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/datasources/mutations.py +0 -0
  89. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/datasources/queries.py +0 -0
  90. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/datasources/subscriptions.py +0 -0
  91. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/datasources/types.py +0 -0
  92. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/detector_registry/__init__.py +0 -0
  93. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/detector_registry/mutations.py +0 -0
  94. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/detector_registry/queries.py +0 -0
  95. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/detector_registry/subscriptions.py +0 -0
  96. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/detector_registry/types.py +0 -0
  97. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/endpoint_command_manager/__init__.py +0 -0
  98. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/endpoint_command_manager/mutations.py +0 -0
  99. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/endpoint_command_manager/queries.py +0 -0
  100. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/endpoint_command_manager/subscriptions.py +0 -0
  101. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/endpoint_command_manager/types.py +0 -0
  102. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/endpoint_management_service/__init__.py +0 -0
  103. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/endpoint_management_service/mutations.py +0 -0
  104. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/endpoint_management_service/queries.py +0 -0
  105. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/endpoint_management_service/subscriptions.py +0 -0
  106. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/endpoint_management_service/types.py +0 -0
  107. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/event_search/__init__.py +0 -0
  108. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/event_search/mutations.py +0 -0
  109. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/event_search/queries.py +0 -0
  110. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/event_search/subscriptions.py +0 -0
  111. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/events/__init__.py +0 -0
  112. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/events/mutations.py +0 -0
  113. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/events/queries.py +0 -0
  114. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/events/subscriptions.py +0 -0
  115. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/events/types.py +0 -0
  116. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/exports/__init__.py +0 -0
  117. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/exports/mutations.py +0 -0
  118. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/exports/queries.py +0 -0
  119. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/exports/subscriptions.py +0 -0
  120. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/exports/types.py +0 -0
  121. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/fast_ioc/__init__.py +0 -0
  122. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/fast_ioc/mutations.py +0 -0
  123. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/fast_ioc/queries.py +0 -0
  124. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/fast_ioc/subscriptions.py +0 -0
  125. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/fast_ioc/types.py +0 -0
  126. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/file_info/__init__.py +0 -0
  127. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/file_info/mutations.py +0 -0
  128. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/file_info/queries.py +0 -0
  129. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/file_info/subscriptions.py +0 -0
  130. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/file_info/types.py +0 -0
  131. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/investigations/__init__.py +0 -0
  132. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/investigations/mutations.py +0 -0
  133. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/investigations/queries.py +0 -0
  134. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/investigations/subscriptions.py +0 -0
  135. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/investigations/types.py +0 -0
  136. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/investigations2/__init__.py +0 -0
  137. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/investigations2/mutations.py +0 -0
  138. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/investigations2/queries.py +0 -0
  139. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/investigations2/subscriptions.py +0 -0
  140. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/mitre_attack_info/__init__.py +0 -0
  141. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/mitre_attack_info/mutations.py +0 -0
  142. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/mitre_attack_info/queries.py +0 -0
  143. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/mitre_attack_info/subscriptions.py +0 -0
  144. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/mitre_attack_info/types.py +0 -0
  145. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/multi_tenant_context/__init__.py +0 -0
  146. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/multi_tenant_context/mutations.py +0 -0
  147. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/multi_tenant_context/queries.py +0 -0
  148. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/multi_tenant_context/subscriptions.py +0 -0
  149. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/multi_tenant_context/types.py +0 -0
  150. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/multi_tenant_ioc/__init__.py +0 -0
  151. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/multi_tenant_ioc/mutations.py +0 -0
  152. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/multi_tenant_ioc/queries.py +0 -0
  153. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/multi_tenant_ioc/subscriptions.py +0 -0
  154. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/multi_tenant_ioc/types.py +0 -0
  155. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/notebooks/__init__.py +0 -0
  156. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/notebooks/mutations.py +0 -0
  157. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/notebooks/queries.py +0 -0
  158. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/notebooks/subscriptions.py +0 -0
  159. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/notebooks/types.py +0 -0
  160. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/notifications/__init__.py +0 -0
  161. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/notifications/mutations.py +0 -0
  162. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/notifications/queries.py +0 -0
  163. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/notifications/subscriptions.py +0 -0
  164. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/notifications/types.py +0 -0
  165. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/preferences/__init__.py +0 -0
  166. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/preferences/mutations.py +0 -0
  167. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/preferences/queries.py +0 -0
  168. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/preferences/subscriptions.py +0 -0
  169. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/preferences/types.py +0 -0
  170. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/roadrunner/__init__.py +0 -0
  171. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/roadrunner/mutations.py +0 -0
  172. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/roadrunner/queries.py +0 -0
  173. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/roadrunner/subscriptions.py +0 -0
  174. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/roadrunner/types.py +0 -0
  175. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/rules/__init__.py +0 -0
  176. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/rules/mutations.py +0 -0
  177. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/rules/subscriptions.py +0 -0
  178. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/rules/types.py +0 -0
  179. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/sharelinks/__init__.py +0 -0
  180. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/sharelinks/mutations.py +0 -0
  181. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/sharelinks/queries.py +0 -0
  182. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/sharelinks/subscriptions.py +0 -0
  183. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/sharelinks/types.py +0 -0
  184. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/subjects/__init__.py +0 -0
  185. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/subjects/mutations.py +0 -0
  186. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/subjects/queries.py +0 -0
  187. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/subjects/subscriptions.py +0 -0
  188. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/subjects/types.py +0 -0
  189. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/tenant_profiles/__init__.py +0 -0
  190. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/tenant_profiles/mutations.py +0 -0
  191. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/tenant_profiles/queries.py +0 -0
  192. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/tenant_profiles/subscriptions.py +0 -0
  193. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/tenant_profiles/types.py +0 -0
  194. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/tenants/mutations.py +0 -0
  195. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/tenants/queries.py +0 -0
  196. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/tenants/subscriptions.py +0 -0
  197. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/tenants/types.py +0 -0
  198. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/threat/__init__.py +0 -0
  199. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/threat/subscriptions.py +0 -0
  200. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/threat/types.py +0 -0
  201. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/threat_score/__init__.py +0 -0
  202. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/threat_score/mutations.py +0 -0
  203. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/threat_score/queries.py +0 -0
  204. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/threat_score/subscriptions.py +0 -0
  205. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/threat_score/types.py +0 -0
  206. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/trip/__init__.py +0 -0
  207. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/trip/mutations.py +0 -0
  208. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/trip/queries.py +0 -0
  209. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/trip/subscriptions.py +0 -0
  210. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/trip/types.py +0 -0
  211. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/users/__init__.py +0 -0
  212. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/users/mutations.py +0 -0
  213. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/users/queries.py +0 -0
  214. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/users/subscriptions.py +0 -0
  215. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/services/users/types.py +0 -0
  216. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/tokens.py +0 -0
  217. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python/utils.py +0 -0
  218. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python.egg-info/dependency_links.txt +0 -0
  219. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/taegis_sdk_python.egg-info/requires.txt +0 -0
  220. {taegis-sdk-python-1.2.0 → taegis-sdk-python-1.2.1}/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.0
3
+ Version: 1.2.1
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.1"
@@ -86,6 +86,7 @@ class ServiceCore:
86
86
 
87
87
  self._urls = self.service._environments
88
88
  self._gateway = self.service._gateway
89
+ self._input_value_deprecation = True
89
90
 
90
91
  self._schema = SchemaCache(schema=None, expires=self.service.schema_expiry)
91
92
 
@@ -135,7 +136,10 @@ class ServiceCore:
135
136
  transport=transport,
136
137
  schema=self._schema.schema,
137
138
  fetch_schema_from_transport=self._schema.should_fetch_schema(),
138
- introspection_args={"input_value_deprecation": True},
139
+ introspection_args={
140
+ "input_value_deprecation": self.service.input_value_deprecation
141
+ or self._input_value_deprecation
142
+ },
139
143
  )
140
144
 
141
145
  with client:
@@ -171,7 +175,10 @@ class ServiceCore:
171
175
  transport=transport,
172
176
  schema=self._schema.schema,
173
177
  fetch_schema_from_transport=self._schema.should_fetch_schema(),
174
- introspection_args={"input_value_deprecation": True},
178
+ introspection_args={
179
+ "input_value_deprecation": self.service.input_value_deprecation
180
+ or self._input_value_deprecation
181
+ },
175
182
  )
176
183
 
177
184
  return client
@@ -41,6 +41,7 @@ from taegis_sdk_python.services.multi_tenant_ioc import MultiTenantIocService
41
41
  from taegis_sdk_python.services.notebooks import NotebooksService
42
42
  from taegis_sdk_python.services.notifications import NotificationsService
43
43
  from taegis_sdk_python.services.preferences import PreferencesService
44
+ from taegis_sdk_python.services.queries import QueriesService
44
45
  from taegis_sdk_python.services.roadrunner import RoadrunnerService
45
46
  from taegis_sdk_python.services.rules import RulesService
46
47
  from taegis_sdk_python.services.sharelinks import SharelinksService
@@ -106,6 +107,7 @@ class GraphQLService:
106
107
  else:
107
108
  self._extra_headers = extra_headers
108
109
  self._schema_expiry = schema_expiry
110
+ self._input_value_deprecation = None
109
111
 
110
112
  self._access_points = None
111
113
  self._agent = None
@@ -135,6 +137,7 @@ class GraphQLService:
135
137
  self._notebooks = None
136
138
  self._notifications = None
137
139
  self._preferences = None
140
+ self._queries = None
138
141
  self._roadrunner = None
139
142
  self._rules = None
140
143
  self._core = None
@@ -238,6 +241,15 @@ class GraphQLService:
238
241
  """GraphQL Schema Timeout."""
239
242
  return self._context_manager.get("schema_expiry", self._schema_expiry)
240
243
 
244
+ @property
245
+ def input_value_deprecation(self):
246
+ """GraphQL Query Deprecated Input Fields in Schema."""
247
+ return bool(
248
+ self._context_manager.get(
249
+ "input_value_deprecation", self._input_value_deprecation
250
+ )
251
+ )
252
+
241
253
  @property
242
254
  def access_points(self):
243
255
  """Access Points Service Endpoint."""
@@ -434,6 +446,13 @@ class GraphQLService:
434
446
  self._preferences = PreferencesService(self)
435
447
  return self._preferences
436
448
 
449
+ @property
450
+ def queries(self):
451
+ """Queries Service Endpoint."""
452
+ if not self._queries:
453
+ self._queries = QueriesService(self)
454
+ return self._queries
455
+
437
456
  @property
438
457
  def roadrunner(self):
439
458
  """Roadrunner Service Endpoint."""
@@ -48,10 +48,17 @@ class AuditEventEnum(str, Enum):
48
48
 
49
49
  @dataclass_json
50
50
  @dataclass(order=True, eq=True, frozen=True)
51
- class Audit:
52
- """Audit."""
51
+ class Subject:
52
+ """Subject."""
53
53
 
54
54
  id: Optional[str] = field(default=None, metadata=config(field_name="id"))
55
+
56
+
57
+ @dataclass_json
58
+ @dataclass(order=True, eq=True, frozen=True)
59
+ class AuditInput:
60
+ """AuditInput."""
61
+
55
62
  log_type: Optional[str] = field(default=None, metadata=config(field_name="logType"))
56
63
  application: Optional[str] = field(
57
64
  default=None, metadata=config(field_name="application")
@@ -59,28 +66,31 @@ class Audit:
59
66
  request_type: Optional[str] = field(
60
67
  default=None, metadata=config(field_name="requestType")
61
68
  )
62
- username: Optional[str] = field(
63
- default=None, metadata=config(field_name="username")
69
+ actor: Optional[str] = field(default=None, metadata=config(field_name="actor"))
70
+ actor_name: Optional[str] = field(
71
+ default=None, metadata=config(field_name="actorName")
72
+ )
73
+ actor_email: Optional[str] = field(
74
+ default=None, metadata=config(field_name="actorEmail")
64
75
  )
65
- email: Optional[str] = field(default=None, metadata=config(field_name="email"))
66
76
  token: Optional[dict] = field(default=None, metadata=config(field_name="token"))
67
77
  source: Optional[str] = field(default=None, metadata=config(field_name="source"))
68
78
  target_rn: Optional[str] = field(
69
79
  default=None, metadata=config(field_name="targetRn")
70
80
  )
71
81
  action: Optional[str] = field(default=None, metadata=config(field_name="action"))
72
- timestamp: Optional[str] = field(
73
- default=None, metadata=config(field_name="timestamp")
82
+ tenant_id: Optional[str] = field(
83
+ default=None, metadata=config(field_name="tenantId")
74
84
  )
75
85
  event_name: Optional[str] = field(
76
86
  default=None, metadata=config(field_name="eventName")
77
87
  )
88
+ event_name_index: Optional[int] = field(
89
+ default=None, metadata=config(field_name="eventNameIndex")
90
+ )
78
91
  event_desc: Optional[str] = field(
79
92
  default=None, metadata=config(field_name="eventDesc")
80
93
  )
81
- tenant_id: Optional[str] = field(
82
- default=None, metadata=config(field_name="tenantId")
83
- )
84
94
  trace_id: Optional[str] = field(default=None, metadata=config(field_name="traceId"))
85
95
  metadata: Optional[dict] = field(
86
96
  default=None, metadata=config(field_name="metadata")
@@ -100,9 +110,6 @@ class Audit:
100
110
  default=None, metadata=config(field_name="afterState")
101
111
  )
102
112
  extras: Optional[dict] = field(default=None, metadata=config(field_name="extras"))
103
- ccdp_status: Optional[str] = field(
104
- default=None, metadata=config(field_name="ccdpStatus")
105
- )
106
113
  partner_internal_log: Optional[bool] = field(
107
114
  default=None, metadata=config(field_name="partnerInternalLog")
108
115
  )
@@ -110,9 +117,30 @@ class Audit:
110
117
 
111
118
  @dataclass_json
112
119
  @dataclass(order=True, eq=True, frozen=True)
113
- class AuditInput:
114
- """AuditInput."""
120
+ class ApplicationMetric:
121
+ """ApplicationMetric."""
122
+
123
+ application_name: Optional[str] = field(
124
+ default=None, metadata=config(field_name="applicationName")
125
+ )
126
+ count: Optional[int] = field(default=None, metadata=config(field_name="count"))
127
+
128
+
129
+ @dataclass_json
130
+ @dataclass(order=True, eq=True, frozen=True)
131
+ class AuditEvent:
132
+ """AuditEvent."""
133
+
134
+ name: Optional[str] = field(default=None, metadata=config(field_name="name"))
135
+ desc: Optional[str] = field(default=None, metadata=config(field_name="desc"))
115
136
 
137
+
138
+ @dataclass_json
139
+ @dataclass(order=True, eq=True, frozen=True)
140
+ class Audit:
141
+ """Audit."""
142
+
143
+ id: Optional[str] = field(default=None, metadata=config(field_name="id"))
116
144
  log_type: Optional[str] = field(default=None, metadata=config(field_name="logType"))
117
145
  application: Optional[str] = field(
118
146
  default=None, metadata=config(field_name="application")
@@ -120,31 +148,28 @@ class AuditInput:
120
148
  request_type: Optional[str] = field(
121
149
  default=None, metadata=config(field_name="requestType")
122
150
  )
123
- actor: Optional[str] = field(default=None, metadata=config(field_name="actor"))
124
- actor_name: Optional[str] = field(
125
- default=None, metadata=config(field_name="actorName")
126
- )
127
- actor_email: Optional[str] = field(
128
- default=None, metadata=config(field_name="actorEmail")
151
+ username: Optional[str] = field(
152
+ default=None, metadata=config(field_name="username")
129
153
  )
154
+ email: Optional[str] = field(default=None, metadata=config(field_name="email"))
130
155
  token: Optional[dict] = field(default=None, metadata=config(field_name="token"))
131
156
  source: Optional[str] = field(default=None, metadata=config(field_name="source"))
132
157
  target_rn: Optional[str] = field(
133
158
  default=None, metadata=config(field_name="targetRn")
134
159
  )
135
160
  action: Optional[str] = field(default=None, metadata=config(field_name="action"))
136
- tenant_id: Optional[str] = field(
137
- default=None, metadata=config(field_name="tenantId")
161
+ timestamp: Optional[str] = field(
162
+ default=None, metadata=config(field_name="timestamp")
138
163
  )
139
164
  event_name: Optional[str] = field(
140
165
  default=None, metadata=config(field_name="eventName")
141
166
  )
142
- event_name_index: Optional[int] = field(
143
- default=None, metadata=config(field_name="eventNameIndex")
144
- )
145
167
  event_desc: Optional[str] = field(
146
168
  default=None, metadata=config(field_name="eventDesc")
147
169
  )
170
+ tenant_id: Optional[str] = field(
171
+ default=None, metadata=config(field_name="tenantId")
172
+ )
148
173
  trace_id: Optional[str] = field(default=None, metadata=config(field_name="traceId"))
149
174
  metadata: Optional[dict] = field(
150
175
  default=None, metadata=config(field_name="metadata")
@@ -164,29 +189,15 @@ class AuditInput:
164
189
  default=None, metadata=config(field_name="afterState")
165
190
  )
166
191
  extras: Optional[dict] = field(default=None, metadata=config(field_name="extras"))
192
+ ccdp_status: Optional[str] = field(
193
+ default=None, metadata=config(field_name="ccdpStatus")
194
+ )
167
195
  partner_internal_log: Optional[bool] = field(
168
196
  default=None, metadata=config(field_name="partnerInternalLog")
169
197
  )
170
-
171
-
172
- @dataclass_json
173
- @dataclass(order=True, eq=True, frozen=True)
174
- class ApplicationMetric:
175
- """ApplicationMetric."""
176
-
177
- application_name: Optional[str] = field(
178
- default=None, metadata=config(field_name="applicationName")
198
+ subject: Optional[Subject] = field(
199
+ default=None, metadata=config(field_name="subject")
179
200
  )
180
- count: Optional[int] = field(default=None, metadata=config(field_name="count"))
181
-
182
-
183
- @dataclass_json
184
- @dataclass(order=True, eq=True, frozen=True)
185
- class AuditEvent:
186
- """AuditEvent."""
187
-
188
- name: Optional[str] = field(default=None, metadata=config(field_name="name"))
189
- desc: Optional[str] = field(default=None, metadata=config(field_name="desc"))
190
201
 
191
202
 
192
203
  @dataclass_json
@@ -143,6 +143,8 @@ class TaegisSDKCollectorMutation:
143
143
  """Add a address:hostname mapping to a given cluster."""
144
144
  endpoint = "addHost"
145
145
 
146
+ log.warning(f"GraphQL Mutation `{endpoint}` is deprecated: 'No Longer needed'")
147
+
146
148
  result = self.service.execute_mutation(
147
149
  endpoint=endpoint,
148
150
  variables={
@@ -159,6 +161,8 @@ class TaegisSDKCollectorMutation:
159
161
  """Remove an address:hostname mapping from a given cluster by providing the IP address and associated host name."""
160
162
  endpoint = "deleteHost"
161
163
 
164
+ log.warning(f"GraphQL Mutation `{endpoint}` is deprecated: 'No Longer needed'")
165
+
162
166
  result = self.service.execute_mutation(
163
167
  endpoint=endpoint,
164
168
  variables={
@@ -273,6 +273,8 @@ class TaegisSDKCollectorQuery:
273
273
  """Get all of the host->address mappings associated with a given cluster."""
274
274
  endpoint = "getHosts"
275
275
 
276
+ log.warning(f"GraphQL Query `{endpoint}` is deprecated: 'No Longer needed'")
277
+
276
278
  result = self.service.execute_query(
277
279
  endpoint=endpoint,
278
280
  variables={
@@ -288,6 +290,10 @@ class TaegisSDKCollectorQuery:
288
290
  """None."""
289
291
  endpoint = "getClusterActivationDetails"
290
292
 
293
+ log.warning(
294
+ f"GraphQL Query `{endpoint}` is deprecated: 'Does not support HA collectors'"
295
+ )
296
+
291
297
  result = self.service.execute_query(
292
298
  endpoint=endpoint,
293
299
  variables={
@@ -397,7 +403,7 @@ class TaegisSDKCollectorQuery:
397
403
  return Chart.from_dict(result.get(endpoint))
398
404
  raise GraphQLNoRowsInResultSetError("for query getChart")
399
405
 
400
- def get_all_charts(self) -> List[ChartList]:
406
+ def get_all_charts(self) -> ChartList:
401
407
  """Get all of the Helm charts available for deployment to any cluster."""
402
408
  endpoint = "getAllCharts"
403
409
 
@@ -405,9 +411,7 @@ class TaegisSDKCollectorQuery:
405
411
  endpoint=endpoint, variables={}, output=build_output_string(ChartList)
406
412
  )
407
413
  if result.get(endpoint) is not None:
408
- return ChartList.schema().load(
409
- [r or {} for r in result.get(endpoint)], many=True
410
- )
414
+ return ChartList.from_dict(result.get(endpoint))
411
415
  raise GraphQLNoRowsInResultSetError("for query getAllCharts")
412
416
 
413
417
  def get_bill_of_materials(self) -> BillOfMaterials:
@@ -466,6 +466,9 @@ class TimeSeries:
466
466
  """TimeSeries."""
467
467
 
468
468
  time: Optional[str] = field(default=None, metadata=config(field_name="time"))
469
+ unix_time: Optional[int] = field(
470
+ default=None, metadata=config(field_name="unixTime")
471
+ )
469
472
  value: Optional[str] = field(default=None, metadata=config(field_name="value"))
470
473
 
471
474
 
@@ -46,14 +46,7 @@ class AuxiliaryEventsByIDOptions:
46
46
  """AuxiliaryEventsByIDOptions."""
47
47
 
48
48
  search_events_api_first: Optional[bool] = field(
49
- default=None,
50
- metadata=config(
51
- metadata={
52
- "deprecated": True,
53
- "deprecation_reason": "events-api is now used automatically if needed",
54
- },
55
- field_name="searchEventsAPIFirst",
56
- ),
49
+ default=None, metadata=config(field_name="searchEventsAPIFirst")
57
50
  )
58
51
 
59
52
 
@@ -1536,9 +1536,6 @@ class InvestigationV2:
1536
1536
  contributor_subjects: Optional[List[Subject]] = field(
1537
1537
  default=None, metadata=config(field_name="contributorSubjects")
1538
1538
  )
1539
- assignee: Optional[TDRUser] = field(
1540
- default=None, metadata=config(field_name="assignee")
1541
- )
1542
1539
  assignee_subject: Optional[Subject] = field(
1543
1540
  default=None, metadata=config(field_name="assigneeSubject")
1544
1541
  )
@@ -1574,6 +1571,13 @@ class InvestigationV2:
1574
1571
  field_name="entitiesEvidence",
1575
1572
  ),
1576
1573
  )
1574
+ assignee: Optional[TDRUser] = field(
1575
+ default=None,
1576
+ metadata=config(
1577
+ metadata={"deprecated": True, "deprecation_reason": "use assigneeSubject"},
1578
+ field_name="assignee",
1579
+ ),
1580
+ )
1577
1581
 
1578
1582
 
1579
1583
  @dataclass_json
@@ -0,0 +1,32 @@
1
+ """"Queries Service."""
2
+
3
+ from taegis_sdk_python.service_core import ServiceCore
4
+ from taegis_sdk_python.services.queries.mutations import (
5
+ TaegisSDKQueriesMutation,
6
+ )
7
+ from taegis_sdk_python.services.queries.queries import TaegisSDKQueriesQuery
8
+ from taegis_sdk_python.services.queries.subscriptions import (
9
+ TaegisSDKQueriesSubscription,
10
+ )
11
+
12
+
13
+ class QueriesService(ServiceCore):
14
+ """Taegis Queries Service."""
15
+
16
+ @property
17
+ def query(self):
18
+ if not self._queries:
19
+ self._queries = TaegisSDKQueriesQuery(self)
20
+ return self._queries
21
+
22
+ @property
23
+ def mutation(self):
24
+ if not self._mutations:
25
+ self._mutations = TaegisSDKQueriesMutation(self)
26
+ return self._mutations
27
+
28
+ @property
29
+ def subscription(self):
30
+ if not self._subscriptions:
31
+ self._subscriptions = TaegisSDKQueriesSubscription(self)
32
+ return self._subscriptions
@@ -0,0 +1,121 @@
1
+ """Queries 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.queries.types import *
20
+
21
+ if TYPE_CHECKING: # pragma: no cover
22
+ from taegis_sdk_python.services.queries import QueriesService
23
+
24
+ log = logging.getLogger(__name__)
25
+
26
+
27
+ class TaegisSDKQueriesMutation:
28
+ """Taegis Queries Mutation operations."""
29
+
30
+ def __init__(self, service: QueriesService):
31
+ self.service = service
32
+
33
+ def add_ql_query_to_history(
34
+ self, input_: AddQLQueryToHistoryInput, session: Optional[str] = None
35
+ ) -> QLQuery:
36
+ """None."""
37
+ endpoint = "addQLQueryToHistory"
38
+
39
+ result = self.service.execute_mutation(
40
+ endpoint=endpoint,
41
+ variables={
42
+ "input": prepare_input(input_),
43
+ "session": prepare_input(session),
44
+ },
45
+ output=build_output_string(QLQuery),
46
+ )
47
+ if result.get(endpoint) is not None:
48
+ return QLQuery.from_dict(result.get(endpoint))
49
+ raise GraphQLNoRowsInResultSetError("for mutation addQLQueryToHistory")
50
+
51
+ def delete_ql_queries(
52
+ self, input_: DeleteQLQueriesInput, session: Optional[str] = None
53
+ ) -> DeleteQLQueriesResults:
54
+ """None."""
55
+ endpoint = "deleteQLQueries"
56
+
57
+ result = self.service.execute_mutation(
58
+ endpoint=endpoint,
59
+ variables={
60
+ "input": prepare_input(input_),
61
+ "session": prepare_input(session),
62
+ },
63
+ output=build_output_string(DeleteQLQueriesResults),
64
+ )
65
+ if result.get(endpoint) is not None:
66
+ return DeleteQLQueriesResults.from_dict(result.get(endpoint))
67
+ raise GraphQLNoRowsInResultSetError("for mutation deleteQLQueries")
68
+
69
+ def create_saved_ql_query(
70
+ self, input_: CreateSavedQLQueryInput, session: Optional[str] = None
71
+ ) -> SavedQLQuery:
72
+ """None."""
73
+ endpoint = "createSavedQLQuery"
74
+
75
+ result = self.service.execute_mutation(
76
+ endpoint=endpoint,
77
+ variables={
78
+ "input": prepare_input(input_),
79
+ "session": prepare_input(session),
80
+ },
81
+ output=build_output_string(SavedQLQuery),
82
+ )
83
+ if result.get(endpoint) is not None:
84
+ return SavedQLQuery.from_dict(result.get(endpoint))
85
+ raise GraphQLNoRowsInResultSetError("for mutation createSavedQLQuery")
86
+
87
+ def update_saved_ql_query(
88
+ self, input_: UpdateSavedQLQueryInput, session: Optional[str] = None
89
+ ) -> SavedQLQuery:
90
+ """None."""
91
+ endpoint = "updateSavedQLQuery"
92
+
93
+ result = self.service.execute_mutation(
94
+ endpoint=endpoint,
95
+ variables={
96
+ "input": prepare_input(input_),
97
+ "session": prepare_input(session),
98
+ },
99
+ output=build_output_string(SavedQLQuery),
100
+ )
101
+ if result.get(endpoint) is not None:
102
+ return SavedQLQuery.from_dict(result.get(endpoint))
103
+ raise GraphQLNoRowsInResultSetError("for mutation updateSavedQLQuery")
104
+
105
+ def delete_saved_ql_queries(
106
+ self, input_: DeleteQLQueriesInput, session: Optional[str] = None
107
+ ) -> DeleteQLQueriesResults:
108
+ """None."""
109
+ endpoint = "deleteSavedQLQueries"
110
+
111
+ result = self.service.execute_mutation(
112
+ endpoint=endpoint,
113
+ variables={
114
+ "input": prepare_input(input_),
115
+ "session": prepare_input(session),
116
+ },
117
+ output=build_output_string(DeleteQLQueriesResults),
118
+ )
119
+ if result.get(endpoint) is not None:
120
+ return DeleteQLQueriesResults.from_dict(result.get(endpoint))
121
+ raise GraphQLNoRowsInResultSetError("for mutation deleteSavedQLQueries")
@@ -0,0 +1,135 @@
1
+ """Queries 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.queries.types import *
20
+
21
+ if TYPE_CHECKING: # pragma: no cover
22
+ from taegis_sdk_python.services.queries import QueriesService
23
+
24
+ log = logging.getLogger(__name__)
25
+
26
+
27
+ class TaegisSDKQueriesQuery:
28
+ """Taegis Queries Query operations."""
29
+
30
+ def __init__(self, service: QueriesService):
31
+ self.service = service
32
+
33
+ def ql_query(self, rn: str, session: Optional[str] = None) -> QLQuery:
34
+ """None."""
35
+ endpoint = "qlQuery"
36
+
37
+ result = self.service.execute_query(
38
+ endpoint=endpoint,
39
+ variables={
40
+ "rn": prepare_input(rn),
41
+ "session": prepare_input(session),
42
+ },
43
+ output=build_output_string(QLQuery),
44
+ )
45
+ if result.get(endpoint) is not None:
46
+ return QLQuery.from_dict(result.get(endpoint))
47
+ raise GraphQLNoRowsInResultSetError("for query qlQuery")
48
+
49
+ def ql_queries(
50
+ self, rns: List[str], session: Optional[str] = None
51
+ ) -> QLQueriesResults:
52
+ """None."""
53
+ endpoint = "qlQueries"
54
+
55
+ result = self.service.execute_query(
56
+ endpoint=endpoint,
57
+ variables={
58
+ "rns": prepare_input(rns),
59
+ "session": prepare_input(session),
60
+ },
61
+ output=build_output_string(QLQueriesResults),
62
+ )
63
+ if result.get(endpoint) is not None:
64
+ return QLQueriesResults.from_dict(result.get(endpoint))
65
+ raise GraphQLNoRowsInResultSetError("for query qlQueries")
66
+
67
+ def list_ql_queries(
68
+ self, input_: Optional[ListQLQueriesInput] = None, session: Optional[str] = None
69
+ ) -> ListQLQueriesResults:
70
+ """None."""
71
+ endpoint = "listQLQueries"
72
+
73
+ result = self.service.execute_query(
74
+ endpoint=endpoint,
75
+ variables={
76
+ "input": prepare_input(input_),
77
+ "session": prepare_input(session),
78
+ },
79
+ output=build_output_string(ListQLQueriesResults),
80
+ )
81
+ if result.get(endpoint) is not None:
82
+ return ListQLQueriesResults.from_dict(result.get(endpoint))
83
+ raise GraphQLNoRowsInResultSetError("for query listQLQueries")
84
+
85
+ def saved_ql_query(self, rn: str, session: Optional[str] = None) -> SavedQLQuery:
86
+ """None."""
87
+ endpoint = "savedQLQuery"
88
+
89
+ result = self.service.execute_query(
90
+ endpoint=endpoint,
91
+ variables={
92
+ "rn": prepare_input(rn),
93
+ "session": prepare_input(session),
94
+ },
95
+ output=build_output_string(SavedQLQuery),
96
+ )
97
+ if result.get(endpoint) is not None:
98
+ return SavedQLQuery.from_dict(result.get(endpoint))
99
+ raise GraphQLNoRowsInResultSetError("for query savedQLQuery")
100
+
101
+ def saved_ql_queries(
102
+ self, rns: List[str], session: Optional[str] = None
103
+ ) -> SavedQLQueriesResults:
104
+ """None."""
105
+ endpoint = "savedQLQueries"
106
+
107
+ result = self.service.execute_query(
108
+ endpoint=endpoint,
109
+ variables={
110
+ "rns": prepare_input(rns),
111
+ "session": prepare_input(session),
112
+ },
113
+ output=build_output_string(SavedQLQueriesResults),
114
+ )
115
+ if result.get(endpoint) is not None:
116
+ return SavedQLQueriesResults.from_dict(result.get(endpoint))
117
+ raise GraphQLNoRowsInResultSetError("for query savedQLQueries")
118
+
119
+ def list_saved_ql_queries(
120
+ self, input_: Optional[ListQLQueriesInput] = None, session: Optional[str] = None
121
+ ) -> ListSavedQLQueriesResults:
122
+ """None."""
123
+ endpoint = "listSavedQLQueries"
124
+
125
+ result = self.service.execute_query(
126
+ endpoint=endpoint,
127
+ variables={
128
+ "input": prepare_input(input_),
129
+ "session": prepare_input(session),
130
+ },
131
+ output=build_output_string(ListSavedQLQueriesResults),
132
+ )
133
+ if result.get(endpoint) is not None:
134
+ return ListSavedQLQueriesResults.from_dict(result.get(endpoint))
135
+ raise GraphQLNoRowsInResultSetError("for query listSavedQLQueries")