taegis-sdk-python 1.6.2__tar.gz → 1.6.4__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 (294) hide show
  1. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/PKG-INFO +1 -1
  2. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/_version.py +1 -1
  3. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/assets2/queries.py +69 -0
  4. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/assets2/types.py +17 -0
  5. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/authz/queries.py +2 -1
  6. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/authz/types.py +3 -0
  7. taegis_sdk_python-1.6.4/taegis_sdk_python/services/datasources/mutations.py +117 -0
  8. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/datasources/queries.py +28 -0
  9. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/datasources/types.py +61 -22
  10. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/entity_context/queries.py +24 -0
  11. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/entity_context/types.py +39 -0
  12. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/investigations2/mutations.py +5 -5
  13. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/investigations2/queries.py +1 -1
  14. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/investigations2/types.py +78 -64
  15. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/process_trees/queries.py +3 -1
  16. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/rules/types.py +2 -0
  17. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/tenants/types.py +44 -73
  18. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/tenants4/types.py +19 -2
  19. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/threat/queries.py +53 -5
  20. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/threat/types.py +61 -0
  21. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/users/mutations.py +18 -1
  22. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/users/types.py +7 -0
  23. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/xdr_central_connector/mutations.py +34 -0
  24. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/xdr_central_connector/queries.py +13 -0
  25. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/xdr_central_connector/types.py +109 -0
  26. taegis_sdk_python-1.6.2/taegis_sdk_python/services/datasources/mutations.py +0 -54
  27. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/.gitignore +0 -0
  28. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/LICENSE +0 -0
  29. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/README.md +0 -0
  30. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/pyproject.toml +0 -0
  31. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/__init__.py +0 -0
  32. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/_consts.py +0 -0
  33. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/authentication.py +0 -0
  34. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/commons/__init__.py +0 -0
  35. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/commons/alerts/__init__.py +0 -0
  36. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/commons/alerts/federated_search.py +0 -0
  37. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/commons/alerts/search.py +0 -0
  38. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/commons/cases/__init__.py +0 -0
  39. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/commons/cases/federated_search.py +0 -0
  40. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/commons/cases/search.py +0 -0
  41. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/commons/events/__init__.py +0 -0
  42. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/commons/events/search.py +0 -0
  43. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/commons/investigations/__init__.py +0 -0
  44. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/commons/investigations/federated_search.py +0 -0
  45. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/commons/investigations/search.py +0 -0
  46. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/commons/sharelinks/__init__.py +0 -0
  47. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/commons/sharelinks/create.py +0 -0
  48. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/commons/sharelinks/unfurl.py +0 -0
  49. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/config.py +0 -0
  50. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/errors.py +0 -0
  51. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/middlewares/__init__.py +0 -0
  52. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/middlewares/logging/__init__.py +0 -0
  53. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/middlewares/logging/_default.py +0 -0
  54. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/middlewares/retry/__init__.py +0 -0
  55. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/middlewares/retry/_default.py +0 -0
  56. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/middlewares/utils.py +0 -0
  57. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/service_core.py +0 -0
  58. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/__init__.py +0 -0
  59. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/access_points/__init__.py +0 -0
  60. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/access_points/mutations.py +0 -0
  61. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/access_points/queries.py +0 -0
  62. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/access_points/subscriptions.py +0 -0
  63. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/access_points/types.py +0 -0
  64. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/agent/__init__.py +0 -0
  65. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/agent/mutations.py +0 -0
  66. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/agent/queries.py +0 -0
  67. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/agent/subscriptions.py +0 -0
  68. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/agent/types.py +0 -0
  69. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/alerts/__init__.py +0 -0
  70. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/alerts/mutations.py +0 -0
  71. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/alerts/queries.py +0 -0
  72. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/alerts/subscriptions.py +0 -0
  73. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/alerts/types.py +738 -738
  74. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/alerts_history/__init__.py +0 -0
  75. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/alerts_history/mutations.py +0 -0
  76. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/alerts_history/queries.py +0 -0
  77. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/alerts_history/subscriptions.py +0 -0
  78. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/alerts_history/types.py +0 -0
  79. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/assets/__init__.py +0 -0
  80. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/assets/mutations.py +0 -0
  81. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/assets/queries.py +0 -0
  82. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/assets/subscriptions.py +0 -0
  83. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/assets/types.py +0 -0
  84. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/assets2/__init__.py +0 -0
  85. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/assets2/mutations.py +0 -0
  86. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/assets2/subscriptions.py +0 -0
  87. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/audits/__init__.py +0 -0
  88. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/audits/mutations.py +0 -0
  89. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/audits/queries.py +0 -0
  90. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/audits/subscriptions.py +0 -0
  91. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/audits/types.py +0 -0
  92. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/authz/__init__.py +0 -0
  93. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/authz/mutations.py +0 -0
  94. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/authz/subscriptions.py +0 -0
  95. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/byoti/__init__.py +0 -0
  96. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/byoti/mutations.py +0 -0
  97. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/byoti/queries.py +0 -0
  98. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/byoti/subscriptions.py +0 -0
  99. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/byoti/types.py +0 -0
  100. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/clients/__init__.py +0 -0
  101. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/clients/mutations.py +0 -0
  102. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/clients/queries.py +0 -0
  103. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/clients/subscriptions.py +0 -0
  104. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/clients/types.py +0 -0
  105. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/collector/__init__.py +0 -0
  106. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/collector/mutations.py +0 -0
  107. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/collector/queries.py +0 -0
  108. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/collector/subscriptions.py +0 -0
  109. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/collector/types.py +0 -0
  110. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/comments/__init__.py +0 -0
  111. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/comments/mutations.py +0 -0
  112. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/comments/queries.py +0 -0
  113. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/comments/subscriptions.py +0 -0
  114. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/comments/types.py +0 -0
  115. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/contracted_endpoint/__init__.py +0 -0
  116. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/contracted_endpoint/mutations.py +0 -0
  117. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/contracted_endpoint/queries.py +0 -0
  118. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/contracted_endpoint/subscriptions.py +0 -0
  119. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/contracted_endpoint/types.py +0 -0
  120. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/cql_metadata/__init__.py +0 -0
  121. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/cql_metadata/mutations.py +0 -0
  122. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/cql_metadata/queries.py +0 -0
  123. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/cql_metadata/subscriptions.py +0 -0
  124. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/cql_metadata/types.py +0 -0
  125. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/datasources/__init__.py +0 -0
  126. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/datasources/subscriptions.py +0 -0
  127. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/detector_registry/__init__.py +0 -0
  128. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/detector_registry/mutations.py +0 -0
  129. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/detector_registry/queries.py +0 -0
  130. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/detector_registry/subscriptions.py +0 -0
  131. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/detector_registry/types.py +0 -0
  132. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/endpoint_command_manager/__init__.py +0 -0
  133. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/endpoint_command_manager/mutations.py +0 -0
  134. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/endpoint_command_manager/queries.py +0 -0
  135. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/endpoint_command_manager/subscriptions.py +0 -0
  136. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/endpoint_command_manager/types.py +0 -0
  137. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/endpoint_management_service/__init__.py +0 -0
  138. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/endpoint_management_service/mutations.py +0 -0
  139. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/endpoint_management_service/queries.py +0 -0
  140. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/endpoint_management_service/subscriptions.py +0 -0
  141. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/endpoint_management_service/types.py +0 -0
  142. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/entity_context/__init__.py +0 -0
  143. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/entity_context/mutations.py +0 -0
  144. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/entity_context/subscriptions.py +0 -0
  145. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/event_search/__init__.py +0 -0
  146. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/event_search/mutations.py +0 -0
  147. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/event_search/queries.py +0 -0
  148. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/event_search/subscriptions.py +0 -0
  149. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/event_search/types.py +0 -0
  150. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/events/__init__.py +0 -0
  151. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/events/mutations.py +0 -0
  152. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/events/queries.py +0 -0
  153. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/events/subscriptions.py +0 -0
  154. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/events/types.py +0 -0
  155. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/exports/__init__.py +0 -0
  156. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/exports/mutations.py +0 -0
  157. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/exports/queries.py +0 -0
  158. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/exports/subscriptions.py +0 -0
  159. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/exports/types.py +0 -0
  160. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/fast_ioc/__init__.py +0 -0
  161. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/fast_ioc/mutations.py +0 -0
  162. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/fast_ioc/queries.py +0 -0
  163. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/fast_ioc/subscriptions.py +0 -0
  164. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/fast_ioc/types.py +0 -0
  165. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/file_info/__init__.py +0 -0
  166. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/file_info/mutations.py +0 -0
  167. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/file_info/queries.py +0 -0
  168. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/file_info/subscriptions.py +0 -0
  169. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/file_info/types.py +0 -0
  170. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/ingest_stats/__init__.py +0 -0
  171. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/ingest_stats/mutations.py +0 -0
  172. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/ingest_stats/queries.py +0 -0
  173. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/ingest_stats/subscriptions.py +0 -0
  174. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/ingest_stats/types.py +0 -0
  175. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/investigations/__init__.py +0 -0
  176. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/investigations/mutations.py +0 -0
  177. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/investigations/queries.py +0 -0
  178. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/investigations/subscriptions.py +0 -0
  179. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/investigations/types.py +0 -0
  180. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/investigations2/__init__.py +0 -0
  181. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/investigations2/subscriptions.py +0 -0
  182. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/isensor/__init__.py +0 -0
  183. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/isensor/mutations.py +0 -0
  184. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/isensor/queries.py +0 -0
  185. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/isensor/subscriptions.py +0 -0
  186. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/isensor/types.py +0 -0
  187. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/mitre_attack_info/__init__.py +0 -0
  188. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/mitre_attack_info/mutations.py +0 -0
  189. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/mitre_attack_info/queries.py +0 -0
  190. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/mitre_attack_info/subscriptions.py +0 -0
  191. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/mitre_attack_info/types.py +0 -0
  192. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/multi_tenant_context/__init__.py +0 -0
  193. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/multi_tenant_context/mutations.py +0 -0
  194. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/multi_tenant_context/queries.py +0 -0
  195. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/multi_tenant_context/subscriptions.py +0 -0
  196. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/multi_tenant_context/types.py +0 -0
  197. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/multi_tenant_ioc/__init__.py +0 -0
  198. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/multi_tenant_ioc/mutations.py +0 -0
  199. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/multi_tenant_ioc/queries.py +0 -0
  200. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/multi_tenant_ioc/subscriptions.py +0 -0
  201. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/multi_tenant_ioc/types.py +0 -0
  202. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/nl_search/__init__.py +0 -0
  203. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/nl_search/mutations.py +0 -0
  204. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/nl_search/queries.py +0 -0
  205. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/nl_search/subscriptions.py +0 -0
  206. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/nl_search/types.py +0 -0
  207. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/notebooks/__init__.py +0 -0
  208. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/notebooks/mutations.py +0 -0
  209. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/notebooks/queries.py +0 -0
  210. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/notebooks/subscriptions.py +0 -0
  211. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/notebooks/types.py +0 -0
  212. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/notifications/__init__.py +0 -0
  213. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/notifications/mutations.py +0 -0
  214. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/notifications/queries.py +0 -0
  215. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/notifications/subscriptions.py +0 -0
  216. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/notifications/types.py +0 -0
  217. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/preferences/__init__.py +0 -0
  218. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/preferences/mutations.py +0 -0
  219. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/preferences/queries.py +0 -0
  220. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/preferences/subscriptions.py +0 -0
  221. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/preferences/types.py +0 -0
  222. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/process_trees/__init__.py +0 -0
  223. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/process_trees/mutations.py +0 -0
  224. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/process_trees/subscriptions.py +0 -0
  225. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/process_trees/types.py +0 -0
  226. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/queries/__init__.py +0 -0
  227. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/queries/mutations.py +0 -0
  228. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/queries/queries.py +0 -0
  229. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/queries/subscriptions.py +0 -0
  230. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/queries/types.py +0 -0
  231. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/roadrunner/__init__.py +0 -0
  232. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/roadrunner/mutations.py +0 -0
  233. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/roadrunner/queries.py +0 -0
  234. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/roadrunner/subscriptions.py +0 -0
  235. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/roadrunner/types.py +0 -0
  236. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/rules/__init__.py +0 -0
  237. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/rules/mutations.py +0 -0
  238. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/rules/queries.py +0 -0
  239. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/rules/subscriptions.py +0 -0
  240. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/sharelinks/__init__.py +0 -0
  241. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/sharelinks/mutations.py +0 -0
  242. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/sharelinks/queries.py +0 -0
  243. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/sharelinks/subscriptions.py +0 -0
  244. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/sharelinks/types.py +0 -0
  245. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/subjects/__init__.py +0 -0
  246. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/subjects/mutations.py +0 -0
  247. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/subjects/queries.py +0 -0
  248. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/subjects/subscriptions.py +0 -0
  249. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/subjects/types.py +0 -0
  250. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/tenant_profiles/__init__.py +0 -0
  251. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/tenant_profiles/mutations.py +0 -0
  252. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/tenant_profiles/queries.py +0 -0
  253. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/tenant_profiles/subscriptions.py +0 -0
  254. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/tenant_profiles/types.py +0 -0
  255. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/tenants/__init__.py +0 -0
  256. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/tenants/mutations.py +0 -0
  257. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/tenants/queries.py +0 -0
  258. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/tenants/subscriptions.py +0 -0
  259. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/tenants4/__init__.py +0 -0
  260. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/tenants4/mutations.py +0 -0
  261. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/tenants4/queries.py +0 -0
  262. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/tenants4/subscriptions.py +0 -0
  263. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/threat/__init__.py +0 -0
  264. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/threat/mutations.py +0 -0
  265. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/threat/subscriptions.py +0 -0
  266. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/threat_score/__init__.py +0 -0
  267. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/threat_score/mutations.py +0 -0
  268. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/threat_score/queries.py +0 -0
  269. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/threat_score/subscriptions.py +0 -0
  270. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/threat_score/types.py +0 -0
  271. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/trigger_action/__init__.py +0 -0
  272. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/trigger_action/mutations.py +0 -0
  273. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/trigger_action/queries.py +0 -0
  274. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/trigger_action/subscriptions.py +0 -0
  275. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/trigger_action/types.py +0 -0
  276. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/trip/__init__.py +0 -0
  277. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/trip/mutations.py +0 -0
  278. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/trip/queries.py +0 -0
  279. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/trip/subscriptions.py +0 -0
  280. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/trip/types.py +0 -0
  281. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/users/__init__.py +0 -0
  282. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/users/queries.py +0 -0
  283. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/users/subscriptions.py +0 -0
  284. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/vdr/__init__.py +0 -0
  285. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/vdr/mutations.py +0 -0
  286. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/vdr/queries.py +0 -0
  287. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/vdr/subscriptions.py +0 -0
  288. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/vdr/types.py +0 -0
  289. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/xdr_central_connector/__init__.py +0 -0
  290. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/services/xdr_central_connector/subscriptions.py +0 -0
  291. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/templates/__init__.py +0 -0
  292. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/templates/_jinja2.py +0 -0
  293. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/tokens.py +0 -0
  294. {taegis_sdk_python-1.6.2 → taegis_sdk_python-1.6.4}/taegis_sdk_python/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: taegis-sdk-python
