infrahub-server 1.3.4__tar.gz → 1.3.6__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 (815) hide show
  1. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/PKG-INFO +1 -1
  2. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/cli/db.py +59 -0
  3. infrahub_server-1.3.6/backend/infrahub/cli/db_commands/check_inheritance.py +284 -0
  4. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/manager.py +2 -2
  5. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/query/node_duplicate.py +30 -3
  6. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/query/diff.py +17 -3
  7. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/query/node.py +13 -0
  8. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/query/relationship.py +8 -11
  9. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/relationship/model.py +13 -13
  10. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/schema_branch.py +22 -0
  11. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/generators/tasks.py +1 -1
  12. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/git/integrator.py +1 -1
  13. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/git/tasks.py +2 -2
  14. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/main.py +24 -5
  15. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/relationship.py +1 -1
  16. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/proposed_change/tasks.py +2 -2
  17. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/pyproject.toml +1 -1
  18. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/node/node.py +81 -9
  19. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/protocols_base.py +0 -2
  20. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/protocols_generator/constants.py +1 -0
  21. infrahub_server-1.3.6/python_sdk/infrahub_sdk/transfer/importer/__init__.py +0 -0
  22. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/utils.py +0 -17
  23. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/LICENSE.txt +0 -0
  24. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/README.md +0 -0
  25. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/__init__.py +0 -0
  26. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/actions/__init__.py +0 -0
  27. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/actions/constants.py +0 -0
  28. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/actions/gather.py +0 -0
  29. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/actions/models.py +0 -0
  30. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/actions/parsers.py +0 -0
  31. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/actions/schema.py +0 -0
  32. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/actions/tasks.py +0 -0
  33. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/actions/triggers.py +0 -0
  34. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/api/__init__.py +0 -0
  35. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/api/artifact.py +0 -0
  36. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/api/auth.py +0 -0
  37. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/api/dependencies.py +0 -0
  38. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/api/diff/__init__.py +0 -0
  39. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/api/diff/diff.py +0 -0
  40. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/api/diff/validation_models.py +0 -0
  41. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/api/exception_handlers.py +0 -0
  42. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/api/exceptions.py +0 -0
  43. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/api/file.py +0 -0
  44. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/api/internal.py +0 -0
  45. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/api/menu.py +0 -0
  46. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/api/oauth2.py +0 -0
  47. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/api/oidc.py +0 -0
  48. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/api/query.py +0 -0
  49. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/api/schema.py +0 -0
  50. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/api/static/redoc.standalone.js +0 -0
  51. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/api/static/swagger-ui-bundle.js +0 -0
  52. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/api/static/swagger-ui.css +0 -0
  53. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/api/storage.py +0 -0
  54. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/api/transformation.py +0 -0
  55. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/artifacts/__init__.py +0 -0
  56. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/artifacts/models.py +0 -0
  57. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/artifacts/tasks.py +0 -0
  58. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/auth.py +0 -0
  59. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/branch/__init__.py +0 -0
  60. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/branch/tasks.py +0 -0
  61. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/branch/triggers.py +0 -0
  62. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/cli/__init__.py +0 -0
  63. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/cli/constants.py +0 -0
  64. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/cli/context.py +0 -0
  65. {infrahub_server-1.3.4/backend/infrahub/computed_attribute → infrahub_server-1.3.6/backend/infrahub/cli/db_commands}/__init__.py +0 -0
  66. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/cli/events.py +0 -0
  67. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/cli/git_agent.py +0 -0
  68. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/cli/patch.py +0 -0
  69. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/cli/server.py +0 -0
  70. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/cli/tasks.py +0 -0
  71. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/cli/upgrade.py +0 -0
  72. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/components.py +0 -0
  73. {infrahub_server-1.3.4/backend/infrahub/constants → infrahub_server-1.3.6/backend/infrahub/computed_attribute}/__init__.py +0 -0
  74. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/computed_attribute/constants.py +0 -0
  75. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/computed_attribute/gather.py +0 -0
  76. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/computed_attribute/models.py +0 -0
  77. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/computed_attribute/tasks.py +0 -0
  78. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/computed_attribute/triggers.py +0 -0
  79. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/config.py +0 -0
  80. {infrahub_server-1.3.4/backend/infrahub/core/changelog → infrahub_server-1.3.6/backend/infrahub/constants}/__init__.py +0 -0
  81. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/constants/database.py +0 -0
  82. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/context.py +0 -0
  83. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/__init__.py +0 -0
  84. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/account.py +0 -0
  85. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/attribute.py +0 -0
  86. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/branch/__init__.py +0 -0
  87. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/branch/enums.py +0 -0
  88. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/branch/models.py +0 -0
  89. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/branch/tasks.py +0 -0
  90. {infrahub_server-1.3.4/backend/infrahub/core/constraint → infrahub_server-1.3.6/backend/infrahub/core/changelog}/__init__.py +0 -0
  91. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/changelog/diff.py +0 -0
  92. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/changelog/models.py +0 -0
  93. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/constants/__init__.py +0 -0
  94. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/constants/database.py +0 -0
  95. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/constants/infrahubkind.py +0 -0
  96. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/constants/relationship_label.py +0 -0
  97. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/constants/schema.py +0 -0
  98. {infrahub_server-1.3.4/backend/infrahub/core/constraint/node → infrahub_server-1.3.6/backend/infrahub/core/constraint}/__init__.py +0 -0
  99. {infrahub_server-1.3.4/backend/infrahub/core/convert_object_type → infrahub_server-1.3.6/backend/infrahub/core/constraint/node}/__init__.py +0 -0
  100. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/constraint/node/runner.py +0 -0
  101. {infrahub_server-1.3.4/backend/infrahub/core/diff → infrahub_server-1.3.6/backend/infrahub/core/convert_object_type}/__init__.py +0 -0
  102. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/convert_object_type/conversion.py +0 -0
  103. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/convert_object_type/schema_mapping.py +0 -0
  104. {infrahub_server-1.3.4/backend/infrahub/core/diff/artifacts → infrahub_server-1.3.6/backend/infrahub/core/diff}/__init__.py +0 -0
  105. {infrahub_server-1.3.4/backend/infrahub/core/diff/enricher → infrahub_server-1.3.6/backend/infrahub/core/diff/artifacts}/__init__.py +0 -0
  106. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/artifacts/calculator.py +0 -0
  107. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/branch_differ.py +0 -0
  108. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/calculator.py +0 -0
  109. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/combiner.py +0 -0
  110. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/conflict_transferer.py +0 -0
  111. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/conflicts_enricher.py +0 -0
  112. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/conflicts_extractor.py +0 -0
  113. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/coordinator.py +0 -0
  114. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/data_check_synchronizer.py +0 -0
  115. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/diff_locker.py +0 -0
  116. {infrahub_server-1.3.4/backend/infrahub/core/diff/merger → infrahub_server-1.3.6/backend/infrahub/core/diff/enricher}/__init__.py +0 -0
  117. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/enricher/aggregated.py +0 -0
  118. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/enricher/cardinality_one.py +0 -0
  119. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/enricher/hierarchy.py +0 -0
  120. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/enricher/interface.py +0 -0
  121. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/enricher/labels.py +0 -0
  122. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/enricher/path_identifier.py +0 -0
  123. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/enricher/summary_counts.py +0 -0
  124. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/exceptions.py +0 -0
  125. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/ipam_diff_parser.py +0 -0
  126. {infrahub_server-1.3.4/backend/infrahub/core/diff/model → infrahub_server-1.3.6/backend/infrahub/core/diff/merger}/__init__.py +0 -0
  127. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/merger/merger.py +0 -0
  128. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/merger/model.py +0 -0
  129. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/merger/serializer.py +0 -0
  130. {infrahub_server-1.3.4/backend/infrahub/core/diff/query → infrahub_server-1.3.6/backend/infrahub/core/diff/model}/__init__.py +0 -0
  131. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/model/diff.py +0 -0
  132. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/model/field_specifiers_map.py +0 -0
  133. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/model/path.py +0 -0
  134. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/models.py +0 -0
  135. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/parent_node_adder.py +0 -0
  136. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/payload_builder.py +0 -0
  137. {infrahub_server-1.3.4/backend/infrahub/core/diff/repository → infrahub_server-1.3.6/backend/infrahub/core/diff/query}/__init__.py +0 -0
  138. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/all_conflicts.py +0 -0
  139. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/artifact.py +0 -0
  140. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/delete_query.py +0 -0
  141. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/diff_get.py +0 -0
  142. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/diff_summary.py +0 -0
  143. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/drop_nodes.py +0 -0
  144. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/field_specifiers.py +0 -0
  145. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/field_summary.py +0 -0
  146. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/filters.py +0 -0
  147. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/get_conflict_query.py +0 -0
  148. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/has_conflicts_query.py +0 -0
  149. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/merge.py +0 -0
  150. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/merge_tracking_id.py +0 -0
  151. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/roots_metadata.py +0 -0
  152. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/save.py +0 -0
  153. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/summary_counts_enricher.py +0 -0
  154. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/time_range_query.py +0 -0
  155. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query/update_conflict_query.py +0 -0
  156. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/query_parser.py +0 -0
  157. {infrahub_server-1.3.4/backend/infrahub/core/integrity → infrahub_server-1.3.6/backend/infrahub/core/diff/repository}/__init__.py +0 -0
  158. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/repository/deserializer.py +0 -0
  159. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/repository/repository.py +0 -0
  160. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/diff/tasks.py +0 -0
  161. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/enums.py +0 -0
  162. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/graph/__init__.py +0 -0
  163. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/graph/constraints.py +0 -0
  164. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/graph/index.py +0 -0
  165. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/graph/schema.py +0 -0
  166. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/initialization.py +0 -0
  167. {infrahub_server-1.3.4/backend/infrahub/core/integrity/object_conflict → infrahub_server-1.3.6/backend/infrahub/core/integrity}/__init__.py +0 -0
  168. {infrahub_server-1.3.4/backend/infrahub/core/ipam → infrahub_server-1.3.6/backend/infrahub/core/integrity/object_conflict}/__init__.py +0 -0
  169. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/integrity/object_conflict/conflict_recorder.py +0 -0
  170. {infrahub_server-1.3.4/backend/infrahub/core/migrations/schema → infrahub_server-1.3.6/backend/infrahub/core/ipam}/__init__.py +0 -0
  171. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/ipam/constants.py +0 -0
  172. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/ipam/kinds_getter.py +0 -0
  173. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/ipam/model.py +0 -0
  174. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/ipam/reconciler.py +0 -0
  175. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/ipam/size.py +0 -0
  176. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/ipam/tasks.py +0 -0
  177. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/ipam/utilization.py +0 -0
  178. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/merge.py +0 -0
  179. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/__init__.py +0 -0
  180. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/__init__.py +0 -0
  181. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m001_add_version_to_graph.py +0 -0
  182. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m002_attribute_is_default.py +0 -0
  183. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m003_relationship_parent_optional.py +0 -0
  184. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m004_add_attr_documentation.py +0 -0
  185. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m005_add_rel_read_only.py +0 -0
  186. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m006_add_rel_on_delete.py +0 -0
  187. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m007_add_rel_allow_override.py +0 -0
  188. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m008_add_human_friendly_id.py +0 -0
  189. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m009_add_generate_profile_attr.py +0 -0
  190. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m010_add_generate_profile_attr_generic.py +0 -0
  191. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m011_remove_profile_relationship_schema.py +0 -0
  192. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m012_convert_account_generic.py +0 -0
  193. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m013_convert_git_password_credential.py +0 -0
  194. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m014_remove_index_attr_value.py +0 -0
  195. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m015_diff_format_update.py +0 -0
  196. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m016_diff_delete_bug_fix.py +0 -0
  197. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m017_add_core_profile.py +0 -0
  198. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m018_uniqueness_nulls.py +0 -0
  199. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m019_restore_rels_to_time.py +0 -0
  200. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m020_duplicate_edges.py +0 -0
  201. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m021_missing_hierarchy_merge.py +0 -0
  202. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m022_add_generate_template_attr.py +0 -0
  203. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m023_deduplicate_cardinality_one_relationships.py +0 -0
  204. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m024_missing_hierarchy_backfill.py +0 -0
  205. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m025_uniqueness_nulls.py +0 -0
  206. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m026_0000_prefix_fix.py +0 -0
  207. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m027_delete_isolated_nodes.py +0 -0
  208. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m028_delete_diffs.py +0 -0
  209. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m029_duplicates_cleanup.py +0 -0
  210. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m030_illegal_edges.py +0 -0
  211. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m031_check_number_attributes.py +0 -0
  212. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m032_cleanup_orphaned_branch_relationships.py +0 -0
  213. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m033_deduplicate_relationship_vertices.py +0 -0
  214. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/graph/m034_find_orphaned_schema_fields.py +0 -0
  215. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/query/__init__.py +0 -0
  216. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/query/attribute_add.py +0 -0
  217. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/query/attribute_rename.py +0 -0
  218. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/query/delete_element_in_schema.py +0 -0
  219. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/query/relationship_duplicate.py +0 -0
  220. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/query/schema_attribute_update.py +0 -0
  221. {infrahub_server-1.3.4/backend/infrahub/core/node/constraints → infrahub_server-1.3.6/backend/infrahub/core/migrations/schema}/__init__.py +0 -0
  222. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/schema/attribute_name_update.py +0 -0
  223. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/schema/models.py +0 -0
  224. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/schema/node_attribute_add.py +0 -0
  225. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/schema/node_attribute_remove.py +0 -0
  226. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/schema/node_kind_update.py +0 -0
  227. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/schema/node_remove.py +0 -0
  228. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/schema/placeholder_dummy.py +0 -0
  229. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/schema/tasks.py +0 -0
  230. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/migrations/shared.py +0 -0
  231. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/models.py +0 -0
  232. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/node/__init__.py +0 -0
  233. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/node/base.py +0 -0
  234. {infrahub_server-1.3.4/backend/infrahub/core/node/resource_manager → infrahub_server-1.3.6/backend/infrahub/core/node/constraints}/__init__.py +0 -0
  235. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/node/constraints/attribute_uniqueness.py +0 -0
  236. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/node/constraints/grouped_uniqueness.py +0 -0
  237. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/node/constraints/interface.py +0 -0
  238. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/node/create.py +0 -0
  239. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/node/delete_validator.py +0 -0
  240. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/node/ipam.py +0 -0
  241. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/node/permissions.py +0 -0
  242. {infrahub_server-1.3.4/backend/infrahub/core/relationship/constraints → infrahub_server-1.3.6/backend/infrahub/core/node/resource_manager}/__init__.py +0 -0
  243. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/node/resource_manager/ip_address_pool.py +0 -0
  244. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/node/resource_manager/ip_prefix_pool.py +0 -0
  245. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/node/resource_manager/number_pool.py +0 -0
  246. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/node/standard.py +0 -0
  247. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/path.py +0 -0
  248. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/property.py +0 -0
  249. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/protocols.py +0 -0
  250. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/protocols_base.py +0 -0
  251. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/query/__init__.py +0 -0
  252. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/query/attribute.py +0 -0
  253. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/query/branch.py +0 -0
  254. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/query/delete.py +0 -0
  255. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/query/ipam.py +0 -0
  256. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/query/resource_manager.py +0 -0
  257. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/query/standard_node.py +0 -0
  258. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/query/subquery.py +0 -0
  259. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/query/task.py +0 -0
  260. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/query/task_log.py +0 -0
  261. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/query/utils.py +0 -0
  262. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/registry.py +0 -0
  263. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/relationship/__init__.py +0 -0
  264. {infrahub_server-1.3.4/backend/infrahub/core/schema/definitions → infrahub_server-1.3.6/backend/infrahub/core/relationship/constraints}/__init__.py +0 -0
  265. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/relationship/constraints/count.py +0 -0
  266. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/relationship/constraints/interface.py +0 -0
  267. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/relationship/constraints/peer_kind.py +0 -0
  268. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/relationship/constraints/peer_parent.py +0 -0
  269. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/relationship/constraints/peer_relatives.py +0 -0
  270. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/relationship/constraints/profiles_kind.py +0 -0
  271. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/root.py +0 -0
  272. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/__init__.py +0 -0
  273. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/attribute_parameters.py +0 -0
  274. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/attribute_schema.py +0 -0
  275. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/basenode_schema.py +0 -0
  276. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/computed_attribute.py +0 -0
  277. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/constants.py +0 -0
  278. {infrahub_server-1.3.4/backend/infrahub/core/schema/generated → infrahub_server-1.3.6/backend/infrahub/core/schema/definitions}/__init__.py +0 -0
  279. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/__init__.py +0 -0
  280. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/account.py +0 -0
  281. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/artifact.py +0 -0
  282. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/builtin.py +0 -0
  283. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/check.py +0 -0
  284. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/core.py +0 -0
  285. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/generator.py +0 -0
  286. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/graphql_query.py +0 -0
  287. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/group.py +0 -0
  288. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/ipam.py +0 -0
  289. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/lineage.py +0 -0
  290. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/menu.py +0 -0
  291. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/permission.py +0 -0
  292. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/profile.py +0 -0
  293. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/propose_change.py +0 -0
  294. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/propose_change_comment.py +0 -0
  295. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/propose_change_validator.py +0 -0
  296. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/repository.py +0 -0
  297. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/resource_pool.py +0 -0
  298. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/template.py +0 -0
  299. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/transform.py +0 -0
  300. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/core/webhook.py +0 -0
  301. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/deprecated.py +0 -0
  302. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/definitions/internal.py +0 -0
  303. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/dropdown.py +0 -0
  304. {infrahub_server-1.3.4/backend/infrahub/core/validators/attribute → infrahub_server-1.3.6/backend/infrahub/core/schema/generated}/__init__.py +0 -0
  305. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/generated/attribute_schema.py +0 -0
  306. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/generated/base_node_schema.py +0 -0
  307. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/generated/genericnode_schema.py +0 -0
  308. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/generated/node_schema.py +0 -0
  309. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/generated/relationship_schema.py +0 -0
  310. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/generic_schema.py +0 -0
  311. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/manager.py +0 -0
  312. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/node_schema.py +0 -0
  313. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/profile_schema.py +0 -0
  314. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/relationship_schema.py +0 -0
  315. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/schema_branch_computed.py +0 -0
  316. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/schema/template_schema.py +0 -0
  317. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/task/__init__.py +0 -0
  318. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/task/task.py +0 -0
  319. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/task/task_log.py +0 -0
  320. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/task/user_task.py +0 -0
  321. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/timestamp.py +0 -0
  322. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/utils.py +0 -0
  323. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/__init__.py +0 -0
  324. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/aggregated_checker.py +0 -0
  325. {infrahub_server-1.3.4/backend/infrahub/core/validators/models → infrahub_server-1.3.6/backend/infrahub/core/validators/attribute}/__init__.py +0 -0
  326. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/attribute/choices.py +0 -0
  327. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/attribute/enum.py +0 -0
  328. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/attribute/kind.py +0 -0
  329. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/attribute/length.py +0 -0
  330. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/attribute/min_max.py +0 -0
  331. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/attribute/number_pool.py +0 -0
  332. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/attribute/optional.py +0 -0
  333. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/attribute/regex.py +0 -0
  334. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/attribute/unique.py +0 -0
  335. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/checks_runner.py +0 -0
  336. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/determiner.py +0 -0
  337. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/enum.py +0 -0
  338. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/interface.py +0 -0
  339. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/model.py +0 -0
  340. {infrahub_server-1.3.4/backend/infrahub/core/validators/node → infrahub_server-1.3.6/backend/infrahub/core/validators/models}/__init__.py +0 -0
  341. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/models/validate_migration.py +0 -0
  342. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/models/violation.py +0 -0
  343. {infrahub_server-1.3.4/backend/infrahub/core/validators/relationship → infrahub_server-1.3.6/backend/infrahub/core/validators/node}/__init__.py +0 -0
  344. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/node/attribute.py +0 -0
  345. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/node/generate_profile.py +0 -0
  346. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/node/hierarchy.py +0 -0
  347. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/node/inherit_from.py +0 -0
  348. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/node/relationship.py +0 -0
  349. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/query.py +0 -0
  350. {infrahub_server-1.3.4/backend/infrahub/core/validators/uniqueness → infrahub_server-1.3.6/backend/infrahub/core/validators/relationship}/__init__.py +0 -0
  351. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/relationship/count.py +0 -0
  352. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/relationship/optional.py +0 -0
  353. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/relationship/peer.py +0 -0
  354. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/shared.py +0 -0
  355. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/tasks.py +0 -0
  356. {infrahub_server-1.3.4/backend/infrahub/dependencies → infrahub_server-1.3.6/backend/infrahub/core/validators/uniqueness}/__init__.py +0 -0
  357. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/uniqueness/checker.py +0 -0
  358. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/uniqueness/index.py +0 -0
  359. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/uniqueness/model.py +0 -0
  360. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/core/validators/uniqueness/query.py +0 -0
  361. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/database/__init__.py +0 -0
  362. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/database/index.py +0 -0
  363. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/database/memgraph.py +0 -0
  364. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/database/metrics.py +0 -0
  365. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/database/neo4j.py +0 -0
  366. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/database/validation.py +0 -0
  367. {infrahub_server-1.3.4/backend/infrahub/dependencies/builder/constraint → infrahub_server-1.3.6/backend/infrahub/dependencies}/__init__.py +0 -0
  368. {infrahub_server-1.3.4/backend/infrahub/dependencies/builder/constraint/grouped → infrahub_server-1.3.6/backend/infrahub/dependencies/builder/constraint}/__init__.py +0 -0
  369. {infrahub_server-1.3.4/backend/infrahub/dependencies/builder/constraint/node → infrahub_server-1.3.6/backend/infrahub/dependencies/builder/constraint/grouped}/__init__.py +0 -0
  370. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/grouped/node_runner.py +0 -0
  371. {infrahub_server-1.3.4/backend/infrahub/dependencies/builder/constraint/relationship_manager → infrahub_server-1.3.6/backend/infrahub/dependencies/builder/constraint/node}/__init__.py +0 -0
  372. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/node/grouped_uniqueness.py +0 -0
  373. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/node/uniqueness.py +0 -0
  374. {infrahub_server-1.3.4/backend/infrahub/dependencies/builder/constraint/schema → infrahub_server-1.3.6/backend/infrahub/dependencies/builder/constraint/relationship_manager}/__init__.py +0 -0
  375. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/relationship_manager/count.py +0 -0
  376. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/relationship_manager/peer_kind.py +0 -0
  377. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/relationship_manager/peer_parent.py +0 -0
  378. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/relationship_manager/peer_relatives.py +0 -0
  379. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/relationship_manager/profiles_kind.py +0 -0
  380. {infrahub_server-1.3.4/backend/infrahub/dependencies/builder/diff → infrahub_server-1.3.6/backend/infrahub/dependencies/builder/constraint/schema}/__init__.py +0 -0
  381. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/aggregated.py +0 -0
  382. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/attribute_choices.py +0 -0
  383. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/attribute_enum.py +0 -0
  384. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/attribute_kind.py +0 -0
  385. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/attribute_length.py +0 -0
  386. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/attribute_optional.py +0 -0
  387. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/attribute_regex.py +0 -0
  388. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/attribute_uniqueness.py +0 -0
  389. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/generate_profile.py +0 -0
  390. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/inherit_from.py +0 -0
  391. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/node_attribute.py +0 -0
  392. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/node_relationship.py +0 -0
  393. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/relationship_count.py +0 -0
  394. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/relationship_optional.py +0 -0
  395. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/relationship_peer.py +0 -0
  396. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/constraint/schema/uniqueness.py +0 -0
  397. {infrahub_server-1.3.4/backend/infrahub/dependencies/builder/diff/enricher → infrahub_server-1.3.6/backend/infrahub/dependencies/builder/diff}/__init__.py +0 -0
  398. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/calculator.py +0 -0
  399. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/combiner.py +0 -0
  400. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/conflict_transferer.py +0 -0
  401. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/conflicts_enricher.py +0 -0
  402. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/conflicts_extractor.py +0 -0
  403. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/coordinator.py +0 -0
  404. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/data_check_conflict_recorder.py +0 -0
  405. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/data_check_synchronizer.py +0 -0
  406. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/deserializer.py +0 -0
  407. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/diff_merger.py +0 -0
  408. {infrahub_server-1.3.4/backend/infrahub/dependencies/builder/ip → infrahub_server-1.3.6/backend/infrahub/dependencies/builder/diff/enricher}/__init__.py +0 -0
  409. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/enricher/aggregated.py +0 -0
  410. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/enricher/cardinality_one.py +0 -0
  411. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/enricher/hierarchy.py +0 -0
  412. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/enricher/labels.py +0 -0
  413. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/enricher/path_identifier.py +0 -0
  414. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/enricher/summary_counts.py +0 -0
  415. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/ipam_diff_parser.py +0 -0
  416. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/locker.py +0 -0
  417. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/parent_node_adder.py +0 -0
  418. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/diff/repository.py +0 -0
  419. {infrahub_server-1.3.4/backend/infrahub/dependencies/builder/node → infrahub_server-1.3.6/backend/infrahub/dependencies/builder/ip}/__init__.py +0 -0
  420. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/ip/kinds_getter.py +0 -0
  421. {infrahub_server-1.3.4/backend/infrahub/dependencies/component → infrahub_server-1.3.6/backend/infrahub/dependencies/builder/node}/__init__.py +0 -0
  422. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/builder/node/delete_validator.py +0 -0
  423. {infrahub_server-1.3.4/backend/infrahub/generators → infrahub_server-1.3.6/backend/infrahub/dependencies/component}/__init__.py +0 -0
  424. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/component/exceptions.py +0 -0
  425. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/component/registry.py +0 -0
  426. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/interface.py +0 -0
  427. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/dependencies/registry.py +0 -0
  428. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/events/__init__.py +0 -0
  429. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/events/artifact_action.py +0 -0
  430. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/events/branch_action.py +0 -0
  431. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/events/constants.py +0 -0
  432. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/events/generator.py +0 -0
  433. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/events/group_action.py +0 -0
  434. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/events/models.py +0 -0
  435. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/events/node_action.py +0 -0
  436. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/events/repository_action.py +0 -0
  437. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/events/schema_action.py +0 -0
  438. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/events/utils.py +0 -0
  439. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/events/validator_action.py +0 -0
  440. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/exceptions.py +0 -0
  441. {infrahub_server-1.3.4/backend/infrahub/git_credential → infrahub_server-1.3.6/backend/infrahub/generators}/__init__.py +0 -0
  442. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/generators/models.py +0 -0
  443. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/git/__init__.py +0 -0
  444. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/git/base.py +0 -0
  445. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/git/constants.py +0 -0
  446. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/git/directory.py +0 -0
  447. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/git/models.py +0 -0
  448. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/git/repository.py +0 -0
  449. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/git/utils.py +0 -0
  450. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/git/worktree.py +0 -0
  451. {infrahub_server-1.3.4/backend/infrahub/graphql → infrahub_server-1.3.6/backend/infrahub/git_credential}/__init__.py +0 -0
  452. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/git_credential/askpass.py +0 -0
  453. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/git_credential/helper.py +0 -0
  454. {infrahub_server-1.3.4/backend/infrahub/graphql/api → infrahub_server-1.3.6/backend/infrahub/graphql}/__init__.py +0 -0
  455. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/analyzer.py +0 -0
  456. {infrahub_server-1.3.4/backend/infrahub/graphql/auth → infrahub_server-1.3.6/backend/infrahub/graphql/api}/__init__.py +0 -0
  457. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/api/dependencies.py +0 -0
  458. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/api/endpoints.py +0 -0
  459. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/app.py +0 -0
  460. {infrahub_server-1.3.4/backend/infrahub/graphql/auth/query_permission_checker → infrahub_server-1.3.6/backend/infrahub/graphql/auth}/__init__.py +0 -0
  461. {infrahub_server-1.3.4/backend/infrahub/graphql/loaders → infrahub_server-1.3.6/backend/infrahub/graphql/auth/query_permission_checker}/__init__.py +0 -0
  462. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/auth/query_permission_checker/anonymous_checker.py +0 -0
  463. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/auth/query_permission_checker/checker.py +0 -0
  464. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/auth/query_permission_checker/default_branch_checker.py +0 -0
  465. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/auth/query_permission_checker/interface.py +0 -0
  466. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/auth/query_permission_checker/merge_operation_checker.py +0 -0
  467. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/auth/query_permission_checker/object_permission_checker.py +0 -0
  468. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/auth/query_permission_checker/super_admin_checker.py +0 -0
  469. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/constants.py +0 -0
  470. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/context.py +0 -0
  471. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/directives.py +0 -0
  472. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/enums.py +0 -0
  473. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/initialization.py +0 -0
  474. {infrahub_server-1.3.4/backend/infrahub/graphql/mutations → infrahub_server-1.3.6/backend/infrahub/graphql/loaders}/__init__.py +0 -0
  475. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/loaders/node.py +0 -0
  476. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/loaders/peers.py +0 -0
  477. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/loaders/shared.py +0 -0
  478. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/manager.py +0 -0
  479. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/metrics.py +0 -0
  480. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/models.py +0 -0
  481. {infrahub_server-1.3.4/backend/infrahub/graphql/mutations/node_getter → infrahub_server-1.3.6/backend/infrahub/graphql/mutations}/__init__.py +0 -0
  482. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/account.py +0 -0
  483. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/action.py +0 -0
  484. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/artifact_definition.py +0 -0
  485. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/attribute.py +0 -0
  486. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/branch.py +0 -0
  487. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/computed_attribute.py +0 -0
  488. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/convert_object_type.py +0 -0
  489. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/diff.py +0 -0
  490. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/diff_conflict.py +0 -0
  491. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/generator.py +0 -0
  492. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/graphql_query.py +0 -0
  493. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/ipam.py +0 -0
  494. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/menu.py +0 -0
  495. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/models.py +0 -0
  496. {infrahub_server-1.3.4/backend/infrahub/graphql/queries/diff → infrahub_server-1.3.6/backend/infrahub/graphql/mutations/node_getter}/__init__.py +0 -0
  497. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/node_getter/by_default_filter.py +0 -0
  498. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/node_getter/by_hfid.py +0 -0
  499. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/node_getter/by_id.py +0 -0
  500. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/node_getter/interface.py +0 -0
  501. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/proposed_change.py +0 -0
  502. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/repository.py +0 -0
  503. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/resource_manager.py +0 -0
  504. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/schema.py +0 -0
  505. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/tasks.py +0 -0
  506. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/mutations/webhook.py +0 -0
  507. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/parser.py +0 -0
  508. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/permissions.py +0 -0
  509. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/queries/__init__.py +0 -0
  510. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/queries/account.py +0 -0
  511. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/queries/branch.py +0 -0
  512. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/queries/convert_object_type_mapping.py +0 -0
  513. {infrahub_server-1.3.4/backend/infrahub/graphql/resolvers → infrahub_server-1.3.6/backend/infrahub/graphql/queries/diff}/__init__.py +0 -0
  514. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/queries/diff/tree.py +0 -0
  515. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/queries/event.py +0 -0
  516. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/queries/internal.py +0 -0
  517. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/queries/ipam.py +0 -0
  518. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/queries/relationship.py +0 -0
  519. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/queries/resource_manager.py +0 -0
  520. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/queries/search.py +0 -0
  521. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/queries/status.py +0 -0
  522. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/queries/task.py +0 -0
  523. {infrahub_server-1.3.4/backend/infrahub/groups → infrahub_server-1.3.6/backend/infrahub/graphql/resolvers}/__init__.py +0 -0
  524. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/resolvers/many_relationship.py +0 -0
  525. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/resolvers/resolver.py +0 -0
  526. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/resolvers/single_relationship.py +0 -0
  527. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/schema.py +0 -0
  528. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/subscription/__init__.py +0 -0
  529. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/subscription/events.py +0 -0
  530. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/subscription/graphql_query.py +0 -0
  531. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/types/__init__.py +0 -0
  532. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/types/attribute.py +0 -0
  533. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/types/branch.py +0 -0
  534. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/types/common.py +0 -0
  535. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/types/context.py +0 -0
  536. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/types/enums.py +0 -0
  537. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/types/event.py +0 -0
  538. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/types/interface.py +0 -0
  539. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/types/node.py +0 -0
  540. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/types/permission.py +0 -0
  541. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/types/relationship.py +0 -0
  542. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/types/standard_node.py +0 -0
  543. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/types/task.py +0 -0
  544. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/types/task_log.py +0 -0
  545. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/graphql/utils.py +0 -0
  546. {infrahub_server-1.3.4/backend/infrahub/menu → infrahub_server-1.3.6/backend/infrahub/groups}/__init__.py +0 -0
  547. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/groups/ancestors.py +0 -0
  548. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/groups/models.py +0 -0
  549. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/groups/parsers.py +0 -0
  550. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/groups/tasks.py +0 -0
  551. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/helpers.py +0 -0
  552. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/lock.py +0 -0
  553. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/log.py +0 -0
  554. {infrahub_server-1.3.4/backend/infrahub/patch → infrahub_server-1.3.6/backend/infrahub/menu}/__init__.py +0 -0
  555. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/menu/constants.py +0 -0
  556. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/menu/generator.py +0 -0
  557. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/menu/menu.py +0 -0
  558. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/menu/models.py +0 -0
  559. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/menu/repository.py +0 -0
  560. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/menu/utils.py +0 -0
  561. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/message_bus/__init__.py +0 -0
  562. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/message_bus/messages/__init__.py +0 -0
  563. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/message_bus/messages/git_file_get.py +0 -0
  564. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/message_bus/messages/git_repository_connectivity.py +0 -0
  565. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/message_bus/messages/refresh_git_fetch.py +0 -0
  566. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/message_bus/messages/refresh_registry_branches.py +0 -0
  567. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/message_bus/messages/refresh_registry_rebasedbranch.py +0 -0
  568. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/message_bus/messages/send_echo_request.py +0 -0
  569. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/message_bus/operations/__init__.py +0 -0
  570. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/message_bus/operations/git/__init__.py +0 -0
  571. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/message_bus/operations/git/file.py +0 -0
  572. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/message_bus/operations/git/repository.py +0 -0
  573. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/message_bus/operations/refresh/__init__.py +0 -0
  574. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/message_bus/operations/refresh/registry.py +0 -0
  575. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/message_bus/operations/send/__init__.py +0 -0
  576. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/message_bus/operations/send/echo.py +0 -0
  577. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/message_bus/types.py +0 -0
  578. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/middleware.py +0 -0
  579. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/models.py +0 -0
  580. {infrahub_server-1.3.4/backend/infrahub/patch/queries → infrahub_server-1.3.6/backend/infrahub/patch}/__init__.py +0 -0
  581. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/patch/constants.py +0 -0
  582. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/patch/edge_adder.py +0 -0
  583. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/patch/edge_deleter.py +0 -0
  584. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/patch/edge_updater.py +0 -0
  585. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/patch/models.py +0 -0
  586. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/patch/plan_reader.py +0 -0
  587. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/patch/plan_writer.py +0 -0
  588. {infrahub_server-1.3.4/backend/infrahub/pools → infrahub_server-1.3.6/backend/infrahub/patch/queries}/__init__.py +0 -0
  589. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/patch/queries/base.py +0 -0
  590. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/patch/queries/delete_duplicated_edges.py +0 -0
  591. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/patch/runner.py +0 -0
  592. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/patch/vertex_adder.py +0 -0
  593. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/patch/vertex_deleter.py +0 -0
  594. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/patch/vertex_updater.py +0 -0
  595. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/permissions/__init__.py +0 -0
  596. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/permissions/backend.py +0 -0
  597. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/permissions/constants.py +0 -0
  598. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/permissions/globals.py +0 -0
  599. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/permissions/local_backend.py +0 -0
  600. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/permissions/manager.py +0 -0
  601. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/permissions/report.py +0 -0
  602. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/permissions/types.py +0 -0
  603. {infrahub_server-1.3.4/backend/infrahub/prefect_server → infrahub_server-1.3.6/backend/infrahub/pools}/__init__.py +0 -0
  604. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/pools/address.py +0 -0
  605. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/pools/models.py +0 -0
  606. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/pools/number.py +0 -0
  607. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/pools/prefix.py +0 -0
  608. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/pools/registration.py +0 -0
  609. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/pools/tasks.py +0 -0
  610. {infrahub_server-1.3.4/backend/infrahub/proposed_change → infrahub_server-1.3.6/backend/infrahub/prefect_server}/__init__.py +0 -0
  611. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/prefect_server/app.py +0 -0
  612. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/prefect_server/database.py +0 -0
  613. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/prefect_server/events.py +0 -0
  614. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/prefect_server/models.py +0 -0
  615. {infrahub_server-1.3.4/backend/infrahub/schema → infrahub_server-1.3.6/backend/infrahub/proposed_change}/__init__.py +0 -0
  616. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/proposed_change/branch_diff.py +0 -0
  617. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/proposed_change/constants.py +0 -0
  618. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/proposed_change/models.py +0 -0
  619. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/pytest_plugin.py +0 -0
  620. {infrahub_server-1.3.4/backend/infrahub/services/adapters → infrahub_server-1.3.6/backend/infrahub/schema}/__init__.py +0 -0
  621. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/schema/tasks.py +0 -0
  622. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/schema/triggers.py +0 -0
  623. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/serve/__init__.py +0 -0
  624. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/serve/gunicorn_config.py +0 -0
  625. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/serve/log.py +0 -0
  626. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/serve/worker.py +0 -0
  627. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/server.py +0 -0
  628. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/services/__init__.py +0 -0
  629. {infrahub_server-1.3.4/backend/infrahub/task_manager → infrahub_server-1.3.6/backend/infrahub/services/adapters}/__init__.py +0 -0
  630. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/services/adapters/cache/__init__.py +0 -0
  631. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/services/adapters/cache/nats.py +0 -0
  632. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/services/adapters/cache/redis.py +0 -0
  633. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/services/adapters/event/__init__.py +0 -0
  634. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/services/adapters/http/__init__.py +0 -0
  635. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/services/adapters/http/httpx.py +0 -0
  636. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/services/adapters/message_bus/__init__.py +0 -0
  637. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/services/adapters/message_bus/local.py +0 -0
  638. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/services/adapters/message_bus/nats.py +0 -0
  639. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/services/adapters/message_bus/rabbitmq.py +0 -0
  640. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/services/adapters/workflow/__init__.py +0 -0
  641. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/services/adapters/workflow/local.py +0 -0
  642. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/services/adapters/workflow/worker.py +0 -0
  643. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/services/component.py +0 -0
  644. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/services/protocols.py +0 -0
  645. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/services/scheduler.py +0 -0
  646. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/storage.py +0 -0
  647. {infrahub_server-1.3.4/backend/infrahub/tasks → infrahub_server-1.3.6/backend/infrahub/task_manager}/__init__.py +0 -0
  648. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/task_manager/constants.py +0 -0
  649. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/task_manager/event.py +0 -0
  650. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/task_manager/models.py +0 -0
  651. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/task_manager/task.py +0 -0
  652. {infrahub_server-1.3.4/backend/infrahub/telemetry → infrahub_server-1.3.6/backend/infrahub/tasks}/__init__.py +0 -0
  653. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/tasks/artifact.py +0 -0
  654. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/tasks/check.py +0 -0
  655. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/tasks/dummy.py +0 -0
  656. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/tasks/keepalive.py +0 -0
  657. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/tasks/recurring.py +0 -0
  658. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/tasks/registry.py +0 -0
  659. {infrahub_server-1.3.4/backend/infrahub/transformations → infrahub_server-1.3.6/backend/infrahub/telemetry}/__init__.py +0 -0
  660. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/telemetry/constants.py +0 -0
  661. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/telemetry/database.py +0 -0
  662. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/telemetry/models.py +0 -0
  663. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/telemetry/task_manager.py +0 -0
  664. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/telemetry/tasks.py +0 -0
  665. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/telemetry/utils.py +0 -0
  666. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/trace.py +0 -0
  667. {infrahub_server-1.3.4/backend/infrahub/trigger → infrahub_server-1.3.6/backend/infrahub/transformations}/__init__.py +0 -0
  668. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/transformations/constants.py +0 -0
  669. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/transformations/models.py +0 -0
  670. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/transformations/tasks.py +0 -0
  671. {infrahub_server-1.3.4/backend/infrahub/validators → infrahub_server-1.3.6/backend/infrahub/trigger}/__init__.py +0 -0
  672. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/trigger/catalogue.py +0 -0
  673. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/trigger/constants.py +0 -0
  674. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/trigger/models.py +0 -0
  675. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/trigger/setup.py +0 -0
  676. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/trigger/tasks.py +0 -0
  677. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/types.py +0 -0
  678. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/utils.py +0 -0
  679. {infrahub_server-1.3.4/backend/infrahub/webhook → infrahub_server-1.3.6/backend/infrahub/validators}/__init__.py +0 -0
  680. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/validators/events.py +0 -0
  681. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/validators/tasks.py +0 -0
  682. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/visuals.py +0 -0
  683. {infrahub_server-1.3.4/backend/infrahub/workers → infrahub_server-1.3.6/backend/infrahub/webhook}/__init__.py +0 -0
  684. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/webhook/gather.py +0 -0
  685. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/webhook/models.py +0 -0
  686. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/webhook/tasks.py +0 -0
  687. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/webhook/triggers.py +0 -0
  688. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/worker.py +0 -0
  689. {infrahub_server-1.3.4/backend/infrahub/workflows → infrahub_server-1.3.6/backend/infrahub/workers}/__init__.py +0 -0
  690. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/workers/infrahub_async.py +0 -0
  691. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/workers/utils.py +0 -0
  692. {infrahub_server-1.3.4/python_sdk/infrahub_sdk/ctl → infrahub_server-1.3.6/backend/infrahub/workflows}/__init__.py +0 -0
  693. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/workflows/catalogue.py +0 -0
  694. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/workflows/constants.py +0 -0
  695. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/workflows/initialization.py +0 -0
  696. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/workflows/models.py +0 -0
  697. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/backend/infrahub/workflows/utils.py +0 -0
  698. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/__init__.py +0 -0
  699. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/_importer.py +0 -0
  700. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/analyzer.py +0 -0
  701. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/async_typer.py +0 -0
  702. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/batch.py +0 -0
  703. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/branch.py +0 -0
  704. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/checks.py +0 -0
  705. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/client.py +0 -0
  706. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/config.py +0 -0
  707. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/constants.py +0 -0
  708. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/context.py +0 -0
  709. {infrahub_server-1.3.4/python_sdk/infrahub_sdk/protocols_generator → infrahub_server-1.3.6/python_sdk/infrahub_sdk/ctl}/__init__.py +0 -0
  710. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/branch.py +0 -0
  711. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/check.py +0 -0
  712. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/cli.py +0 -0
  713. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/cli_commands.py +0 -0
  714. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/client.py +0 -0
  715. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/config.py +0 -0
  716. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/exceptions.py +0 -0
  717. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/exporter.py +0 -0
  718. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/generator.py +0 -0
  719. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/importer.py +0 -0
  720. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/menu.py +0 -0
  721. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/object.py +0 -0
  722. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/parameters.py +0 -0
  723. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/render.py +0 -0
  724. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/repository.py +0 -0
  725. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/schema.py +0 -0
  726. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/transform.py +0 -0
  727. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/utils.py +0 -0
  728. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/ctl/validate.py +0 -0
  729. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/data.py +0 -0
  730. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/diff.py +0 -0
  731. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/exceptions.py +0 -0
  732. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/generator.py +0 -0
  733. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/graphql.py +0 -0
  734. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/groups.py +0 -0
  735. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/jinja2.py +0 -0
  736. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/node/__init__.py +0 -0
  737. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/node/attribute.py +0 -0
  738. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/node/constants.py +0 -0
  739. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/node/parsers.py +0 -0
  740. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/node/property.py +0 -0
  741. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/node/related_node.py +0 -0
  742. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/node/relationship.py +0 -0
  743. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/object_store.py +0 -0
  744. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/operation.py +0 -0
  745. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/playback.py +0 -0
  746. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/protocols.py +0 -0
  747. {infrahub_server-1.3.4/python_sdk/infrahub_sdk/pytest_plugin → infrahub_server-1.3.6/python_sdk/infrahub_sdk/protocols_generator}/__init__.py +0 -0
  748. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/protocols_generator/generator.py +0 -0
  749. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/protocols_generator/template.j2 +0 -0
  750. {infrahub_server-1.3.4/python_sdk/infrahub_sdk/spec → infrahub_server-1.3.6/python_sdk/infrahub_sdk/pytest_plugin}/__init__.py +0 -0
  751. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/pytest_plugin/exceptions.py +0 -0
  752. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/pytest_plugin/items/__init__.py +0 -0
  753. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/pytest_plugin/items/base.py +0 -0
  754. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/pytest_plugin/items/check.py +0 -0
  755. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/pytest_plugin/items/graphql_query.py +0 -0
  756. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/pytest_plugin/items/jinja2_transform.py +0 -0
  757. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/pytest_plugin/items/python_transform.py +0 -0
  758. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/pytest_plugin/loader.py +0 -0
  759. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/pytest_plugin/models.py +0 -0
  760. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/pytest_plugin/plugin.py +0 -0
  761. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/pytest_plugin/utils.py +0 -0
  762. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/queries.py +0 -0
  763. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/query_groups.py +0 -0
  764. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/recorder.py +0 -0
  765. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/repository.py +0 -0
  766. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/schema/__init__.py +0 -0
  767. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/schema/main.py +0 -0
  768. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/schema/repository.py +0 -0
  769. {infrahub_server-1.3.4/python_sdk/infrahub_sdk/testing → infrahub_server-1.3.6/python_sdk/infrahub_sdk/spec}/__init__.py +0 -0
  770. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/spec/menu.py +0 -0
  771. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/spec/object.py +0 -0
  772. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/store.py +0 -0
  773. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/task/__init__.py +0 -0
  774. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/task/constants.py +0 -0
  775. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/task/exceptions.py +0 -0
  776. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/task/manager.py +0 -0
  777. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/task/models.py +0 -0
  778. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/template/__init__.py +0 -0
  779. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/template/exceptions.py +0 -0
  780. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/template/filters.py +0 -0
  781. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/template/models.py +0 -0
  782. {infrahub_server-1.3.4/python_sdk/infrahub_sdk/testing/schemas → infrahub_server-1.3.6/python_sdk/infrahub_sdk/testing}/__init__.py +0 -0
  783. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/testing/docker.py +0 -0
  784. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/testing/repository.py +0 -0
  785. {infrahub_server-1.3.4/python_sdk/infrahub_sdk/transfer → infrahub_server-1.3.6/python_sdk/infrahub_sdk/testing/schemas}/__init__.py +0 -0
  786. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/testing/schemas/animal.py +0 -0
  787. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/testing/schemas/car_person.py +0 -0
  788. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/timestamp.py +0 -0
  789. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/topological_sort.py +0 -0
  790. {infrahub_server-1.3.4/python_sdk/infrahub_sdk/transfer/exporter → infrahub_server-1.3.6/python_sdk/infrahub_sdk/transfer}/__init__.py +0 -0
  791. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/transfer/constants.py +0 -0
  792. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/transfer/exceptions.py +0 -0
  793. {infrahub_server-1.3.4/python_sdk/infrahub_sdk/transfer/importer → infrahub_server-1.3.6/python_sdk/infrahub_sdk/transfer/exporter}/__init__.py +0 -0
  794. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/transfer/exporter/interface.py +0 -0
  795. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/transfer/exporter/json.py +0 -0
  796. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/transfer/importer/interface.py +0 -0
  797. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/transfer/importer/json.py +0 -0
  798. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/transfer/schema_sorter.py +0 -0
  799. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/transforms.py +0 -0
  800. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/types.py +0 -0
  801. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/uuidt.py +0 -0
  802. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_sdk/infrahub_sdk/yaml.py +0 -0
  803. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_testcontainers/infrahub_testcontainers/__init__.py +0 -0
  804. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_testcontainers/infrahub_testcontainers/constants.py +0 -0
  805. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_testcontainers/infrahub_testcontainers/container.py +0 -0
  806. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_testcontainers/infrahub_testcontainers/docker-compose-cluster.test.yml +0 -0
  807. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_testcontainers/infrahub_testcontainers/docker-compose.test.yml +0 -0
  808. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_testcontainers/infrahub_testcontainers/haproxy.cfg +0 -0
  809. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_testcontainers/infrahub_testcontainers/helpers.py +0 -0
  810. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_testcontainers/infrahub_testcontainers/host.py +0 -0
  811. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_testcontainers/infrahub_testcontainers/measurements.py +0 -0
  812. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_testcontainers/infrahub_testcontainers/models.py +0 -0
  813. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_testcontainers/infrahub_testcontainers/performance_test.py +0 -0
  814. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_testcontainers/infrahub_testcontainers/plugin.py +0 -0
  815. {infrahub_server-1.3.4 → infrahub_server-1.3.6}/python_testcontainers/infrahub_testcontainers/prometheus.yml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: infrahub-server
