taegis-sdk-python 1.2.19__tar.gz → 1.2.20__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 (252) hide show
  1. {taegis_sdk_python-1.2.19/taegis_sdk_python.egg-info → taegis_sdk_python-1.2.20}/PKG-INFO +1 -1
  2. taegis_sdk_python-1.2.20/taegis_sdk_python/_version.py +1 -0
  3. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/__init__.py +10 -1
  4. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/rules/types.py +1 -0
  5. taegis_sdk_python-1.2.20/taegis_sdk_python/services/trigger_action/__init__.py +34 -0
  6. taegis_sdk_python-1.2.20/taegis_sdk_python/services/trigger_action/mutations.py +136 -0
  7. taegis_sdk_python-1.2.20/taegis_sdk_python/services/trigger_action/queries.py +172 -0
  8. taegis_sdk_python-1.2.20/taegis_sdk_python/services/trigger_action/subscriptions.py +32 -0
  9. taegis_sdk_python-1.2.20/taegis_sdk_python/services/trigger_action/types.py +231 -0
  10. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20/taegis_sdk_python.egg-info}/PKG-INFO +1 -1
  11. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python.egg-info/SOURCES.txt +5 -0
  12. taegis_sdk_python-1.2.19/taegis_sdk_python/_version.py +0 -1
  13. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/LICENSE +0 -0
  14. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/MANIFEST.in +0 -0
  15. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/README.md +0 -0
  16. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/requirements-dev.txt +0 -0
  17. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/requirements-test.txt +0 -0
  18. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/requirements.txt +0 -0
  19. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/setup.cfg +0 -0
  20. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/setup.py +0 -0
  21. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/__init__.py +0 -0
  22. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/_consts.py +0 -0
  23. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/authentication.py +0 -0
  24. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/config.py +0 -0
  25. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/errors.py +0 -0
  26. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/service_core.py +0 -0
  27. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/access_points/__init__.py +0 -0
  28. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/access_points/mutations.py +0 -0
  29. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/access_points/queries.py +0 -0
  30. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/access_points/subscriptions.py +0 -0
  31. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/access_points/types.py +0 -0
  32. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/agent/__init__.py +0 -0
  33. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/agent/mutations.py +0 -0
  34. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/agent/queries.py +0 -0
  35. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/agent/subscriptions.py +0 -0
  36. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/agent/types.py +0 -0
  37. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/alerts/__init__.py +0 -0
  38. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/alerts/mutations.py +0 -0
  39. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/alerts/queries.py +0 -0
  40. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/alerts/subscriptions.py +0 -0
  41. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/alerts/types.py +0 -0
  42. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/assets/__init__.py +0 -0
  43. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/assets/mutations.py +0 -0
  44. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/assets/queries.py +0 -0
  45. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/assets/subscriptions.py +0 -0
  46. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/assets/types.py +0 -0
  47. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/assets2/__init__.py +0 -0
  48. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/assets2/mutations.py +0 -0
  49. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/assets2/queries.py +0 -0
  50. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/assets2/subscriptions.py +0 -0
  51. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/assets2/types.py +0 -0
  52. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/audits/__init__.py +0 -0
  53. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/audits/mutations.py +0 -0
  54. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/audits/queries.py +0 -0
  55. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/audits/subscriptions.py +0 -0
  56. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/audits/types.py +0 -0
  57. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/authz/__init__.py +0 -0
  58. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/authz/mutations.py +0 -0
  59. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/authz/queries.py +0 -0
  60. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/authz/subscriptions.py +0 -0
  61. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/authz/types.py +0 -0
  62. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/byoti/__init__.py +0 -0
  63. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/byoti/mutations.py +0 -0
  64. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/byoti/queries.py +0 -0
  65. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/byoti/subscriptions.py +0 -0
  66. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/byoti/types.py +0 -0
  67. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/clients/__init__.py +0 -0
  68. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/clients/mutations.py +0 -0
  69. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/clients/queries.py +0 -0
  70. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/clients/subscriptions.py +0 -0
  71. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/clients/types.py +0 -0
  72. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/collector/__init__.py +0 -0
  73. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/collector/mutations.py +0 -0
  74. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/collector/queries.py +0 -0
  75. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/collector/subscriptions.py +0 -0
  76. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/collector/types.py +0 -0
  77. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/comments/__init__.py +0 -0
  78. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/comments/mutations.py +0 -0
  79. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/comments/queries.py +0 -0
  80. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/comments/subscriptions.py +0 -0
  81. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/comments/types.py +0 -0
  82. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/contracted_endpoint/__init__.py +0 -0
  83. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/contracted_endpoint/mutations.py +0 -0
  84. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/contracted_endpoint/queries.py +0 -0
  85. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/contracted_endpoint/subscriptions.py +0 -0
  86. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/contracted_endpoint/types.py +0 -0
  87. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/datasources/__init__.py +0 -0
  88. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/datasources/mutations.py +0 -0
  89. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/datasources/queries.py +0 -0
  90. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/datasources/subscriptions.py +0 -0
  91. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/datasources/types.py +0 -0
  92. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/detector_registry/__init__.py +0 -0
  93. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/detector_registry/mutations.py +0 -0
  94. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/detector_registry/queries.py +0 -0
  95. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/detector_registry/subscriptions.py +0 -0
  96. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/detector_registry/types.py +0 -0
  97. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/endpoint_command_manager/__init__.py +0 -0
  98. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/endpoint_command_manager/mutations.py +0 -0
  99. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/endpoint_command_manager/queries.py +0 -0
  100. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/endpoint_command_manager/subscriptions.py +0 -0
  101. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/endpoint_command_manager/types.py +0 -0
  102. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/endpoint_management_service/__init__.py +0 -0
  103. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/endpoint_management_service/mutations.py +0 -0
  104. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/endpoint_management_service/queries.py +0 -0
  105. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/endpoint_management_service/subscriptions.py +0 -0
  106. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/endpoint_management_service/types.py +0 -0
  107. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/event_search/__init__.py +0 -0
  108. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/event_search/mutations.py +0 -0
  109. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/event_search/queries.py +0 -0
  110. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/event_search/subscriptions.py +0 -0
  111. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/event_search/types.py +0 -0
  112. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/events/__init__.py +0 -0
  113. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/events/mutations.py +0 -0
  114. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/events/queries.py +0 -0
  115. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/events/subscriptions.py +0 -0
  116. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/events/types.py +0 -0
  117. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/exports/__init__.py +0 -0
  118. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/exports/mutations.py +0 -0
  119. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/exports/queries.py +0 -0
  120. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/exports/subscriptions.py +0 -0
  121. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/exports/types.py +0 -0
  122. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/fast_ioc/__init__.py +0 -0
  123. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/fast_ioc/mutations.py +0 -0
  124. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/fast_ioc/queries.py +0 -0
  125. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/fast_ioc/subscriptions.py +0 -0
  126. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/fast_ioc/types.py +0 -0
  127. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/file_info/__init__.py +0 -0
  128. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/file_info/mutations.py +0 -0
  129. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/file_info/queries.py +0 -0
  130. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/file_info/subscriptions.py +0 -0
  131. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/file_info/types.py +0 -0
  132. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/ingest_stats/__init__.py +0 -0
  133. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/ingest_stats/mutations.py +0 -0
  134. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/ingest_stats/queries.py +0 -0
  135. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/ingest_stats/subscriptions.py +0 -0
  136. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/ingest_stats/types.py +0 -0
  137. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/investigations/__init__.py +0 -0
  138. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/investigations/mutations.py +0 -0
  139. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/investigations/queries.py +0 -0
  140. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/investigations/subscriptions.py +0 -0
  141. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/investigations/types.py +0 -0
  142. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/investigations2/__init__.py +0 -0
  143. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/investigations2/mutations.py +0 -0
  144. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/investigations2/queries.py +0 -0
  145. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/investigations2/subscriptions.py +0 -0
  146. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/investigations2/types.py +0 -0
  147. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/isensor/__init__.py +0 -0
  148. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/isensor/mutations.py +0 -0
  149. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/isensor/queries.py +0 -0
  150. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/isensor/subscriptions.py +0 -0
  151. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/isensor/types.py +0 -0
  152. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/mitre_attack_info/__init__.py +0 -0
  153. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/mitre_attack_info/mutations.py +0 -0
  154. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/mitre_attack_info/queries.py +0 -0
  155. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/mitre_attack_info/subscriptions.py +0 -0
  156. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/mitre_attack_info/types.py +0 -0
  157. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/multi_tenant_context/__init__.py +0 -0
  158. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/multi_tenant_context/mutations.py +0 -0
  159. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/multi_tenant_context/queries.py +0 -0
  160. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/multi_tenant_context/subscriptions.py +0 -0
  161. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/multi_tenant_context/types.py +0 -0
  162. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/multi_tenant_ioc/__init__.py +0 -0
  163. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/multi_tenant_ioc/mutations.py +0 -0
  164. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/multi_tenant_ioc/queries.py +0 -0
  165. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/multi_tenant_ioc/subscriptions.py +0 -0
  166. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/multi_tenant_ioc/types.py +0 -0
  167. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/notebooks/__init__.py +0 -0
  168. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/notebooks/mutations.py +0 -0
  169. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/notebooks/queries.py +0 -0
  170. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/notebooks/subscriptions.py +0 -0
  171. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/notebooks/types.py +0 -0
  172. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/notifications/__init__.py +0 -0
  173. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/notifications/mutations.py +0 -0
  174. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/notifications/queries.py +0 -0
  175. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/notifications/subscriptions.py +0 -0
  176. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/notifications/types.py +0 -0
  177. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/preferences/__init__.py +0 -0
  178. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/preferences/mutations.py +0 -0
  179. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/preferences/queries.py +0 -0
  180. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/preferences/subscriptions.py +0 -0
  181. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/preferences/types.py +0 -0
  182. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/queries/__init__.py +0 -0
  183. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/queries/mutations.py +0 -0
  184. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/queries/queries.py +0 -0
  185. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/queries/subscriptions.py +0 -0
  186. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/queries/types.py +0 -0
  187. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/roadrunner/__init__.py +0 -0
  188. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/roadrunner/mutations.py +0 -0
  189. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/roadrunner/queries.py +0 -0
  190. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/roadrunner/subscriptions.py +0 -0
  191. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/roadrunner/types.py +0 -0
  192. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/rules/__init__.py +0 -0
  193. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/rules/mutations.py +0 -0
  194. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/rules/queries.py +0 -0
  195. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/rules/subscriptions.py +0 -0
  196. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/sharelinks/__init__.py +0 -0
  197. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/sharelinks/mutations.py +0 -0
  198. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/sharelinks/queries.py +0 -0
  199. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/sharelinks/subscriptions.py +0 -0
  200. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/sharelinks/types.py +0 -0
  201. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/subjects/__init__.py +0 -0
  202. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/subjects/mutations.py +0 -0
  203. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/subjects/queries.py +0 -0
  204. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/subjects/subscriptions.py +0 -0
  205. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/subjects/types.py +0 -0
  206. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/tenant_profiles/__init__.py +0 -0
  207. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/tenant_profiles/mutations.py +0 -0
  208. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/tenant_profiles/queries.py +0 -0
  209. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/tenant_profiles/subscriptions.py +0 -0
  210. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/tenant_profiles/types.py +0 -0
  211. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/tenants/__init__.py +0 -0
  212. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/tenants/mutations.py +0 -0
  213. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/tenants/queries.py +0 -0
  214. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/tenants/subscriptions.py +0 -0
  215. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/tenants/types.py +0 -0
  216. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/tenants4/__init__.py +0 -0
  217. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/tenants4/mutations.py +0 -0
  218. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/tenants4/queries.py +0 -0
  219. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/tenants4/subscriptions.py +0 -0
  220. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/tenants4/types.py +0 -0
  221. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/threat/__init__.py +0 -0
  222. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/threat/mutations.py +0 -0
  223. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/threat/queries.py +0 -0
  224. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/threat/subscriptions.py +0 -0
  225. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/threat/types.py +0 -0
  226. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/threat_score/__init__.py +0 -0
  227. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/threat_score/mutations.py +0 -0
  228. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/threat_score/queries.py +0 -0
  229. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/threat_score/subscriptions.py +0 -0
  230. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/threat_score/types.py +0 -0
  231. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/trip/__init__.py +0 -0
  232. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/trip/mutations.py +0 -0
  233. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/trip/queries.py +0 -0
  234. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/trip/subscriptions.py +0 -0
  235. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/trip/types.py +0 -0
  236. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/users/__init__.py +0 -0
  237. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/users/mutations.py +0 -0
  238. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/users/queries.py +0 -0
  239. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/users/subscriptions.py +0 -0
  240. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/users/types.py +0 -0
  241. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/vdr/__init__.py +0 -0
  242. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/vdr/mutations.py +0 -0
  243. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/vdr/queries.py +0 -0
  244. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/vdr/subscriptions.py +0 -0
  245. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/services/vdr/types.py +0 -0
  246. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/tokens.py +0 -0
  247. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/transport/__init__.py +0 -0
  248. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/transport/aiohttp_websockets.py +0 -0
  249. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python/utils.py +0 -0
  250. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python.egg-info/dependency_links.txt +0 -0
  251. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/taegis_sdk_python.egg-info/requires.txt +0 -0
  252. {taegis_sdk_python-1.2.19 → taegis_sdk_python-1.2.20}/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.19