3
- Version: 1.6.2
3
+ Version: 1.6.4
4
4
  Summary: Taegis Python SDK
5
5
  Project-URL: Homepage, https://github.com/secureworks/taegis-sdk-python
6
6
  Project-URL: Bug Reports, https://github.com/secureworks/taegis-sdk-python/issues
@@ -1,3 +1,3 @@
1
1
  """Version idenitier."""
2
2
 
3
- __version__ = "1.6.2"
3
+ __version__ = "1.6.4"
@@ -420,3 +420,72 @@ class TaegisSDKAssets2Query:
420
420
  if result.get(endpoint) is not None:
421
421
  return AssetsMacAddress.from_dict(result.get(endpoint))
422
422
  raise GraphQLNoRowsInResultSetError("for query assetsMacAddress")
423
+
424
+ def network_info_by_host_id(self, host_id: str) -> List[NetworkInfo]:
425
+ """ "Retrieve network information for a host based on a provided host_id."""
426
+ endpoint = "networkInfoByHostID"
427
+
428
+ result = self.service.execute_query(
429
+ endpoint=endpoint,
430
+ variables={
431
+ "hostId": prepare_input(host_id),
432
+ },
433
+ output=build_output_string(NetworkInfo),
434
+ )
435
+ if result.get(endpoint) is not None:
436
+ return NetworkInfo.schema().load(
437
+ [r or {} for r in result.get(endpoint)], many=True
438
+ )
439
+ raise GraphQLNoRowsInResultSetError("for query networkInfoByHostID")
440
+
441
+ def network_info_by_hostname(
442
+ self,
443
+ event_time: str,
444
+ host_name: str,
445
+ exact_match_count: int,
446
+ endpoint_types: Union[EndpointTypeV2, TaegisEnum],
447
+ ) -> List[NetworkInfo]:
448
+ """ "Retrieve network information for a host based on a provided hostname."""
449
+ endpoint = "networkInfoByHostname"
450
+
451
+ result = self.service.execute_query(
452
+ endpoint=endpoint,
453
+ variables={
454
+ "eventTime": prepare_input(event_time),
455
+ "hostName": prepare_input(host_name),
456
+ "exactMatchCount": prepare_input(exact_match_count),
457
+ "endpointTypes": prepare_input(endpoint_types),
458
+ },
459
+ output=build_output_string(NetworkInfo),
460
+ )
461
+ if result.get(endpoint) is not None:
462
+ return NetworkInfo.schema().load(
463
+ [r or {} for r in result.get(endpoint)], many=True
464
+ )
465
+ raise GraphQLNoRowsInResultSetError("for query networkInfoByHostname")
466
+
467
+ def network_info_by_ip_address(
468
+ self,
469
+ event_time: str,
470
+ ip_address: str,
471
+ exact_match_count: int,
472
+ endpoint_types: Union[EndpointTypeV2, TaegisEnum],
473
+ ) -> List[NetworkInfo]:
474
+ """ "Retrieve network information for a host based on a provided ip address."""
475
+ endpoint = "networkInfoByIpAddress"
476
+
477
+ result = self.service.execute_query(
478
+ endpoint=endpoint,
479
+ variables={
480
+ "eventTime": prepare_input(event_time),
481
+ "ipAddress": prepare_input(ip_address),
482
+ "exactMatchCount": prepare_input(exact_match_count),
483
+ "endpointTypes": prepare_input(endpoint_types),
484
+ },
485
+ output=build_output_string(NetworkInfo),
486
+ )
487
+ if result.get(endpoint) is not None:
488
+ return NetworkInfo.schema().load(
489
+ [r or {} for r in result.get(endpoint)], many=True
490
+ )
491
+ raise GraphQLNoRowsInResultSetError("for query networkInfoByIpAddress")
@@ -481,6 +481,23 @@ class PageInfoV2:
481
481
  )