3
- Version: 1.3.4
3
+ Version: 1.3.6
4
4
  Summary: Infrahub is taking a new approach to Infrastructure Management by providing a new generation of datastore to organize and control all the data that defines how an infrastructure should run.
5
5
  License: Apache-2.0
6
6
  Author: OpsMill
@@ -56,6 +56,7 @@ from infrahub.services.adapters.message_bus.local import BusSimulator
56
56
  from infrahub.services.adapters.workflow.local import WorkflowLocalExecution
57
57
 
58
58
  from .constants import ERROR_BADGE, FAILED_BADGE, SUCCESS_BADGE
59
+ from .db_commands.check_inheritance import check_inheritance
59
60
  from .patch import patch_app
60
61
 
61
62
 
@@ -178,6 +179,30 @@ async def migrate_cmd(
178
179
  await dbdriver.close()
179
180
 
180
181
 
182
+ @app.command(name="check-inheritance")
183
+ async def check_inheritance_cmd(
184
+ ctx: typer.Context,
185
+ fix: bool = typer.Option(False, help="Fix the inheritance of any invalid nodes."),
186
+ config_file: str = typer.Argument("infrahub.toml", envvar="INFRAHUB_CONFIG"),
187
+ ) -> None:
188
+ """Check the database for any vertices with incorrect inheritance"""
189
+ logging.getLogger("infrahub").setLevel(logging.WARNING)
190
+ logging.getLogger("neo4j").setLevel(logging.ERROR)
191
+ logging.getLogger("prefect").setLevel(logging.ERROR)
192
+
193
+ config.load_and_exit(config_file_name=config_file)
194
+
195
+ context: CliContext = ctx.obj
196
+ dbdriver = await context.init_db(retry=1)
197
+ await initialize_registry(db=dbdriver)
198
+
199
+ success = await check_inheritance(db=dbdriver, fix=fix)
200
+ if not success:
201
+ raise typer.Exit(code=1)
202
+
203
+ await dbdriver.close()
204
+
205
+
181
206
  @app.command(name="update-core-schema")
182
207
  async def update_core_schema_cmd(
183
208
  ctx: typer.Context,
@@ -916,5 +941,39 @@ async def run_database_checks(db: InfrahubDatabase, output_dir: Path) -> None:
916
941
  else:
917
942
  rprint(f"{SUCCESS_BADGE} No duplicated edges found")
918
943
 
944
+ # Check 4: Orphaned Relationships
945
+ rprint("\n[bold cyan]Check 4: Orphaned Relationships[/bold cyan]")
946
+ orphaned_rels_query = """
947
+ MATCH (r:Relationship)-[:IS_RELATED]-(peer:Node)
948
+ WITH DISTINCT r, peer
949
+ WITH r, count(*) AS num_peers
950
+ WHERE num_peers < 2
951
+ MATCH (r)-[e:IS_RELATED]-(peer:Node)
952
+ RETURN DISTINCT
953
+ r.name AS r_name,
954
+ e.branch AS branch,
955
+ e.status AS status,
956
+ e.from AS from_time,
957
+ e.to AS to_time,
958
+ peer.uuid AS peer_uuid,
959
+ peer.kind AS peer_kind
960
+ """
961
+ results = await db.execute_query(query=orphaned_rels_query)
962
+ if results:
963
+ rprint(f"[red]Found {len(results)} orphaned Relationships[/red]")
964
+ # Write detailed results to file
965
+ output_file = output_dir / "orphaned_relationships.csv"
966
+ with output_file.open(mode="w", newline="") as f:
967
+ writer = DictWriter(
968
+ f,
969
+ fieldnames=["r_name", "branch", "status", "from_time", "to_time", "peer_uuid", "peer_kind"],
970
+ )
971
+ writer.writeheader()
972
+ for result in results:
973
+ writer.writerow(dict(result))
974
+ rprint(f" Detailed results written to: {output_file}")
975
+ else:
976
+ rprint(f"{SUCCESS_BADGE} No orphaned relationships found")
977
+
919
978
  rprint(f"\n{SUCCESS_BADGE} Database health checks completed")
920
979
  rprint(f"Detailed results saved to: {output_dir.absolute()}")
@@ -0,0 +1,284 @@
1
+ from __future__ import annotations
2
+
3
+ from collections import defaultdict
4
+ from dataclasses import dataclass
5
+ from typing import TYPE_CHECKING, Any
6
+
7
+ from rich import print as rprint
8
+ from rich.console import Console
9
+ from rich.table import Table
10
+
11
+ from infrahub.core import registry
12
+ from infrahub.core.branch.models import Branch
13
+ from infrahub.core.constants import InfrahubKind
14
+ from infrahub.core.migrations.query.node_duplicate import NodeDuplicateQuery, SchemaNodeInfo
15
+ from infrahub.core.query import Query, QueryType
16
+ from infrahub.core.schema import SchemaRoot, internal_schema
17
+ from infrahub.core.schema.manager import SchemaManager
18
+ from infrahub.log import get_logger
19
+
20
+ from ..constants import FAILED_BADGE, SUCCESS_BADGE
21
+
22
+ if TYPE_CHECKING:
23
+ from infrahub.core.schema.node_schema import NodeSchema
24
+ from infrahub.database import InfrahubDatabase
25
+
26
+ log = get_logger()
27
+
28
+
29
+ class GetSchemaWithUpdatedInheritance(Query):
30
+ """
31
+ Get the name, namespace, and branch of any SchemaNodes with _updated_ inheritance
32
+ This query will only return schemas that have had `inherit_from` updated after they were created
33
+ """
34
+
35
+ name = "get_schema_with_updated_inheritance"
36
+ type = QueryType.READ
37
+ insert_return = False
38
+
39
+ async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None: # noqa: ARG002
40
+ query = """
41
+ // find inherit_from attributes that have been updated
42
+ MATCH p = (schema_node:SchemaNode)-[has_attr_e:HAS_ATTRIBUTE {status: "active"}]->(a:Attribute {name: "inherit_from"})
43
+ WHERE has_attr_e.to IS NULL
44
+ CALL (a) {
45
+ // only get branches on which the value was updated, we can ignore the initial create
46
+ MATCH (a)-[e:HAS_VALUE]->(:AttributeValue)
47
+ ORDER BY e.from ASC
48
+ // tail leaves out the earliest one, which is the initial create
49
+ RETURN tail(collect(e.branch)) AS branches
50
+ }
51
+ WITH schema_node, a, branches
52
+ WHERE size(branches) > 0
53
+ UNWIND branches AS branch
54
+ WITH DISTINCT schema_node, a, branch
55
+
56
+ //get branch details
57
+ CALL (branch) {
58
+ MATCH (b:Branch {name: branch})
59
+ RETURN b.branched_from AS branched_from, b.hierarchy_level AS branch_level
60
+ }
61
+
62
+ // get the namespace for the schema
63
+ CALL (schema_node, a, branch, branched_from, branch_level) {
64
+ MATCH (schema_node)-[e1:HAS_ATTRIBUTE]-(:Attribute {name: "namespace"})-[e2:HAS_VALUE]->(av)
65
+ WHERE (
66
+ e1.branch = branch OR
67
+ (e1.branch_level < branch_level AND e1.from <= branched_from)
68
+ ) AND e1.to IS NULL
69
+ AND e1.status = "active"
70
+ AND (
71
+ e2.branch = branch OR
72
+ (e2.branch_level < branch_level AND e2.from <= branched_from)
73
+ ) AND e2.to IS NULL
74
+ AND e2.status = "active"
75
+ ORDER BY e2.branch_level DESC, e1.branch_level DESC, e2.from DESC, e1.from DESC
76
+ RETURN av.value AS namespace
77
+ LIMIT 1
78
+ }
79
+
80
+ // get the name for the schema
81
+ CALL (schema_node, a, branch, branched_from, branch_level) {
82
+ MATCH (schema_node)-[e1:HAS_ATTRIBUTE]-(:Attribute {name: "name"})-[e2:HAS_VALUE]->(av)
83
+ WHERE (
84
+ e1.branch = branch OR
85
+ (e1.branch_level < branch_level AND e1.from <= branched_from)
86
+ ) AND e1.to IS NULL
87
+ AND e1.status = "active"
88
+ AND (
89
+ e2.branch = branch OR
90
+ (e2.branch_level < branch_level AND e2.from <= branched_from)
91
+ ) AND e2.to IS NULL
92
+ AND e2.status = "active"
93
+ ORDER BY e2.branch_level DESC, e1.branch_level DESC, e2.from DESC, e1.from DESC
94
+ RETURN av.value AS name
95
+ LIMIT 1
96
+ }
97
+ RETURN name, namespace, branch
98
+ """
99
+ self.return_labels = ["name", "namespace", "branch"]
100
+ self.add_to_query(query)
101
+
102
+ def get_updated_inheritance_kinds_by_branch(self) -> dict[str, list[str]]:
103
+ kinds_by_branch: dict[str, list[str]] = defaultdict(list)
104
+ for result in self.results:
105
+ name = result.get_as_type(label="name", return_type=str)
106
+ namespace = result.get_as_type(label="namespace", return_type=str)
107
+ branch = result.get_as_type(label="branch", return_type=str)
108
+ kinds_by_branch[branch].append(f"{namespace}{name}")
109
+ return kinds_by_branch
110
+
111
+
112
+ @dataclass
113
+ class KindLabelCount:
114
+ kind: str
115
+ labels: frozenset[str]
116
+ num_nodes: int
117
+
118
+
119
+ @dataclass
120
+ class KindLabelCountCorrected(KindLabelCount):
121
+ node_schema: NodeSchema
122
+
123
+
124
+ class GetAllKindsAndLabels(Query):
125
+ """
126
+ Get the kind, labels, and number of nodes for the given kinds and branch
127
+ """
128
+
129
+ name = "get_all_kinds_and_labels"
130
+ type = QueryType.READ
131
+ insert_return = False
132
+
133
+ def __init__(self, kinds: list[str] | None = None, **kwargs: Any) -> None:
134
+ super().__init__(**kwargs)
135
+ self.kinds = kinds
136
+
137
+ async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None: # noqa: ARG002
138
+ self.params["branch_name"] = self.branch.name
139
+ self.params["branched_from"] = self.branch.get_branched_from()
140
+ self.params["branch_level"] = self.branch.hierarchy_level
141
+ kinds_str = "Node"
142
+ if self.kinds:
143
+ kinds_str = "|".join(self.kinds)
144
+ query = """
145
+ MATCH (n:%(kinds_str)s)-[r:IS_PART_OF]->(:Root)
146
+ WHERE (
147
+ r.branch = $branch_name OR
148
+ (r.branch_level < $branch_level AND r.from <= $branched_from)
149
+ )
150
+ AND r.to IS NULL
151
+ AND r.status = "active"
152
+ RETURN DISTINCT n.kind AS kind, labels(n) AS labels, count(*) AS num_nodes
153
+ ORDER BY kind ASC
154
+ """ % {"kinds_str": kinds_str}
155
+ self.return_labels = ["kind", "labels", "num_nodes"]
156
+ self.add_to_query(query)
157
+
158
+ def get_kind_label_counts(self) -> list[KindLabelCount]:
159
+ kind_label_counts: list[KindLabelCount] = []
160
+ for result in self.results:
161
+ kind = result.get_as_type(label="kind", return_type=str)
162
+ num_nodes = result.get_as_type(label="num_nodes", return_type=int)
163
+ labels: list[str] = result.get_as_type(label="labels", return_type=list)
164
+ # we can ignore the Node label and the label that matches the kind
165
+ cleaned_labels = frozenset(str(lbl) for lbl in labels if lbl not in ["Node", "CoreNode", kind])
166
+ kind_label_counts.append(KindLabelCount(kind=kind, labels=cleaned_labels, num_nodes=num_nodes))
167
+ return kind_label_counts
168
+
169
+
170
+ def display_kind_label_counts(kind_label_counts_by_branch: dict[str, list[KindLabelCountCorrected]]) -> None:
171
+ console = Console()
172
+
173
+ table = Table(title="Incorrect Inheritance Nodes")
174
+
175
+ table.add_column("Branch")
176
+ table.add_column("Kind")
177
+ table.add_column("Incorrect Labels")
178
+ table.add_column("Num Nodes")
179
+
180
+ for branch_name, kind_label_counts in kind_label_counts_by_branch.items():
181
+ for kind_label_count in kind_label_counts:
182
+ table.add_row(
183
+ branch_name, kind_label_count.kind, str(list(kind_label_count.labels)), str(kind_label_count.num_nodes)
184
+ )
185
+
186
+ console.print(table)
187
+
188
+
189
+ async def check_inheritance(db: InfrahubDatabase, fix: bool = False) -> bool:
190
+ """
191
+ Run migrations to update the inheritance of any nodes with incorrect inheritance from a failed migration
192
+ 1. Identifies node schemas that have had their inheritance updated after they were created
193
+ a. includes the kind and branch of the inheritance update
194
+ 2. Checks nodes of the given kinds on the given branch to verify their inheritance is correct
195
+ 3. Displays counts of any kinds with incorrect inheritance on the given branch
196
+ 4. If fix is True, runs migrations to update the inheritance of any nodes with incorrect inheritance
197
+ on the correct branch
198
+ """
199
+
200
+ updated_inheritance_query = await GetSchemaWithUpdatedInheritance.init(db=db)
201
+ await updated_inheritance_query.execute(db=db)
202
+ updated_inheritance_kinds_by_branch = updated_inheritance_query.get_updated_inheritance_kinds_by_branch()
203
+
204
+ if not updated_inheritance_kinds_by_branch:
205
+ rprint(f"{SUCCESS_BADGE} No schemas have had their inheritance updated")
206
+ return True
207
+
208
+ schema_manager = SchemaManager()
209
+ registry.schema = schema_manager
210
+ schema = SchemaRoot(**internal_schema)
211
+ schema_manager.register_schema(schema=schema)
212
+ branches_by_name = {b.name: b for b in await Branch.get_list(db=db)}
213
+
214
+ kind_label_counts_by_branch: dict[str, list[KindLabelCountCorrected]] = defaultdict(list)
215
+ for branch_name, kinds in updated_inheritance_kinds_by_branch.items():
216
+ rprint(f"Checking branch: {branch_name}", end="...")
217
+ branch = branches_by_name[branch_name]
218
+ schema_branch = await schema_manager.load_schema_from_db(db=db, branch=branch)
219
+ kind_label_query = await GetAllKindsAndLabels.init(db=db, branch=branch, kinds=kinds)
220
+ await kind_label_query.execute(db=db)
221
+ kind_label_counts = kind_label_query.get_kind_label_counts()
222
+
223
+ for kind_label_count in kind_label_counts:
224
+ node_schema = schema_branch.get_node(name=kind_label_count.kind, duplicate=False)
225
+ correct_labels = frozenset(node_schema.inherit_from)
226
+ if kind_label_count.labels == correct_labels:
227
+ continue
228
+
229
+ kind_label_counts_by_branch[branch_name].append(
230
+ KindLabelCountCorrected(
231
+ kind=kind_label_count.kind,
232
+ labels=kind_label_count.labels,
233
+ num_nodes=kind_label_count.num_nodes,
234
+ node_schema=node_schema,
235
+ )
236
+ )
237
+ rprint("done")
238
+
239
+ if not kind_label_counts_by_branch:
240
+ rprint(f"{SUCCESS_BADGE} All nodes have the correct inheritance")
241
+ return True
242
+
243
+ display_kind_label_counts(kind_label_counts_by_branch)
244
+
245
+ if not fix:
246
+ rprint(f"{FAILED_BADGE} Use the --fix flag to fix the inheritance of any invalid nodes")
247
+ return False
248
+
249
+ for branch_name, kind_label_counts_corrected in kind_label_counts_by_branch.items():
250
+ for kind_label_count in kind_label_counts_corrected:
251
+ rprint(f"Fixing kind {kind_label_count.kind} on branch {branch_name}", end="...")
252
+ node_schema = kind_label_count.node_schema
253
+ migration_query = await NodeDuplicateQuery.init(
254
+ db=db,
255
+ branch=branches_by_name[branch_name],
256
+ previous_node=SchemaNodeInfo(
257
+ name=node_schema.name,
258
+ namespace=node_schema.namespace,
259
+ branch_support=node_schema.branch.value,
260
+ labels=list(kind_label_count.labels) + [kind_label_count.kind, InfrahubKind.NODE],
261
+ kind=kind_label_count.kind,
262
+ ),
263
+ new_node=SchemaNodeInfo(
264
+ name=node_schema.name,
265
+ namespace=node_schema.namespace,
266
+ branch_support=node_schema.branch.value,
267
+ labels=list(node_schema.inherit_from) + [kind_label_count.kind, InfrahubKind.NODE],
268
+ kind=kind_label_count.kind,
269
+ ),
270
+ )
271
+ await migration_query.execute(db=db)
272
+ rprint("done")
273
+
274
+ rprint(f"{SUCCESS_BADGE} All nodes have the correct inheritance")
275
+
276
+ if registry.default_branch in kind_label_counts_by_branch:
277
+ kinds = [kind_label_count.kind for kind_label_count in kind_label_counts_by_branch[registry.default_branch]]
278
+ rprint(
279
+ "[bold cyan]Note that migrations were run on the default branch for the following schema kinds: "
280
+ f"{', '.join(kinds)}. You should rebase any branches that include/will include changes using "
281
+ "the migrated schemas[/bold cyan]"
282
+ )
283
+
284
+ return True
@@ -400,7 +400,7 @@ class NodeManager:
400
400
 
401
401
  results = []
402
402
  for peer in peers_info:
403
- result = await Relationship(schema=schema, branch=branch, at=at, node_id=peer.source_id).load(
403
+ result = Relationship(schema=schema, branch=branch, at=at, node_id=peer.source_id).load(
404
404
  db=db,
405
405
  id=peer.rel_node_id,
406
406
  db_id=peer.rel_node_db_id,
@@ -408,7 +408,7 @@ class NodeManager:
408
408
  data=peer,
409
409
  )
410
410
  if fetch_peers:
411
- await result.set_peer(value=peer_nodes[peer.peer_id])
411
+ result.set_peer(value=peer_nodes[peer.peer_id])
412
412
  results.append(result)
413
413
 
414
414
  return results
@@ -21,6 +21,13 @@ class SchemaNodeInfo(BaseModel):
21
21
 
22
22
 
23
23
  class NodeDuplicateQuery(Query):
24
+ """
25
+ Duplicates a Node to use a new kind or inheritance.
26
+ Creates a copy of each affected Node and sets the new kind/inheritance.
27
+ Adds duplicate edges to the new Node that match all the active edges on the old Node.
28
+ Sets all the edges on the old Node to deleted.
29
+ """
30
+
24
31
  name = "node_duplicate"
25
32
  type = QueryType.WRITE
26
33
  insert_return: bool = False
@@ -37,10 +44,27 @@ class NodeDuplicateQuery(Query):
37
44
  super().__init__(**kwargs)
38
45
 
39
46
  def render_match(self) -> str:
40
- query = f"""
47
+ labels_str = ":".join(self.previous_node.labels)
48
+ query = """
41
49
  // Find all the active nodes
42
- MATCH (node:{self.previous_node.kind})
43
- """
50
+ MATCH (node:%(labels_str)s)
51
+ WITH DISTINCT node
52
+ // ----------------
53
+ // Filter out nodes that have already been migrated
54
+ // ----------------
55
+ CALL (node) {
56
+ WITH labels(node) AS node_labels
57
+ UNWIND node_labels AS n_label
58
+ ORDER BY n_label ASC
59
+ WITH collect(n_label) AS sorted_labels
60
+
61
+ RETURN (
62
+ node.kind = $new_node.kind AND
63
+ sorted_labels = $new_sorted_labels
64
+ ) AS already_migrated
65
+ }
66
+ WITH node WHERE already_migrated = FALSE
67
+ """ % {"labels_str": labels_str}
44
68
 
45
69
  return query
46
70
 
@@ -109,6 +133,7 @@ class NodeDuplicateQuery(Query):
109
133
 
110
134
  self.params["new_node"] = self.new_node.model_dump()
111
135
  self.params["previous_node"] = self.previous_node.model_dump()
136
+ self.params["new_sorted_labels"] = sorted(self.new_node.labels + ["Node"])
112
137
 
113
138
  self.params["current_time"] = self.at.to_string()
114
139
  self.params["branch"] = self.branch.name
@@ -145,6 +170,7 @@ class NodeDuplicateQuery(Query):
145
170
  WITH active_node, new_node
146
171
  // Process Outbound Relationship
147
172
  MATCH (active_node)-[]->(peer)
173
+ WITH DISTINCT active_node, new_node, peer
148
174
  CALL (active_node, peer) {
149
175
  MATCH (active_node)-[r]->(peer)
150
176
  WHERE %(branch_filter)s
@@ -164,6 +190,7 @@ class NodeDuplicateQuery(Query):
164
190
  WITH DISTINCT active_node, new_node
165
191
  // Process Inbound Relationship
166
192
  MATCH (active_node)<-[]-(peer)
193
+ WITH DISTINCT active_node, new_node, peer
167
194
  CALL (active_node, peer) {
168
195
  MATCH (active_node)<-[r]-(peer)
169
196
  WHERE %(branch_filter)s
@@ -148,7 +148,14 @@ CALL (diff_path) {
148
148
  OR type(base_r_node) <> "IS_RELATED" OR type(base_r_prop) <> "IS_RELATED"
149
149
  )
150
150
  WITH latest_base_path, base_r_root, base_r_node, base_r_prop
151
- ORDER BY base_r_prop.from DESC, base_r_node.from DESC, base_r_root.from DESC
151
+ // status="active" ordering is for tie-breaking edges added and deleted at the same time, we want the active one
152
+ ORDER BY
153
+ base_r_prop.from DESC,
154
+ base_r_prop.status = "active" DESC,
155
+ base_r_node.from DESC,
156
+ base_r_node.status = "active" DESC,
157
+ base_r_root.from DESC,
158
+ base_r_root.status = "active" DESC
152
159
  LIMIT 1
153
160
  RETURN latest_base_path
154
161
  }
@@ -172,8 +179,6 @@ CALL (penultimate_path) {
172
179
  AND %(id_func)s(peer_r_node) = %(id_func)s(r_node)
173
180
  AND [%(id_func)s(n), type(peer_r_node)] <> [%(id_func)s(peer), type(r_peer)]
174
181
  AND r_peer.from < $to_time
175
- // filter out paths where an earlier from time follows a later from time
176
- AND peer_r_node.from <= r_peer.from
177
182
  // filter out paths where a base branch edge follows a branch edge
178
183
  AND (peer_r_node.branch = $base_branch_name OR r_peer.branch = $branch_name)
179
184
  // filter out paths where an active edge follows a deleted edge
@@ -663,6 +668,15 @@ AND ALL(
663
668
  AND ((r_pair[0]).status = "active" OR (r_pair[1]).status = "deleted")
664
669
  // filter out paths where an earlier from time follows a later from time
665
670
  AND (r_pair[0]).from <= (r_pair[1]).from
671
+ // if both are deleted, then the deeper edge must have been deleted first
672
+ AND ((r_pair[0]).status = "active" OR (r_pair[1]).status = "active" OR (r_pair[0]).from >= (r_pair[1].from))
673
+ AND (
674
+ (r_pair[0]).status = (r_pair[1]).status
675
+ OR (
676
+ (r_pair[0]).from <= (r_pair[1]).from
677
+ AND ((r_pair[0]).to IS NULL OR (r_pair[0]).to >= (r_pair[1]).from)
678
+ )
679
+ )
666
680
  // require adjacent edge pairs to have overlapping times, but only if on the same branch
667
681
  AND (
668
682
  (r_pair[0]).branch <> (r_pair[1]).branch
@@ -157,7 +157,20 @@ class NodeCreateAllQuery(NodeQuery):
157
157
  relationships: list[RelationshipCreateData] = []
158
158
  for rel_name in self.node._relationships:
159
159
  rel_manager: RelationshipManager = getattr(self.node, rel_name)
160
+ # Fetch all relationship peers through a single database call for performances.
161
+ peers = await rel_manager.get_peers(db=db, branch_agnostic=self.branch_agnostic)
162
+
160
163
  for rel in rel_manager._relationships:
164
+ try:
165
+ rel.set_peer(value=peers[rel.get_peer_id()])
166
+ except KeyError:
167
+ pass
168
+ except ValueError:
169
+ # Relationship has not been initialized yet, it means the peer does not exist in db yet
170
+ # typically because it will be allocated from a ressource pool. In that case, the peer
171
+ # will be fetched using `rel.resolve` later.
172
+ pass
173
+
161
174
  rel_create_data = await rel.get_create_data(db=db, at=at)
162
175
  if rel_create_data.peer_branch_level > deepest_branch_level or (
163
176
  deepest_branch_name == GLOBAL_BRANCH_NAME and rel_create_data.peer_branch == registry.default_branch
@@ -643,12 +643,9 @@ class RelationshipGetPeerQuery(Query):
643
643
 
644
644
  arrows = self.schema.get_query_arrows()
645
645
 
646
- path_str = (
647
- f"{arrows.left.start}[:IS_RELATED]{arrows.left.end}(rl){arrows.right.start}[:IS_RELATED]{arrows.right.end}"
648
- )
646
+ path_str = f"{arrows.left.start}[r1:IS_RELATED]{arrows.left.end}(rl){arrows.right.start}[r2:IS_RELATED]{arrows.right.end}"
649
647
 
650
648
  branch_level_str = "reduce(br_lvl = 0, r in relationships(path) | br_lvl + r.branch_level)"
651
- froms_str = db.render_list_comprehension(items="relationships(path)", item_name="from")
652
649
  query = """
653
650
  MATCH (source_node:Node)%(arrow_left_start)s[:IS_RELATED]%(arrow_left_end)s(rl:Relationship { name: $rel_identifier })
654
651
  WHERE source_node.uuid IN $source_ids
@@ -659,24 +656,24 @@ class RelationshipGetPeerQuery(Query):
659
656
  $source_kind IN LABELS(source_node) AND
660
657
  peer.uuid <> source_node.uuid AND
661
658
  $peer_kind IN LABELS(peer) AND
662
- all(r IN relationships(path) WHERE (%(branch_filter)s))
663
- WITH source_node, peer, rl, relationships(path) as rels, %(branch_level)s AS branch_level, %(froms)s AS froms
664
- RETURN peer as peer, rels, rl as rl1
665
- ORDER BY branch_level DESC, froms[-1] DESC, froms[-2] DESC
659
+ all(r IN [r1, r2] WHERE (%(branch_filter)s))
660
+ WITH source_node, peer, rl, r1, r2, %(branch_level)s AS branch_level
661
+ RETURN peer as peer, r1.status = "active" AND r2.status = "active" AS is_active, [r1, r2] AS rels
662
+ // status is required as a tiebreaker for migrated-kind nodes
663
+ ORDER BY branch_level DESC, r2.from DESC, r2.status ASC, r1.from DESC, r1.status ASC
666
664
  LIMIT 1
667
665
  }
668
- WITH peer, rl1 as rl, rels, source_node
666
+ WITH peer, rl, is_active, rels, source_node
669
667
  """ % {
670
668
  "path": path_str,
671
669
  "branch_filter": branch_filter,
672
670
  "branch_level": branch_level_str,
673
- "froms": froms_str,
674
671
  "arrow_left_start": arrows.left.start,
675
672
  "arrow_left_end": arrows.left.end,
676
673
  }
677
674
 
678
675
  self.add_to_query(query)
679
- where_clause = ['all(r IN rels WHERE r.status = "active")']
676
+ where_clause = ["is_active = TRUE"]
680
677
  clean_filters = extract_field_filters(field_name=self.schema.name, filters=self.filters)
681
678
 
682
679
  if (clean_filters and "id" in clean_filters) or "ids" in clean_filters:
@@ -166,11 +166,11 @@ class Relationship(FlagPropertyMixin, NodePropertyMixin):
166
166
  return registry.get_global_branch()
167
167
  return self.branch
168
168
 
169
- async def _process_data(self, data: dict | RelationshipPeerData | str) -> None:
169
+ def _process_data(self, data: dict | RelationshipPeerData | str) -> None:
170
170
  self.data = data
171
171
 
172
172
  if isinstance(data, RelationshipPeerData):
173
- await self.set_peer(value=str(data.peer_id))
173
+ self.set_peer(value=str(data.peer_id))
174
174
 
175
175
  if not self.id and data.rel_node_id:
176
176
  self.id = data.rel_node_id
@@ -187,7 +187,7 @@ class Relationship(FlagPropertyMixin, NodePropertyMixin):
187
187
  elif isinstance(data, dict):
188
188
  for key, value in data.items():
189
189
  if key in ["peer", "id"]:
190
- await self.set_peer(value=data.get(key, None))
190
+ self.set_peer(value=data.get(key, None))
191
191
  elif key == "hfid" and self.peer_id is None:
192
192
  self.peer_hfid = value
193
193
  elif key.startswith(PREFIX_PROPERTY) and key.replace(PREFIX_PROPERTY, "") in self._flag_properties:
@@ -198,7 +198,7 @@ class Relationship(FlagPropertyMixin, NodePropertyMixin):
198
198
  self.from_pool = value
199
199
 
200
200
  else:
201
- await self.set_peer(value=data)
201
+ self.set_peer(value=data)
202
202
 
203
203
  async def new(
204
204
  self,
@@ -206,11 +206,11 @@ class Relationship(FlagPropertyMixin, NodePropertyMixin):
206
206
  data: dict | RelationshipPeerData | Any = None,
207
207
  **kwargs: Any, # noqa: ARG002
208
208
  ) -> Relationship:
209
- await self._process_data(data=data)
209
+ self._process_data(data=data)
210
210
 
211
211
  return self
212
212
 
213
- async def load(
213
+ def load(
214
214
  self,
215
215
  db: InfrahubDatabase, # noqa: ARG002
216
216
  id: UUID | None = None,
@@ -223,7 +223,7 @@ class Relationship(FlagPropertyMixin, NodePropertyMixin):
223
223
  self.id = id or self.id
224
224
  self.db_id = db_id or self.db_id
225
225
 
226
- await self._process_data(data=data)
226
+ self._process_data(data=data)
227
227
 
228
228
  if updated_at and hash(self) != hash_before:
229
229
  self.updated_at = Timestamp(updated_at)
@@ -252,7 +252,7 @@ class Relationship(FlagPropertyMixin, NodePropertyMixin):
252
252
  self._node_id = self._node.id
253
253
  return node
254
254
 
255
- async def set_peer(self, value: str | Node) -> None:
255
+ def set_peer(self, value: str | Node) -> None:
256
256
  if isinstance(value, str):
257
257
  self.peer_id = value
258
258
  else:
@@ -433,7 +433,7 @@ class Relationship(FlagPropertyMixin, NodePropertyMixin):
433
433
  db=db, id=self.peer_id, branch=self.branch, kind=self.schema.peer, fields={"display_label": None}
434
434
  )
435
435
  if peer:
436
- await self.set_peer(value=peer)
436
+ self.set_peer(value=peer)
437
437
 
438
438
  if not self.peer_id and self.peer_hfid:
439
439
  peer_schema = db.schema.get(name=self.schema.peer, branch=self.branch)
@@ -450,7 +450,7 @@ class Relationship(FlagPropertyMixin, NodePropertyMixin):
450
450
  fields={"display_label": None},
451
451
  raise_on_error=True,
452
452
  )
453
- await self.set_peer(value=peer)
453
+ self.set_peer(value=peer)
454
454
 
455
455
  if not self.peer_id and self.from_pool and "id" in self.from_pool:
456
456
  pool_id = str(self.from_pool.get("id"))
@@ -473,7 +473,7 @@ class Relationship(FlagPropertyMixin, NodePropertyMixin):
473
473
  data_from_pool["identifier"] = f"hfid={hfid_str} rel={self.name}"
474
474
 
475
475
  assigned_peer: Node = await pool.get_resource(db=db, branch=self.branch, at=at, **data_from_pool) # type: ignore[attr-defined]
476
- await self.set_peer(value=assigned_peer)
476
+ self.set_peer(value=assigned_peer)
477
477
  self.set_source(value=pool.id)
478
478
 
479
479
  async def save(self, db: InfrahubDatabase, at: Timestamp | None = None) -> Self:
@@ -962,7 +962,7 @@ class RelationshipManager:
962
962
 
963
963
  for peer_id in details.peer_ids_present_database_only:
964
964
  self._relationships.append(
965
- await Relationship(
965
+ Relationship(
966
966
  schema=self.schema,
967
967
  branch=self.branch,
968
968
  at=at or self.at,
@@ -1050,7 +1050,7 @@ class RelationshipManager:
1050
1050
  if isinstance(item, dict) and item.get("id", None) in previous_relationships:
1051
1051
  rel = previous_relationships[item["id"]]
1052
1052
  hash_before = hash(rel)
1053
- await rel.load(data=item, db=db)
1053
+ rel.load(data=item, db=db)
1054
1054
  if hash(rel) != hash_before:
1055
1055
  changed = True
1056
1056
  self._relationships.append(rel)