3
+ Version: 1.2.20
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.20"
@@ -61,6 +61,7 @@ from taegis_sdk_python.services.tenants import TenantsService
61
61
  from taegis_sdk_python.services.tenants4 import Tenants4Service
62
62
  from taegis_sdk_python.services.threat import ThreatService
63
63
  from taegis_sdk_python.services.threat_score import ThreatScoreService
64
+ from taegis_sdk_python.services.trigger_action import TriggerActionService
64
65
  from taegis_sdk_python.services.trip import TripService
65
66
  from taegis_sdk_python.services.users import UsersService
66
67
  from taegis_sdk_python.services.vdr import VDRService
@@ -185,6 +186,7 @@ class GraphQLService:
185
186
  self._tenants4 = None
186
187
  self._threat = None
187
188
  self._threat_score = None
189
+ self._trigger_action = None
188
190
  self._trip = None
189
191
  self._users = None
190
192
  self._vdr = None
@@ -642,6 +644,13 @@ class GraphQLService:
642
644
  self._threat_score = ThreatScoreService(self)
643
645
  return self._threat_score
644
646
 
647
+ @property
648
+ def trigger_action(self):
649
+ """Trigger Action Service Endpoint."""
650
+ if not self._trigger_action:
651
+ self._trigger_action = TriggerActionService(self)
652
+ return self._trigger_action
653
+
645
654
  @property