482
482
 
483
483
 
484
+ @dataclass_json
485
+ @dataclass(order=True, eq=True, frozen=True)
486
+ class NetworkInfo:
487
+ """NetworkInfo."""
488
+
489
+ host_id: Optional[str] = field(default=None, metadata=config(field_name="hostId"))
490
+ host_name: Optional[str] = field(
491
+ default=None, metadata=config(field_name="hostName")
492
+ )
493
+ ip_addresses: Optional[List[str]] = field(
494
+ default=None, metadata=config(field_name="ipAddresses")
495
+ )
496
+ ethernet_addresses: Optional[List[str]] = field(
497
+ default=None, metadata=config(field_name="ethernetAddresses")
498
+ )
499
+
500
+
484
501
  @dataclass_json
485
502
  @dataclass(order=True, eq=True, frozen=True)
486
503
  class AssetHostname:
@@ -262,7 +262,7 @@ class TaegisSDKAuthzQuery:
262
262
  raise GraphQLNoRowsInResultSetError("for query authzCanSubjectAssumeAllTenants")
263
263
 
264
264
  def authz_can_subject_assign_role(
265
- self, id_: str
265
+ self, id_: str, target_subject_id: Optional[str] = None
266
266
  ) -> AuthzCanSubjectAssignRoleResponse:
267
267
  """Check if the subject can assign the input role."""
268
268
  endpoint = "authzCanSubjectAssignRole"
@@ -271,6 +271,7 @@ class TaegisSDKAuthzQuery:
271
271
  endpoint=endpoint,
272
272
  variables={
273
273
  "id": prepare_input(id_),
274
+ "targetSubjectID": prepare_input(target_subject_id),
274
275
  },
275
276
  output=build_output_string(AuthzCanSubjectAssignRoleResponse),
276
277
  )
@@ -404,6 +404,9 @@ class AuthzCanSubjectAssignRoleResponse:
404
404
  subject_can_assign: Optional[bool] = field(
405
405
  default=None, metadata=config(field_name="subjectCanAssign")
406
406
  )
407
+ subject_can_deactivate: Optional[bool] = field(
408
+ default=None, metadata=config(field_name="subjectCanDeactivate")
409
+ )
407
410
  role: Optional[AuthzRole] = field(default=None, metadata=config(field_name="role"))
408
411
  absent_permissions: Optional[List[AuthzPermission]] = field(
409
412
  default=None, metadata=config(field_name="absentPermissions")
@@ -0,0 +1,117 @@
1
+ """Datasources Mutation."""
2
+
3
+ # pylint: disable=no-member, unused-argument, too-many-locals, duplicate-code, wildcard-import, unused-wildcard-import, cyclic-import
4
+
5
+
6
+ # Autogenerated
7
+ # DO NOT MODIFY
8
+
9
+ from __future__ import annotations
10
+
11
+ import logging
12
+ from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union
13
+
14
+ from taegis_sdk_python import GraphQLNoRowsInResultSetError
15
+ from taegis_sdk_python._consts import TaegisEnum
16
+ from taegis_sdk_python.services.datasources.types import *
17
+ from taegis_sdk_python.utils import (
18
+ build_output_string,
19
+ parse_union_result,
20
+ prepare_input,
21
+ )
22
+
23
+ if TYPE_CHECKING: # pragma: no cover
24
+ from taegis_sdk_python.services.datasources import DatasourcesService
25
+
26
+ log = logging.getLogger(__name__)
27
+
28
+
29
+ class TaegisSDKDatasourcesMutation:
30
+ """Taegis Datasources Mutation operations."""
31
+
32
+ def __init__(self, service: DatasourcesService):
33
+ self.service = service
34
+
35
+ def delete_data_source_assets(
36
+ self, delete_asset_input: List[DeleteAssetInput]
37
+ ) -> List[DeletedAsset]:
38
+ """Executes a delete operation on all included data sources for a specified tenant. Returns an array of
39
+ deleted assets with metadata. Authorization permission is required with delete access to the collector
40
+ object.."""
41
+ endpoint = "deleteDataSourceAssets"
42
+
43
+ result = self.service.execute_mutation(
44
+ endpoint=endpoint,
45
+ variables={
46
+ "deleteAssetInput": prepare_input(delete_asset_input),
47
+ },
48
+ output=build_output_string(DeletedAsset),
49
+ )
50
+ if result.get(endpoint) is not None:
51
+ return DeletedAsset.schema().load(
52
+ [r or {} for r in result.get(endpoint)], many=True
53
+ )
54
+ raise GraphQLNoRowsInResultSetError("for mutation deleteDataSourceAssets")
55
+
56
+ def delete_data_source_tag(self, tag_id: str) -> bool:
57
+ """Deleted a tag by its ID. Returns true if the tag was successfully deleted.."""
58
+ endpoint = "deleteDataSourceTag"
59
+
60
+ result = self.service.execute_mutation(
61
+ endpoint=endpoint,
62
+ variables={
63
+ "tagId": prepare_input(tag_id),
64
+ },
65
+ output="",
66
+ )
67
+ if result.get(endpoint) is not None:
68
+ return result.get(endpoint)
69
+ raise GraphQLNoRowsInResultSetError("for mutation deleteDataSourceTag")
70
+
71
+ def detach_data_source_tag(self, input_: DataSourceTagOperationInput) -> List[str]:
72
+ """Detaches an existing tag from datasource(s). Returns the assetIDs that were detached from the tag.."""
73
+ endpoint = "detachDataSourceTag"
74
+
75
+ result = self.service.execute_mutation(
76
+ endpoint=endpoint,
77
+ variables={
78
+ "input": prepare_input(input_),
79
+ },
80
+ output="",
81
+ )
82
+ if result.get(endpoint) is not None:
83
+ return result.get(endpoint)
84
+ raise GraphQLNoRowsInResultSetError("for mutation detachDataSourceTag")
85
+
86
+ def create_data_source_tag(self, input_: CreateDataSourceTagInput) -> DataSourceTag:
87
+ """Creates a new tag and associates it with existing datasource(s). Returns the created tag. This API
88
+ allows a maximum of 100 tags to be created for a given tenant.."""
89
+ endpoint = "createDataSourceTag"
90
+
91
+ result = self.service.execute_mutation(
92
+ endpoint=endpoint,
93
+ variables={
94
+ "input": prepare_input(input_),
95
+ },
96
+ output=build_output_string(DataSourceTag),
97
+ )
98
+ if result.get(endpoint) is not None:
99
+ return DataSourceTag.from_dict(result.get(endpoint))
100
+ raise GraphQLNoRowsInResultSetError("for mutation createDataSourceTag")
101
+
102
+ def attach_data_source_tag(self, input_: DataSourceTagOperationInput) -> List[str]:
103
+ """Attaches or associates an existing tag to datasource(s). Returns the assetIDs attached to the tag.
104
+ A maximum of 100 assetIDs can be associated in a single operation. A single asset can have up to 16 tags attached to it..
105
+ """
106
+ endpoint = "attachDataSourceTag"
107
+
108
+ result = self.service.execute_mutation(
109
+ endpoint=endpoint,
110
+ variables={
111
+ "input": prepare_input(input_),
112
+ },
113
+ output="",
114
+ )
115
+ if result.get(endpoint) is not None:
116
+ return result.get(endpoint)
117
+ raise GraphQLNoRowsInResultSetError("for mutation attachDataSourceTag")
@@ -124,3 +124,31 @@ class TaegisSDKDatasourcesQuery:
124
124
  if result.get(endpoint) is not None:
125
125
  return LastSeenAssetsQueryResult.from_dict(result.get(endpoint))
126
126
  raise GraphQLNoRowsInResultSetError("for query dataSourceLastSeenAssetsQuery")
127
+
128
+ def get_data_source_tags(self) -> List[DataSourceTag]:
129
+ """Fetches all tags associated with a given tenant.."""
130
+ endpoint = "getDataSourceTags"
131
+
132
+ result = self.service.execute_query(
133
+ endpoint=endpoint, variables={}, output=build_output_string(DataSourceTag)
134
+ )
135
+ if result.get(endpoint) is not None:
136
+ return DataSourceTag.schema().load(
137
+ [r or {} for r in result.get(endpoint)], many=True
138
+ )
139
+ raise GraphQLNoRowsInResultSetError("for query getDataSourceTags")
140
+
141
+ def get_data_source_tag(self, tag_id: str) -> DataSourceTag:
142
+ """Fetches a specific tag by its ID.."""
143
+ endpoint = "getDataSourceTag"
144
+
145
+ result = self.service.execute_query(
146
+ endpoint=endpoint,
147
+ variables={
148
+ "tagId": prepare_input(tag_id),
149
+ },
150
+ output=build_output_string(DataSourceTag),
151
+ )
152
+ if result.get(endpoint) is not None:
153
+ return DataSourceTag.from_dict(result.get(endpoint))
154
+ raise GraphQLNoRowsInResultSetError("for query getDataSourceTag")
@@ -26,6 +26,7 @@ class AuthzAction(str, Enum):
26
26
 
27
27
  READ = "READ"
28
28
  DELETE = "DELETE"
29
+ CREATE = "CREATE"
29
30
 
30
31
 
31
32
  class HealthState(str, Enum):
@@ -160,6 +161,9 @@ class DataSourcesWhereInput:
160
161
  collector_id: Optional[List[str]] = field(
161
162
  default=None, metadata=config(field_name="collectorId")
162
163
  )
164
+ tag_id: Optional[List[str]] = field(
165
+ default=None, metadata=config(field_name="tagId")
166
+ )
163
167
 
164
168
 
165
169
  @dataclass_json
@@ -189,11 +193,61 @@ class ClusterIdentity:
189
193
  name: Optional[str] = field(default=None, metadata=config(field_name="name"))
190
194
 
191
195
 
196
+ @dataclass_json
197
+ @dataclass(order=True, eq=True, frozen=True)
198
+ class DataSourceTag:
199
+ """DataSourceTag."""
200
+
201
+ id: Optional[str] = field(default=None, metadata=config(field_name="id"))
202
+ tenant: Optional[str] = field(default=None, metadata=config(field_name="tenant"))
203
+ key: Optional[str] = field(default=None, metadata=config(field_name="key"))
204
+ value: Optional[str] = field(default=None, metadata=config(field_name="value"))
205
+
206
+
207
+ @dataclass_json
208
+ @dataclass(order=True, eq=True, frozen=True)
209
+ class CreateDataSourceTagInput:
210
+ """CreateDataSourceTagInput."""
211
+
212
+ key: Optional[str] = field(default=None, metadata=config(field_name="key"))
213
+ value: Optional[str] = field(default=None, metadata=config(field_name="value"))
214
+
215
+
216
+ @dataclass_json
217
+ @dataclass(order=True, eq=True, frozen=True)
218
+ class DataSourceTagOperationInput:
219
+ """DataSourceTagOperationInput."""
220
+
221
+ tag_id: Optional[str] = field(default=None, metadata=config(field_name="tagId"))
222
+ asset_ids: Optional[List[str]] = field(
223
+ default=None, metadata=config(field_name="assetIds")
224
+ )
225
+
226
+
227
+ @dataclass_json
228
+ @dataclass(order=True, eq=True, frozen=True)
229
+ class DataSourceAssetsFilter:
230
+ """DataSourceAssetsFilter."""
231
+
232
+ status: Optional[List[Union[HealthState, TaegisEnum]]] = field(
233
+ default=None,
234
+ metadata=config(
235
+ encoder=encode_enum,
236
+ decoder=lambda x: decode_enum(HealthState, x),
237
+ field_name="status",
238
+ ),
239
+ )
240
+ where: Optional[DataSourcesWhereInput] = field(
241
+ default=None, metadata=config(field_name="where")
242
+ )
243
+
244
+
192
245
  @dataclass_json
193
246
  @dataclass(order=True, eq=True, frozen=True)
194
247
  class LastSeenAsset:
195
248
  """LastSeenAsset."""
196
249
 
250
+ asset_id: Optional[str] = field(default=None, metadata=config(field_name="assetId"))
197
251
  source_id: Optional[str] = field(
198
252
  default=None, metadata=config(field_name="sourceId")
199
253
  )
@@ -221,24 +275,15 @@ class LastSeenAsset:
221
275
  collector: Optional[ClusterIdentity] = field(
222
276
  default=None, metadata=config(field_name="collector")
223
277
  )
278
+ tags: Optional[List[DataSourceTag]] = field(
279
+ default=None, metadata=config(field_name="tags")
280
+ )
224
281
 
225
282
 
226
- @dataclass_json
227
- @dataclass(order=True, eq=True, frozen=True)
228
- class DataSourceAssetsFilter:
229
- """DataSourceAssetsFilter."""
230
-
231
- status: Optional[List[Union[HealthState, TaegisEnum]]] = field(
232
- default=None,
233
- metadata=config(
234
- encoder=encode_enum,
235
- decoder=lambda x: decode_enum(HealthState, x),
236
- field_name="status",
237
- ),
238
- )
239
- where: Optional[DataSourcesWhereInput] = field(
240
- default=None, metadata=config(field_name="where")
241
- )
283
+ FilterValueResponse = Union[
284
+ FilterValue,
285
+ ClusterIdentity,
286
+ ]
242
287
 
243
288
 
244
289
  @dataclass_json
@@ -273,12 +318,6 @@ class LastSeenAssetsQueryResult:
273
318
  )
274
319
 
275
320
 
276
- FilterValueResponse = Union[
277
- FilterValue,
278
- ClusterIdentity,
279
- ]
280
-
281
-
282
321
  @dataclass_json
283
322
  @dataclass(order=True, eq=True, frozen=True)
284
323
  class FilterValues:
@@ -204,6 +204,30 @@ class TaegisSDKEntityContextQuery:
204
204
  )
205
205
  raise GraphQLNoRowsInResultSetError("for query entityContextAssociatedEntities")
206
206
 
207
+ def entity_context_associated_entity_types(
208
+ self,
209
+ entry_point: EntityContextSingleEntryPoint,
210
+ source: Optional[EntityContextSourceInput] = None,
211
+ ) -> EntityContextAssociatedEntityTypesResponse:
212
+ """None."""
213
+ endpoint = "entityContextAssociatedEntityTypes"
214
+
215
+ result = self.service.execute_query(
216
+ endpoint=endpoint,
217
+ variables={
218
+ "entryPoint": prepare_input(entry_point),
219
+ "source": prepare_input(source),
220
+ },
221
+ output=build_output_string(EntityContextAssociatedEntityTypesResponse),
222
+ )
223
+ if result.get(endpoint) is not None:
224
+ return EntityContextAssociatedEntityTypesResponse.from_dict(
225
+ result.get(endpoint)
226
+ )
227
+ raise GraphQLNoRowsInResultSetError(
228
+ "for query entityContextAssociatedEntityTypes"
229
+ )
230
+
207
231
  def entity_context_pivot_ql(
208
232
  self,
209
233
  entry_point: EntityContextEntryPoint,
@@ -197,6 +197,15 @@ class EntityContextPageInput:
197
197
  )