646
655
  def trip(self):
647
656
  """Trip Service Endpoint."""
@@ -658,7 +667,7 @@ class GraphQLService:
658
667
 
659
668
  @property
660
669
  def vdr(self):
661
- """Users Service Endpoint."""
670
+ """VDR Service Endpoint."""
662
671
  if not self._vdr:
663
672
  self._vdr = VDRService(self)
664
673
  return self._vdr
@@ -42,6 +42,7 @@ class RuleEventType(str, Enum):
42
42
  THIRDPARTYALERT = "thirdpartyalert"
43
43
  THREAD_INJECTION = "thread_injection"
44
44
  PROCESS_MODULE = "process_module"
45
+ TAEGIS_AGENT_DETECTION = "taegis_agent_detection"
45
46
 
46
47
 
47
48
  class RuleEndpointPlatform(str, Enum):
@@ -0,0 +1,34 @@
1
+ """"TriggerAction Service."""
2
+
3
+ from taegis_sdk_python.service_core import ServiceCore
4
+ from taegis_sdk_python.services.trigger_action.mutations import (
5
+ TaegisSDKTriggerActionMutation,
6
+ )
7
+ from taegis_sdk_python.services.trigger_action.queries import (
8
+ TaegisSDKTriggerActionQuery,
9
+ )
10
+ from taegis_sdk_python.services.trigger_action.subscriptions import (
11
+ TaegisSDKTriggerActionSubscription,
12
+ )
13
+
14
+
15
+ class TriggerActionService(ServiceCore):
16
+ """Taegis TriggerAction Service."""
17
+
18
+ @property
19
+ def query(self):
20
+ if not self._queries:
21
+ self._queries = TaegisSDKTriggerActionQuery(self)
22
+ return self._queries
23
+
24
+ @property
25
+ def mutation(self):
26
+ if not self._mutations:
27
+ self._mutations = TaegisSDKTriggerActionMutation(self)
28
+ return self._mutations
29
+
30
+ @property
31
+ def subscription(self):
32
+ if not self._subscriptions:
33
+ self._subscriptions = TaegisSDKTriggerActionSubscription(self)
34
+ return self._subscriptions
@@ -0,0 +1,136 @@
1
+ """TriggerAction 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._consts import TaegisEnum
15
+ from taegis_sdk_python.services.trigger_action.types import *
16
+ from taegis_sdk_python.utils import (
17
+ build_output_string,
18
+ parse_union_result,
19
+ prepare_input,
20
+ )
21
+
22
+ if TYPE_CHECKING: # pragma: no cover
23
+ from taegis_sdk_python.services.trigger_action import TriggerActionService
24
+
25
+ log = logging.getLogger(__name__)
26
+
27
+
28
+ class TaegisSDKTriggerActionMutation:
29
+ """Taegis Trigger_action Mutation operations."""
30
+
31
+ def __init__(self, service: TriggerActionService):
32
+ self.service = service
33
+
34
+ def execute_action(self, input_: ExecuteActionInput) -> PlaybookExecution:
35
+ """executeAction executes a playbook against an object."""
36
+ endpoint = "executeAction"
37
+
38
+ result = self.service.execute_mutation(
39
+ endpoint=endpoint,
40
+ variables={
41
+ "input": prepare_input(input_),
42
+ },
43
+ output=build_output_string(PlaybookExecution),
44
+ )
45
+ if result.get(endpoint) is not None:
46
+ return PlaybookExecution.from_dict(result.get(endpoint))
47
+ raise GraphQLNoRowsInResultSetError("for mutation executeAction")
48
+
49
+ def execute_bulk_action(self, input_: ExecuteBulkActionInput) -> BulkActions:
50
+ """executeBulkAction executes a playbook against a list of entities."""
51
+ endpoint = "executeBulkAction"
52
+
53
+ result = self.service.execute_mutation(
54
+ endpoint=endpoint,
55
+ variables={
56
+ "input": prepare_input(input_),
57
+ },
58
+ output=build_output_string(BulkActions),
59
+ )
60
+ if result.get(endpoint) is not None:
61
+ return BulkActions.from_dict(result.get(endpoint))
62
+ raise GraphQLNoRowsInResultSetError("for mutation executeBulkAction")
63
+
64
+ def execute_playbook_action(
65
+ self,
66
+ playbook_action: str,
67
+ inputs: Any,
68
+ target_resource: Optional[str] = None,
69
+ reason: Optional[str] = None,
70
+ ) -> PlaybookExecution:
71
+ """executePlaybookAction is deprecated, use executePlaybookActionsV2 instead. This endpoint does not support entities."""
72
+ endpoint = "executePlaybookAction"
73
+
74
+ log.warning(
75
+ f"GraphQL Mutation `{endpoint}` is deprecated: 'Use executeBulkAction instead'"
76
+ )
77
+
78
+ result = self.service.execute_mutation(
79
+ endpoint=endpoint,
80
+ variables={
81
+ "playbookAction": prepare_input(playbook_action),
82
+ "inputs": prepare_input(inputs),
83
+ "targetResource": prepare_input(target_resource),
84
+ "reason": prepare_input(reason),
85
+ },
86
+ output=build_output_string(PlaybookExecution),
87
+ )
88
+ if result.get(endpoint) is not None:
89
+ return PlaybookExecution.from_dict(result.get(endpoint))
90
+ raise GraphQLNoRowsInResultSetError("for mutation executePlaybookAction")
91
+
92
+ def execute_playbook_actions(
93
+ self, input_: List[ExecutePlaybookActionInput]
94
+ ) -> List[PlaybookExecution]:
95
+ """executePlaybookActions is deprecated, use executePlaybookActionsV2 instead. This endpoint does not support entities."""
96
+ endpoint = "executePlaybookActions"
97
+
98
+ log.warning(
99
+ f"GraphQL Mutation `{endpoint}` is deprecated: 'Use executeBulkAction instead'"
100
+ )
101
+
102
+ result = self.service.execute_mutation(
103
+ endpoint=endpoint,
104
+ variables={
105
+ "input": prepare_input(input_),
106
+ },
107
+ output=build_output_string(PlaybookExecution),
108
+ )
109
+ if result.get(endpoint) is not None:
110
+ return PlaybookExecution.schema().load(
111
+ [r or {} for r in result.get(endpoint)], many=True
112
+ )
113
+ raise GraphQLNoRowsInResultSetError("for mutation executePlaybookActions")
114
+
115
+ def execute_playbook_actions_v2(
116
+ self, input_: List[ExecutePlaybookActionV2Input]
117
+ ) -> List[PlaybookExecution]:
118
+ """executePlaybookActionsV2 starts a playbook response or context lookup action."""
119
+ endpoint = "executePlaybookActionsV2"
120
+
121
+ log.warning(
122
+ f"GraphQL Mutation `{endpoint}` is deprecated: 'Use executeBulkAction instead'"
123
+ )
124
+
125
+ result = self.service.execute_mutation(
126
+ endpoint=endpoint,
127
+ variables={
128
+ "input": prepare_input(input_),
129
+ },
130
+ output=build_output_string(PlaybookExecution),
131
+ )
132
+ if result.get(endpoint) is not None:
133
+ return PlaybookExecution.schema().load(
134
+ [r or {} for r in result.get(endpoint)], many=True
135
+ )
136
+ raise GraphQLNoRowsInResultSetError("for mutation executePlaybookActionsV2")
@@ -0,0 +1,172 @@
1
+ """TriggerAction 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._consts import TaegisEnum
15
+ from taegis_sdk_python.services.trigger_action.types import *
16
+ from taegis_sdk_python.utils import (
17
+ build_output_string,
18
+ parse_union_result,
19
+ prepare_input,
20
+ )
21
+
22
+ if TYPE_CHECKING: # pragma: no cover
23
+ from taegis_sdk_python.services.trigger_action import TriggerActionService
24
+
25
+
26
+ log = logging.getLogger(__name__)
27
+
28
+
29
+ class TaegisSDKTriggerActionQuery:
30
+ """Taegis Trigger_action Query operations."""
31
+
32
+ def __init__(self, service: TriggerActionService):
33
+ self.service = service
34
+
35
+ def playbook_action_category(self, id_: str) -> PlaybookActionCategory:
36
+ """playbookActionCategory accepts an action id and returns the category the action falls into."""
37
+ endpoint = "playbookActionCategory"
38
+
39
+ result = self.service.execute_query(
40
+ endpoint=endpoint,
41
+ variables={
42
+ "id": prepare_input(id_),
43
+ },
44
+ output=build_output_string(PlaybookActionCategory),
45
+ )
46
+ if result.get(endpoint) is not None:
47
+ return PlaybookActionCategory.from_dict(result.get(endpoint))
48
+ raise GraphQLNoRowsInResultSetError("for query playbookActionCategory")
49
+
50
+ def playbook_action_categories(self) -> List[PlaybookActionCategory]:
51
+ """playbookActionCategories return a list of all the possible categories an action can be tied to."""
52
+ endpoint = "playbookActionCategories"
53
+
54
+ result = self.service.execute_query(
55
+ endpoint=endpoint,
56
+ variables={},
57
+ output=build_output_string(PlaybookActionCategory),
58
+ )
59
+ if result.get(endpoint) is not None:
60
+ return PlaybookActionCategory.schema().load(
61
+ [r or {} for r in result.get(endpoint)], many=True
62
+ )
63
+ raise GraphQLNoRowsInResultSetError("for query playbookActionCategories")
64
+
65
+ def playbook_action_context(self, id_: str) -> PlaybookActionContext:
66
+ """playbookActionContext returns a single response action context."""
67
+ endpoint = "playbookActionContext"
68
+
69
+ result = self.service.execute_query(
70
+ endpoint=endpoint,
71
+ variables={
72
+ "id": prepare_input(id_),
73
+ },
74
+ output=build_output_string(PlaybookActionContext),
75
+ )
76
+ if result.get(endpoint) is not None:
77
+ return PlaybookActionContext.from_dict(result.get(endpoint))
78
+ raise GraphQLNoRowsInResultSetError("for query playbookActionContext")
79
+
80
+ def playbook_action_contexts(self) -> List[PlaybookActionContext]:
81
+ """playbookActionContexts returns all registered action contexts that can be associated to response actions."""
82
+ endpoint = "playbookActionContexts"
83
+
84
+ result = self.service.execute_query(
85
+ endpoint=endpoint,
86
+ variables={},
87
+ output=build_output_string(PlaybookActionContext),
88
+ )
89
+ if result.get(endpoint) is not None:
90
+ return PlaybookActionContext.schema().load(
91
+ [r or {} for r in result.get(endpoint)], many=True
92
+ )
93
+ raise GraphQLNoRowsInResultSetError("for query playbookActionContexts")
94
+
95
+ def playbook_actions(
96
+ self,
97
+ playbook_action_context: str,
98
+ inputs: Any,
99
+ playbook_action_category: Optional[str] = None,
100
+ ) -> List[PlaybookAction]:
101
+ """playbookActions returns all actions that can be taken for a given context, category and input."""
102
+ endpoint = "playbookActions"
103
+
104
+ result = self.service.execute_query(
105
+ endpoint=endpoint,
106
+ variables={
107
+ "playbookActionContext": prepare_input(playbook_action_context),
108
+ "playbookActionCategory": prepare_input(playbook_action_category),
109
+ "inputs": prepare_input(inputs),
110
+ },
111
+ output=build_output_string(PlaybookAction),
112
+ )
113
+ if result.get(endpoint) is not None:
114
+ return PlaybookAction.schema().load(
115
+ [r or {} for r in result.get(endpoint)], many=True
116
+ )
117
+ raise GraphQLNoRowsInResultSetError("for query playbookActions")
118
+
119
+ def playbook_actions_configured(
120
+ self, arguments: Optional[PlaybookActionsConfiguredArguments] = None
121
+ ) -> List[PlaybookAction]:
122
+ """playbookActionsConfigured returns all known trigger actions
123
+
124
+ Scoped by the caller's tenant id."""
125
+ endpoint = "playbookActionsConfigured"
126
+
127
+ result = self.service.execute_query(
128
+ endpoint=endpoint,
129
+ variables={
130
+ "arguments": prepare_input(arguments),
131
+ },
132
+ output=build_output_string(PlaybookAction),
133
+ )
134
+ if result.get(endpoint) is not None:
135
+ return PlaybookAction.schema().load(
136
+ [r or {} for r in result.get(endpoint)], many=True
137
+ )
138
+ raise GraphQLNoRowsInResultSetError("for query playbookActionsConfigured")
139
+
140
+ def playbook_actions_v2(
141
+ self, arguments: PlaybookActionsV2Arguments
142
+ ) -> PlaybookActions:
143
+ """playbookActionsV2 returns all known trigger actions
144
+
145
+ Scoped by the caller's tenant id."""
146
+ endpoint = "playbookActionsV2"
147
+
148
+ result = self.service.execute_query(
149
+ endpoint=endpoint,
150
+ variables={
151
+ "arguments": prepare_input(arguments),
152
+ },
153
+ output=build_output_string(PlaybookActions),
154
+ )
155
+ if result.get(endpoint) is not None:
156
+ return PlaybookActions.from_dict(result.get(endpoint))
157
+ raise GraphQLNoRowsInResultSetError("for query playbookActionsV2")
158
+
159
+ def evaluate_expr(self, input_: ExprInput) -> ExprResult:
160
+ """Test an expression against a context."""
161
+ endpoint = "evaluateExpr"
162
+
163
+ result = self.service.execute_query(
164
+ endpoint=endpoint,
165
+ variables={
166
+ "input": prepare_input(input_),
167
+ },
168
+ output=build_output_string(ExprResult),
169
+ )
170
+ if result.get(endpoint) is not None:
171
+ return ExprResult.from_dict(result.get(endpoint))
172
+ raise GraphQLNoRowsInResultSetError("for query evaluateExpr")
@@ -0,0 +1,32 @@
1
+ """TriggerAction 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._consts import TaegisEnum
15
+ from taegis_sdk_python.services.trigger_action.types import *
16
+ from taegis_sdk_python.utils import (
17
+ build_output_string,
18
+ parse_union_result,
19
+ prepare_input,
20
+ )
21
+
22
+ if TYPE_CHECKING: # pragma: no cover
23
+ from taegis_sdk_python.services.trigger_action import TriggerActionService
24
+
25
+ log = logging.getLogger(__name__)
26
+
27
+
28
+ class TaegisSDKTriggerActionSubscription:
29
+ """Taegis Trigger_action Subscription operations."""
30
+
31
+ def __init__(self, service: TriggerActionService):
32
+ self.service = service
@@ -0,0 +1,231 @@
1
+ """TriggerAction 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 dataclasses import dataclass, field
8
+
9
+ from typing import Any, Dict, List, Optional, Tuple, Union
10
+
11
+ from dataclasses_json import config, dataclass_json
12
+
13
+
14
+ @dataclass_json
15
+ @dataclass(order=True, eq=True, frozen=True)
16
+ class PlaybookExecution:
17
+ """PlaybookExecution."""
18
+
19
+ id: Optional[str] = field(default=None, metadata=config(field_name="id"))
20
+
21
+
22
+ @dataclass_json
23
+ @dataclass(order=True, eq=True, frozen=True)
24
+ class PlaybookActionCategory:
25
+ """PlaybookActionCategory."""
26
+
27
+ id: Optional[str] = field(default=None, metadata=config(field_name="id"))
28
+ name: Optional[str] = field(default=None, metadata=config(field_name="name"))
29
+ description: Optional[str] = field(
30
+ default=None, metadata=config(field_name="description")
31
+ )
32
+
33
+
34
+ @dataclass_json
35
+ @dataclass(order=True, eq=True, frozen=True)
36
+ class PlaybookActionContext:
37
+ """PlaybookActionContext."""
38
+
39
+ id: Optional[str] = field(default=None, metadata=config(field_name="id"))
40
+ name: Optional[str] = field(default=None, metadata=config(field_name="name"))
41
+ description: Optional[str] = field(
42
+ default=None, metadata=config(field_name="description")
43
+ )
44
+
45
+
46
+ @dataclass_json
47
+ @dataclass(order=True, eq=True, frozen=True)
48
+ class ExecuteActionInput:
49
+ """ExecuteActionInput."""
50
+
51
+ playbook_action_id: Optional[str] = field(
52
+ default=None, metadata=config(field_name="playbookActionId")
53
+ )
54
+ target_resource_id: Optional[str] = field(
55
+ default=None, metadata=config(field_name="targetResourceId")
56
+ )
57
+ reason: Optional[str] = field(default=None, metadata=config(field_name="reason"))
58
+ investigation_id: Optional[str] = field(
59
+ default=None, metadata=config(field_name="investigationId")
60
+ )
61
+
62
+
63
+ @dataclass_json
64
+ @dataclass(order=True, eq=True, frozen=True)
65
+ class ExecuteBulkActionInput:
66
+ """ExecuteBulkActionInput."""
67
+
68
+ playbook_action_id: Optional[str] = field(
69
+ default=None, metadata=config(field_name="playbookActionId")
70
+ )
71
+ target_resource_ids: Optional[List[str]] = field(
72
+ default=None, metadata=config(field_name="targetResourceIds")
73
+ )
74
+ reason: Optional[str] = field(default=None, metadata=config(field_name="reason"))
75
+ investigation_id: Optional[str] = field(
76
+ default=None, metadata=config(field_name="investigationId")
77
+ )
78
+
79
+
80
+ @dataclass_json
81
+ @dataclass(order=True, eq=True, frozen=True)
82
+ class PlaybookActionsV2Arguments:
83
+ """PlaybookActionsV2Arguments."""
84
+
85
+ proactive_response_only: Optional[bool] = field(
86
+ default=None, metadata=config(field_name="proactiveResponseOnly")
87
+ )
88
+ page: Optional[int] = field(default=None, metadata=config(field_name="page"))
89
+ per_page: Optional[int] = field(default=None, metadata=config(field_name="perPage"))
90
+
91
+
92
+ @dataclass_json
93
+ @dataclass(order=True, eq=True, frozen=True)
94
+ class PlaybookActionsConfiguredArguments:
95
+ """PlaybookActionsConfiguredArguments."""
96
+
97
+ configured_only: Optional[bool] = field(
98
+ default=None, metadata=config(field_name="configuredOnly")
99
+ )
100
+ page: Optional[int] = field(default=None, metadata=config(field_name="page"))
101
+ per_page: Optional[int] = field(default=None, metadata=config(field_name="perPage"))
102
+
103
+
104
+ @dataclass_json
105
+ @dataclass(order=True, eq=True, frozen=True)
106
+ class ExecutePlaybookActionV2Input:
107
+ """ExecutePlaybookActionV2Input."""
108
+
109
+ playbook_action_id: Optional[str] = field(
110
+ default=None, metadata=config(field_name="playbookActionId")
111
+ )
112
+ target_resource_id: Optional[str] = field(
113
+ default=None, metadata=config(field_name="targetResourceId")
114
+ )
115
+ reason: Optional[str] = field(default=None, metadata=config(field_name="reason"))
116
+ investigation_id: Optional[str] = field(
117
+ default=None, metadata=config(field_name="investigationId")
118
+ )
119
+
120
+
121
+ @dataclass_json
122
+ @dataclass(order=True, eq=True, frozen=True)
123
+ class PlaybookActionsArguments:
124
+ """PlaybookActionsArguments."""
125
+
126
+ playbook_action_id: Optional[str] = field(
127
+ default=None, metadata=config(field_name="playbookActionId")
128
+ )
129
+ target_resource_id: Optional[str] = field(
130
+ default=None, metadata=config(field_name="targetResourceId")
131
+ )
132
+
133
+
134
+ @dataclass_json
135
+ @dataclass(order=True, eq=True, frozen=True)
136
+ class ExprInput:
137
+ """ExprInput."""
138
+
139
+ expression: Optional[str] = field(
140
+ default=None, metadata=config(field_name="expression")
141
+ )
142
+ resource_id: Optional[str] = field(
143
+ default=None, metadata=config(field_name="resourceId")
144
+ )
145
+ resource_type: Optional[str] = field(
146
+ default=None, metadata=config(field_name="resourceType")
147
+ )
148
+ inputs: Optional[Any] = field(default=None, metadata=config(field_name="inputs"))
149
+
150
+
151
+ @dataclass_json
152
+ @dataclass(order=True, eq=True, frozen=True)
153
+ class ExprResult:
154
+ """ExprResult."""
155
+
156
+ resolved_inputs: Optional[Any] = field(
157
+ default=None, metadata=config(field_name="resolvedInputs")
158
+ )
159
+ output: Optional[Any] = field(default=None, metadata=config(field_name="output"))
160
+ error_message: Optional[str] = field(
161
+ default=None, metadata=config(field_name="errorMessage")
162
+ )
163
+
164
+
165
+ @dataclass_json
166
+ @dataclass(order=True, eq=True, frozen=True)
167
+ class ExecutePlaybookActionInput:
168
+ """ExecutePlaybookActionInput."""
169
+
170
+ playbook_action: Optional[str] = field(
171
+ default=None, metadata=config(field_name="playbookAction")
172
+ )
173
+ inputs: Optional[Any] = field(default=None, metadata=config(field_name="inputs"))
174
+ target_resource: Optional[str] = field(
175
+ default=None, metadata=config(field_name="targetResource")
176
+ )
177
+ reason: Optional[str] = field(default=None, metadata=config(field_name="reason"))
178
+
179
+
180
+ @dataclass_json
181
+ @dataclass(order=True, eq=True, frozen=True)
182
+ class BulkActions:
183
+ """BulkActions."""
184
+
185
+ executions: Optional[List[PlaybookExecution]] = field(
186
+ default=None, metadata=config(field_name="executions")
187
+ )
188
+
189
+
190
+ @dataclass_json
191
+ @dataclass(order=True, eq=True, frozen=True)
192
+ class PlaybookAction:
193
+ """PlaybookAction."""
194
+
195
+ id: Optional[str] = field(default=None, metadata=config(field_name="id"))
196
+ name: Optional[str] = field(default=None, metadata=config(field_name="name"))
197
+ tenant: Optional[str] = field(default=None, metadata=config(field_name="tenant"))
198
+ description: Optional[str] = field(
199
+ default=None, metadata=config(field_name="description")
200
+ )
201
+ is_enabled: Optional[bool] = field(
202
+ default=None, metadata=config(field_name="isEnabled")
203
+ )
204
+ is_proactive: Optional[bool] = field(
205
+ default=None, metadata=config(field_name="isProactive")
206
+ )
207
+ is_pre_approved: Optional[bool] = field(
208
+ default=None, metadata=config(field_name="isPreApproved")
209
+ )
210
+ approved_by: Optional[str] = field(
211
+ default=None, metadata=config(field_name="approvedBy")
212
+ )
213
+ category: Optional[PlaybookActionCategory] = field(
214
+ default=None, metadata=config(field_name="category")
215
+ )
216
+ context: Optional[PlaybookActionContext] = field(
217
+ default=None, metadata=config(field_name="context")
218
+ )
219
+
220
+
221
+ @dataclass_json
222
+ @dataclass(order=True, eq=True, frozen=True)
223
+ class PlaybookActions:
224
+ """PlaybookActions."""
225
+
226
+ total_count: Optional[int] = field(
227
+ default=None, metadata=config(field_name="totalCount")
228
+ )
229
+ actions: Optional[List[PlaybookAction]] = field(
230
+ default=None, metadata=config(field_name="actions")
231
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: taegis-sdk-python
3
- Version: 1.2.19
3
+ Version: 1.2.20
4
4
  Summary: Taegis Python SDK
5
5
  Home-page: https://github.com/secureworks/taegis-sdk-python
6
6
  Author: Secureworks
@@ -225,6 +225,11 @@ taegis_sdk_python/services/threat_score/mutations.py
225
225
  taegis_sdk_python/services/threat_score/queries.py
226
226
  taegis_sdk_python/services/threat_score/subscriptions.py
227
227
  taegis_sdk_python/services/threat_score/types.py
228
+ taegis_sdk_python/services/trigger_action/__init__.py
229
+ taegis_sdk_python/services/trigger_action/mutations.py
230
+ taegis_sdk_python/services/trigger_action/queries.py
231
+ taegis_sdk_python/services/trigger_action/subscriptions.py
232
+ taegis_sdk_python/services/trigger_action/types.py
228
233
  taegis_sdk_python/services/trip/__init__.py
229
234
  taegis_sdk_python/services/trip/mutations.py
230
235
  taegis_sdk_python/services/trip/queries.py