198
198
 
199
199
 
200
+ @dataclass_json
201
+ @dataclass(order=True, eq=True, frozen=True)
202
+ class EntityContextTypeCounts:
203
+ """EntityContextTypeCounts."""
204
+
205
+ type: Optional[str] = field(default=None, metadata=config(field_name="type"))
206
+ count: Optional[int] = field(default=None, metadata=config(field_name="count"))
207
+
208
+
200
209
  @dataclass_json
201
210
  @dataclass(order=True, eq=True, frozen=True)
202
211
  class EntityContextPageInfo:
@@ -392,6 +401,22 @@ class EntityContextWhoIsContact:
392
401
  )
393
402
 
394
403
 
404
+ @dataclass_json
405
+ @dataclass(order=True, eq=True, frozen=True)
406
+ class EntityContextSingleEntryPoint:
407
+ """EntityContextSingleEntryPoint."""
408
+
409
+ id: Optional[str] = field(default=None, metadata=config(field_name="id"))
410
+ type: Optional[Union[EntityContextEntryPointType, TaegisEnum]] = field(
411
+ default=None,
412
+ metadata=config(
413
+ encoder=encode_enum,
414
+ decoder=lambda x: decode_enum(EntityContextEntryPointType, x),
415
+ field_name="type",
416
+ ),
417
+ )
418
+
419
+
395
420
  @dataclass_json
396
421
  @dataclass(order=True, eq=True, frozen=True)
397
422
  class EntityContextOrigin:
@@ -461,6 +486,20 @@ class EntityContextRelatedResources:
461
486
  )
462
487
 
463
488
 
489
+ @dataclass_json
490
+ @dataclass(order=True, eq=True, frozen=True)
491
+ class EntityContextAssociatedEntityTypesResponse:
492
+ """EntityContextAssociatedEntityTypesResponse."""
493
+
494
+ total_count: Optional[int] = field(
495
+ default=None, metadata=config(field_name="totalCount")
496
+ )
497
+ error: Optional[str] = field(default=None, metadata=config(field_name="error"))
498
+ types: Optional[List[EntityContextTypeCounts]] = field(
499
+ default=None, metadata=config(field_name="types")
500
+ )
501
+
502
+
464
503
  @dataclass_json
465
504
  @dataclass(order=True, eq=True, frozen=True)
466
505
  class EntityContextPropertyQuery:
@@ -72,7 +72,7 @@ class TaegisSDKInvestigations2Mutation:
72
72
  The response will include the evidence that the service will attempt to add to the case.
73
73
 
74
74
  Adding evidence to cases is an asynchronous operation.
75
- It will typically finish pretty quickly, but added alerts/events will may not show up in the returned case until the async job is fully complete.
75
+ It will typically finish pretty quickly, but added detections/events will may not show up in the returned case until the async job is fully complete.
76
76
  The processing status, that is found on the case type will reflect the state of the processing job.
77
77
  Once the status is set to 'SUCCESS' the background job is complete and requesting the case will return the related evidence.
78
78
 
@@ -98,7 +98,7 @@ class TaegisSDKInvestigations2Mutation:
98
98
  The response will include the evidence that the service will attempt to remove from the case.
99
99
 
100
100
  Removing evidence from cases is an asynchronous operation.
101
- It will typically finish pretty quickly, but removed alerts/events will can remain attached to the case until the async job is fully complete.
101
+ It will typically finish pretty quickly, but removed detections/events will can remain attached to the case until the async job is fully complete.
102
102
  The processing status, that is found on the case type will reflect the state of the processing job.
103
103
  Once the status is set to 'SUCCESS' the background job is complete and requesting the case will only return evidence that was not removed.
104
104
 
@@ -119,14 +119,14 @@ class TaegisSDKInvestigations2Mutation:
119
119
 
120
120
  def close_case(self, input_: CloseCaseInput) -> Case:
121
121
  """closeCase will close an existing case.
122
- If the case has alerts attached to it, the alertsResolutionStatus field is required and alerts will be resolved based on the provided status.
122
+ If the case has detections attached to it, the detectionsResolutionStatus field is required and detections will be resolved based on the provided status.
123
123
  Once a case is closed, it can no longer be edited or have evidence added to it while in the closed state, it can only be archived.
124
124
  A closed case can be reopened if changes are needed after closing.
125
125
 
126
126
  Resolving evidence in a case is an asynchronous operation.
127
- It will typically finish pretty quickly, but resolving alerts will may not reflect the updated status until the async job is fully complete.
127
+ It will typically finish pretty quickly, but resolving detections will may not reflect the updated status until the async job is fully complete.
128
128
  The processing status, that is found on the case type will reflect the state of the processing job.
129
- Once the status is set to 'SUCCESS' the background job is complete and the alerts will have been updated.
129
+ Once the status is set to 'SUCCESS' the background job is complete and the detections will have been updated.
130
130
 
131
131
  Adding, removing or updating evidence (closing a case) while other jobs are processing for a given case will cause the jobs to queue.
132
132
  Jobs will be worked through in the order they were received.."""
@@ -157,7 +157,7 @@ class TaegisSDKInvestigations2Query:
157
157
  raise GraphQLNoRowsInResultSetError("for query exportCaseResources")
158
158
 
159
159
  def case_timeline(self, arguments: CaseTimelineArguments) -> CaseTimeline:
160
- """caseTimeline returns a case timeline detailing the order of alerts, events and other actions taken in relation to a case.."""
160
+ """caseTimeline returns a case timeline detailing the order of detections, events and other actions taken in relation to a case.."""
161
161
  endpoint = "caseTimeline"
162
162
 
163
163
  result = self.service.execute_query(