infrahub-server 1.2.9rc0__tar.gz → 1.2.10__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (778) hide show
  1. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/PKG-INFO +3 -3
  2. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/README.md +2 -2
  3. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/computed_attribute/models.py +13 -0
  4. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/computed_attribute/tasks.py +48 -26
  5. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/attribute.py +43 -2
  6. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/branch/models.py +8 -9
  7. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/branch/tasks.py +0 -2
  8. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/calculator.py +65 -11
  9. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/combiner.py +38 -31
  10. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/coordinator.py +44 -28
  11. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/data_check_synchronizer.py +3 -2
  12. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/enricher/hierarchy.py +36 -27
  13. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/ipam_diff_parser.py +5 -4
  14. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/merger/merger.py +46 -16
  15. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/merger/serializer.py +1 -0
  16. infrahub_server-1.2.10/backend/infrahub/core/diff/model/field_specifiers_map.py +64 -0
  17. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/model/path.py +58 -58
  18. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/parent_node_adder.py +14 -16
  19. infrahub_server-1.2.10/backend/infrahub/core/diff/query/drop_nodes.py +42 -0
  20. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/query/field_specifiers.py +8 -7
  21. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/query/filters.py +15 -1
  22. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/query/merge.py +264 -28
  23. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/query/save.py +6 -2
  24. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/query_parser.py +50 -64
  25. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/repository/deserializer.py +38 -24
  26. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/repository/repository.py +31 -12
  27. infrahub_server-1.2.10/backend/infrahub/core/graph/__init__.py +1 -0
  28. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/graph/__init__.py +2 -0
  29. infrahub_server-1.2.10/backend/infrahub/core/migrations/graph/m027_delete_isolated_nodes.py +50 -0
  30. infrahub_server-1.2.10/backend/infrahub/core/migrations/graph/m028_delete_diffs.py +38 -0
  31. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/query/branch.py +27 -17
  32. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/query/diff.py +162 -51
  33. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/query/node.py +39 -5
  34. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/query/relationship.py +105 -30
  35. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/query/subquery.py +2 -2
  36. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/relationship/model.py +1 -1
  37. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/schema_branch.py +3 -0
  38. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/uniqueness/query.py +7 -0
  39. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/queries/diff/tree.py +2 -1
  40. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/trigger/models.py +11 -1
  41. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/trigger/setup.py +51 -15
  42. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/trigger/tasks.py +1 -4
  43. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/types.py +1 -1
  44. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/webhook/models.py +2 -1
  45. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/workflows/catalogue.py +9 -0
  46. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/workflows/initialization.py +1 -3
  47. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/pyproject.toml +190 -29
  48. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/timestamp.py +2 -2
  49. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_testcontainers/infrahub_testcontainers/docker-compose.test.yml +3 -3
  50. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_testcontainers/infrahub_testcontainers/performance_test.py +6 -3
  51. infrahub_server-1.2.9rc0/backend/infrahub/core/graph/__init__.py +0 -1
  52. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/LICENSE.txt +0 -0
  53. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/__init__.py +0 -0
  54. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/api/__init__.py +0 -0
  55. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/api/artifact.py +0 -0
  56. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/api/auth.py +0 -0
  57. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/api/dependencies.py +0 -0
  58. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/api/diff/__init__.py +0 -0
  59. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/api/diff/diff.py +0 -0
  60. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/api/diff/validation_models.py +0 -0
  61. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/api/exception_handlers.py +0 -0
  62. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/api/exceptions.py +0 -0
  63. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/api/file.py +0 -0
  64. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/api/internal.py +0 -0
  65. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/api/menu.py +0 -0
  66. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/api/oauth2.py +0 -0
  67. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/api/oidc.py +0 -0
  68. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/api/query.py +0 -0
  69. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/api/schema.py +0 -0
  70. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/api/static/redoc.standalone.js +0 -0
  71. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/api/static/swagger-ui-bundle.js +0 -0
  72. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/api/static/swagger-ui.css +0 -0
  73. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/api/storage.py +0 -0
  74. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/api/transformation.py +0 -0
  75. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/artifacts/__init__.py +0 -0
  76. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/artifacts/models.py +0 -0
  77. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/artifacts/tasks.py +0 -0
  78. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/auth.py +0 -0
  79. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/cli/__init__.py +0 -0
  80. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/cli/constants.py +0 -0
  81. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/cli/context.py +0 -0
  82. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/cli/db.py +0 -0
  83. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/cli/events.py +0 -0
  84. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/cli/git_agent.py +0 -0
  85. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/cli/patch.py +0 -0
  86. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/cli/server.py +0 -0
  87. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/cli/tasks.py +0 -0
  88. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/cli/upgrade.py +0 -0
  89. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/components.py +0 -0
  90. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/computed_attribute/__init__.py +0 -0
  91. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/computed_attribute/constants.py +0 -0
  92. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/computed_attribute/gather.py +0 -0
  93. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/computed_attribute/triggers.py +0 -0
  94. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/config.py +0 -0
  95. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/constants/__init__.py +0 -0
  96. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/constants/database.py +0 -0
  97. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/context.py +0 -0
  98. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/__init__.py +0 -0
  99. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/account.py +0 -0
  100. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/branch/__init__.py +0 -0
  101. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/changelog/__init__.py +0 -0
  102. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/changelog/diff.py +0 -0
  103. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/changelog/models.py +0 -0
  104. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/constants/__init__.py +0 -0
  105. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/constants/database.py +0 -0
  106. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/constants/infrahubkind.py +0 -0
  107. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/constants/relationship_label.py +0 -0
  108. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/constants/schema.py +0 -0
  109. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/constraint/__init__.py +0 -0
  110. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/constraint/node/__init__.py +0 -0
  111. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/constraint/node/runner.py +0 -0
  112. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/__init__.py +0 -0
  113. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/artifacts/__init__.py +0 -0
  114. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/artifacts/calculator.py +0 -0
  115. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/branch_differ.py +0 -0
  116. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/conflict_transferer.py +0 -0
  117. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/conflicts_enricher.py +0 -0
  118. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/conflicts_extractor.py +0 -0
  119. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/enricher/__init__.py +0 -0
  120. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/enricher/aggregated.py +0 -0
  121. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/enricher/cardinality_one.py +0 -0
  122. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/enricher/interface.py +0 -0
  123. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/enricher/labels.py +0 -0
  124. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/enricher/path_identifier.py +0 -0
  125. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/enricher/summary_counts.py +0 -0
  126. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/exceptions.py +0 -0
  127. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/merger/__init__.py +0 -0
  128. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/merger/model.py +0 -0
  129. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/model/__init__.py +0 -0
  130. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/model/diff.py +0 -0
  131. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/models.py +0 -0
  132. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/payload_builder.py +0 -0
  133. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/query/__init__.py +0 -0
  134. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/query/all_conflicts.py +0 -0
  135. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/query/artifact.py +0 -0
  136. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/query/delete_query.py +0 -0
  137. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/query/diff_get.py +0 -0
  138. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/query/diff_summary.py +0 -0
  139. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/query/field_summary.py +0 -0
  140. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/query/get_conflict_query.py +0 -0
  141. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/query/has_conflicts_query.py +0 -0
  142. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/query/merge_tracking_id.py +0 -0
  143. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/query/roots_metadata.py +0 -0
  144. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/query/summary_counts_enricher.py +0 -0
  145. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/query/time_range_query.py +0 -0
  146. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/query/update_conflict_query.py +0 -0
  147. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/repository/__init__.py +0 -0
  148. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/diff/tasks.py +0 -0
  149. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/enums.py +0 -0
  150. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/graph/constraints.py +0 -0
  151. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/graph/index.py +0 -0
  152. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/graph/schema.py +0 -0
  153. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/initialization.py +0 -0
  154. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/integrity/__init__.py +0 -0
  155. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/integrity/object_conflict/__init__.py +0 -0
  156. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/integrity/object_conflict/conflict_recorder.py +0 -0
  157. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/ipam/__init__.py +0 -0
  158. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/ipam/constants.py +0 -0
  159. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/ipam/kinds_getter.py +0 -0
  160. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/ipam/model.py +0 -0
  161. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/ipam/reconciler.py +0 -0
  162. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/ipam/size.py +0 -0
  163. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/ipam/tasks.py +0 -0
  164. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/ipam/utilization.py +0 -0
  165. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/manager.py +0 -0
  166. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/merge.py +0 -0
  167. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/__init__.py +0 -0
  168. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/graph/m001_add_version_to_graph.py +0 -0
  169. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/graph/m002_attribute_is_default.py +0 -0
  170. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/graph/m003_relationship_parent_optional.py +0 -0
  171. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/graph/m004_add_attr_documentation.py +0 -0
  172. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/graph/m005_add_rel_read_only.py +0 -0
  173. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/graph/m006_add_rel_on_delete.py +0 -0
  174. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/graph/m007_add_rel_allow_override.py +0 -0
  175. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/graph/m008_add_human_friendly_id.py +0 -0
  176. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/graph/m009_add_generate_profile_attr.py +0 -0
  177. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/graph/m010_add_generate_profile_attr_generic.py +0 -0
  178. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/graph/m011_remove_profile_relationship_schema.py +0 -0
  179. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/graph/m012_convert_account_generic.py +0 -0
  180. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/graph/m013_convert_git_password_credential.py +0 -0
  181. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/graph/m014_remove_index_attr_value.py +0 -0
  182. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/graph/m015_diff_format_update.py +0 -0
  183. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/graph/m016_diff_delete_bug_fix.py +0 -0
  184. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/graph/m017_add_core_profile.py +0 -0
  185. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/graph/m018_uniqueness_nulls.py +0 -0
  186. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/graph/m019_restore_rels_to_time.py +0 -0
  187. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/graph/m020_duplicate_edges.py +0 -0
  188. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/graph/m021_missing_hierarchy_merge.py +0 -0
  189. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/graph/m022_add_generate_template_attr.py +0 -0
  190. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/graph/m023_deduplicate_cardinality_one_relationships.py +0 -0
  191. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/graph/m024_missing_hierarchy_backfill.py +0 -0
  192. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/graph/m025_uniqueness_nulls.py +0 -0
  193. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/graph/m026_0000_prefix_fix.py +0 -0
  194. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/query/__init__.py +0 -0
  195. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/query/attribute_add.py +0 -0
  196. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/query/attribute_rename.py +0 -0
  197. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/query/delete_element_in_schema.py +0 -0
  198. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/query/node_duplicate.py +0 -0
  199. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/query/relationship_duplicate.py +0 -0
  200. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/query/schema_attribute_update.py +0 -0
  201. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/schema/__init__.py +0 -0
  202. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/schema/attribute_name_update.py +0 -0
  203. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/schema/models.py +0 -0
  204. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/schema/node_attribute_add.py +0 -0
  205. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/schema/node_attribute_remove.py +0 -0
  206. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/schema/node_kind_update.py +0 -0
  207. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/schema/node_remove.py +0 -0
  208. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/schema/placeholder_dummy.py +0 -0
  209. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/schema/tasks.py +0 -0
  210. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/migrations/shared.py +0 -0
  211. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/models.py +0 -0
  212. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/node/__init__.py +0 -0
  213. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/node/base.py +0 -0
  214. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/node/constraints/__init__.py +0 -0
  215. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/node/constraints/attribute_uniqueness.py +0 -0
  216. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/node/constraints/grouped_uniqueness.py +0 -0
  217. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/node/constraints/interface.py +0 -0
  218. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/node/delete_validator.py +0 -0
  219. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/node/ipam.py +0 -0
  220. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/node/permissions.py +0 -0
  221. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/node/resource_manager/__init__.py +0 -0
  222. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/node/resource_manager/ip_address_pool.py +0 -0
  223. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/node/resource_manager/ip_prefix_pool.py +0 -0
  224. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/node/resource_manager/number_pool.py +0 -0
  225. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/node/standard.py +0 -0
  226. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/path.py +0 -0
  227. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/property.py +0 -0
  228. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/protocols.py +0 -0
  229. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/protocols_base.py +0 -0
  230. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/query/__init__.py +0 -0
  231. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/query/attribute.py +0 -0
  232. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/query/delete.py +0 -0
  233. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/query/ipam.py +0 -0
  234. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/query/resource_manager.py +0 -0
  235. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/query/standard_node.py +0 -0
  236. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/query/task.py +0 -0
  237. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/query/task_log.py +0 -0
  238. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/query/utils.py +0 -0
  239. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/registry.py +0 -0
  240. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/relationship/__init__.py +0 -0
  241. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/relationship/constraints/__init__.py +0 -0
  242. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/relationship/constraints/count.py +0 -0
  243. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/relationship/constraints/interface.py +0 -0
  244. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/relationship/constraints/peer_kind.py +0 -0
  245. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/relationship/constraints/profiles_kind.py +0 -0
  246. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/root.py +0 -0
  247. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/__init__.py +0 -0
  248. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/attribute_schema.py +0 -0
  249. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/basenode_schema.py +0 -0
  250. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/computed_attribute.py +0 -0
  251. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/constants.py +0 -0
  252. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/definitions/__init__.py +0 -0
  253. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/definitions/core/__init__.py +0 -0
  254. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/definitions/core/account.py +0 -0
  255. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/definitions/core/artifact.py +0 -0
  256. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/definitions/core/builtin.py +0 -0
  257. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/definitions/core/check.py +0 -0
  258. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/definitions/core/core.py +0 -0
  259. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/definitions/core/generator.py +0 -0
  260. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/definitions/core/graphql_query.py +0 -0
  261. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/definitions/core/group.py +0 -0
  262. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/definitions/core/ipam.py +0 -0
  263. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/definitions/core/lineage.py +0 -0
  264. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/definitions/core/menu.py +0 -0
  265. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/definitions/core/permission.py +0 -0
  266. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/definitions/core/profile.py +0 -0
  267. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/definitions/core/propose_change.py +0 -0
  268. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/definitions/core/propose_change_comment.py +0 -0
  269. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/definitions/core/propose_change_validator.py +0 -0
  270. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/definitions/core/repository.py +0 -0
  271. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/definitions/core/resource_pool.py +0 -0
  272. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/definitions/core/template.py +0 -0
  273. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/definitions/core/transform.py +0 -0
  274. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/definitions/core/webhook.py +0 -0
  275. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/definitions/deprecated.py +0 -0
  276. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/definitions/internal.py +0 -0
  277. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/dropdown.py +0 -0
  278. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/generated/__init__.py +0 -0
  279. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/generated/attribute_schema.py +0 -0
  280. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/generated/base_node_schema.py +0 -0
  281. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/generated/genericnode_schema.py +0 -0
  282. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/generated/node_schema.py +0 -0
  283. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/generated/relationship_schema.py +0 -0
  284. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/generic_schema.py +0 -0
  285. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/manager.py +0 -0
  286. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/node_schema.py +0 -0
  287. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/profile_schema.py +0 -0
  288. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/relationship_schema.py +0 -0
  289. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/schema_branch_computed.py +0 -0
  290. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/schema/template_schema.py +0 -0
  291. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/task/__init__.py +0 -0
  292. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/task/task.py +0 -0
  293. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/task/task_log.py +0 -0
  294. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/task/user_task.py +0 -0
  295. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/timestamp.py +0 -0
  296. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/utils.py +0 -0
  297. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/__init__.py +0 -0
  298. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/aggregated_checker.py +0 -0
  299. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/attribute/__init__.py +0 -0
  300. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/attribute/choices.py +0 -0
  301. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/attribute/enum.py +0 -0
  302. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/attribute/kind.py +0 -0
  303. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/attribute/length.py +0 -0
  304. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/attribute/optional.py +0 -0
  305. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/attribute/regex.py +0 -0
  306. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/attribute/unique.py +0 -0
  307. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/checks_runner.py +0 -0
  308. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/determiner.py +0 -0
  309. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/interface.py +0 -0
  310. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/model.py +0 -0
  311. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/models/__init__.py +0 -0
  312. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/models/validate_migration.py +0 -0
  313. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/models/violation.py +0 -0
  314. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/node/__init__.py +0 -0
  315. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/node/attribute.py +0 -0
  316. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/node/generate_profile.py +0 -0
  317. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/node/hierarchy.py +0 -0
  318. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/node/inherit_from.py +0 -0
  319. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/node/relationship.py +0 -0
  320. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/query.py +0 -0
  321. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/relationship/__init__.py +0 -0
  322. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/relationship/count.py +0 -0
  323. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/relationship/optional.py +0 -0
  324. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/relationship/peer.py +0 -0
  325. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/shared.py +0 -0
  326. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/tasks.py +0 -0
  327. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/uniqueness/__init__.py +0 -0
  328. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/uniqueness/checker.py +0 -0
  329. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/uniqueness/index.py +0 -0
  330. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/core/validators/uniqueness/model.py +0 -0
  331. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/database/__init__.py +0 -0
  332. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/database/index.py +0 -0
  333. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/database/memgraph.py +0 -0
  334. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/database/metrics.py +0 -0
  335. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/database/neo4j.py +0 -0
  336. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/__init__.py +0 -0
  337. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/constraint/__init__.py +0 -0
  338. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/constraint/grouped/__init__.py +0 -0
  339. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/constraint/grouped/node_runner.py +0 -0
  340. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/constraint/node/__init__.py +0 -0
  341. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/constraint/node/grouped_uniqueness.py +0 -0
  342. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/constraint/node/uniqueness.py +0 -0
  343. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/constraint/relationship_manager/__init__.py +0 -0
  344. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/constraint/relationship_manager/count.py +0 -0
  345. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/constraint/relationship_manager/peer_kind.py +0 -0
  346. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/constraint/relationship_manager/profiles_kind.py +0 -0
  347. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/constraint/schema/__init__.py +0 -0
  348. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/constraint/schema/aggregated.py +0 -0
  349. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/constraint/schema/attribute_choices.py +0 -0
  350. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/constraint/schema/attribute_enum.py +0 -0
  351. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/constraint/schema/attribute_kind.py +0 -0
  352. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/constraint/schema/attribute_length.py +0 -0
  353. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/constraint/schema/attribute_optional.py +0 -0
  354. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/constraint/schema/attribute_regex.py +0 -0
  355. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/constraint/schema/attribute_uniqueness.py +0 -0
  356. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/constraint/schema/generate_profile.py +0 -0
  357. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/constraint/schema/inherit_from.py +0 -0
  358. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/constraint/schema/node_attribute.py +0 -0
  359. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/constraint/schema/node_relationship.py +0 -0
  360. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/constraint/schema/relationship_count.py +0 -0
  361. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/constraint/schema/relationship_optional.py +0 -0
  362. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/constraint/schema/uniqueness.py +0 -0
  363. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/diff/__init__.py +0 -0
  364. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/diff/calculator.py +0 -0
  365. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/diff/combiner.py +0 -0
  366. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/diff/conflict_transferer.py +0 -0
  367. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/diff/conflicts_enricher.py +0 -0
  368. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/diff/conflicts_extractor.py +0 -0
  369. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/diff/coordinator.py +0 -0
  370. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/diff/data_check_conflict_recorder.py +0 -0
  371. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/diff/data_check_synchronizer.py +0 -0
  372. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/diff/deserializer.py +0 -0
  373. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/diff/diff_merger.py +0 -0
  374. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/diff/enricher/__init__.py +0 -0
  375. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/diff/enricher/aggregated.py +0 -0
  376. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/diff/enricher/cardinality_one.py +0 -0
  377. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/diff/enricher/hierarchy.py +0 -0
  378. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/diff/enricher/labels.py +0 -0
  379. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/diff/enricher/path_identifier.py +0 -0
  380. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/diff/enricher/summary_counts.py +0 -0
  381. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/diff/ipam_diff_parser.py +0 -0
  382. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/diff/parent_node_adder.py +0 -0
  383. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/diff/repository.py +0 -0
  384. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/ip/__init__.py +0 -0
  385. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/ip/kinds_getter.py +0 -0
  386. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/node/__init__.py +0 -0
  387. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/builder/node/delete_validator.py +0 -0
  388. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/component/__init__.py +0 -0
  389. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/component/exceptions.py +0 -0
  390. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/component/registry.py +0 -0
  391. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/interface.py +0 -0
  392. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/dependencies/registry.py +0 -0
  393. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/events/__init__.py +0 -0
  394. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/events/artifact_action.py +0 -0
  395. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/events/branch_action.py +0 -0
  396. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/events/constants.py +0 -0
  397. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/events/generator.py +0 -0
  398. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/events/group_action.py +0 -0
  399. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/events/models.py +0 -0
  400. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/events/node_action.py +0 -0
  401. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/events/repository_action.py +0 -0
  402. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/events/schema_action.py +0 -0
  403. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/events/utils.py +0 -0
  404. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/events/validator_action.py +0 -0
  405. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/exceptions.py +0 -0
  406. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/generators/__init__.py +0 -0
  407. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/generators/models.py +0 -0
  408. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/generators/tasks.py +0 -0
  409. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/git/__init__.py +0 -0
  410. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/git/base.py +0 -0
  411. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/git/constants.py +0 -0
  412. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/git/directory.py +0 -0
  413. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/git/integrator.py +0 -0
  414. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/git/models.py +0 -0
  415. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/git/repository.py +0 -0
  416. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/git/tasks.py +0 -0
  417. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/git/utils.py +0 -0
  418. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/git/worktree.py +0 -0
  419. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/git_credential/__init__.py +0 -0
  420. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/git_credential/askpass.py +0 -0
  421. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/git_credential/helper.py +0 -0
  422. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/__init__.py +0 -0
  423. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/analyzer.py +0 -0
  424. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/api/__init__.py +0 -0
  425. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/api/dependencies.py +0 -0
  426. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/api/endpoints.py +0 -0
  427. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/app.py +0 -0
  428. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/auth/__init__.py +0 -0
  429. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/auth/query_permission_checker/__init__.py +0 -0
  430. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/auth/query_permission_checker/anonymous_checker.py +0 -0
  431. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/auth/query_permission_checker/checker.py +0 -0
  432. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/auth/query_permission_checker/default_branch_checker.py +0 -0
  433. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/auth/query_permission_checker/interface.py +0 -0
  434. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/auth/query_permission_checker/merge_operation_checker.py +0 -0
  435. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/auth/query_permission_checker/object_permission_checker.py +0 -0
  436. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/auth/query_permission_checker/super_admin_checker.py +0 -0
  437. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/constants.py +0 -0
  438. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/context.py +0 -0
  439. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/directives.py +0 -0
  440. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/enums.py +0 -0
  441. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/initialization.py +0 -0
  442. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/loaders/__init__.py +0 -0
  443. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/loaders/node.py +0 -0
  444. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/loaders/peers.py +0 -0
  445. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/loaders/shared.py +0 -0
  446. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/manager.py +0 -0
  447. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/metrics.py +0 -0
  448. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/models.py +0 -0
  449. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/mutations/__init__.py +0 -0
  450. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/mutations/account.py +0 -0
  451. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/mutations/artifact_definition.py +0 -0
  452. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/mutations/attribute.py +0 -0
  453. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/mutations/branch.py +0 -0
  454. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/mutations/computed_attribute.py +0 -0
  455. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/mutations/diff.py +0 -0
  456. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/mutations/diff_conflict.py +0 -0
  457. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/mutations/generator.py +0 -0
  458. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/mutations/graphql_query.py +0 -0
  459. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/mutations/ipam.py +0 -0
  460. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/mutations/main.py +0 -0
  461. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/mutations/menu.py +0 -0
  462. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/mutations/models.py +0 -0
  463. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/mutations/node_getter/__init__.py +0 -0
  464. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/mutations/node_getter/by_default_filter.py +0 -0
  465. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/mutations/node_getter/by_hfid.py +0 -0
  466. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/mutations/node_getter/by_id.py +0 -0
  467. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/mutations/node_getter/interface.py +0 -0
  468. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/mutations/proposed_change.py +0 -0
  469. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/mutations/relationship.py +0 -0
  470. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/mutations/repository.py +0 -0
  471. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/mutations/resource_manager.py +0 -0
  472. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/mutations/schema.py +0 -0
  473. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/mutations/tasks.py +0 -0
  474. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/mutations/webhook.py +0 -0
  475. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/parser.py +0 -0
  476. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/permissions.py +0 -0
  477. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/queries/__init__.py +0 -0
  478. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/queries/account.py +0 -0
  479. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/queries/branch.py +0 -0
  480. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/queries/diff/__init__.py +0 -0
  481. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/queries/event.py +0 -0
  482. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/queries/internal.py +0 -0
  483. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/queries/ipam.py +0 -0
  484. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/queries/relationship.py +0 -0
  485. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/queries/resource_manager.py +0 -0
  486. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/queries/search.py +0 -0
  487. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/queries/status.py +0 -0
  488. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/queries/task.py +0 -0
  489. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/resolvers/__init__.py +0 -0
  490. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/resolvers/many_relationship.py +0 -0
  491. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/resolvers/resolver.py +0 -0
  492. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/resolvers/single_relationship.py +0 -0
  493. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/schema.py +0 -0
  494. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/subscription/__init__.py +0 -0
  495. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/subscription/events.py +0 -0
  496. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/subscription/graphql_query.py +0 -0
  497. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/types/__init__.py +0 -0
  498. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/types/attribute.py +0 -0
  499. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/types/branch.py +0 -0
  500. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/types/common.py +0 -0
  501. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/types/context.py +0 -0
  502. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/types/enums.py +0 -0
  503. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/types/event.py +0 -0
  504. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/types/interface.py +0 -0
  505. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/types/node.py +0 -0
  506. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/types/permission.py +0 -0
  507. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/types/relationship.py +0 -0
  508. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/types/standard_node.py +0 -0
  509. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/types/task.py +0 -0
  510. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/types/task_log.py +0 -0
  511. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/graphql/utils.py +0 -0
  512. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/groups/__init__.py +0 -0
  513. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/groups/ancestors.py +0 -0
  514. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/groups/models.py +0 -0
  515. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/groups/parsers.py +0 -0
  516. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/groups/tasks.py +0 -0
  517. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/helpers.py +0 -0
  518. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/lock.py +0 -0
  519. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/log.py +0 -0
  520. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/menu/__init__.py +0 -0
  521. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/menu/constants.py +0 -0
  522. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/menu/generator.py +0 -0
  523. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/menu/menu.py +0 -0
  524. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/menu/models.py +0 -0
  525. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/menu/repository.py +0 -0
  526. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/menu/utils.py +0 -0
  527. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/__init__.py +0 -0
  528. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/messages/__init__.py +0 -0
  529. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/messages/check_generator_run.py +0 -0
  530. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/messages/finalize_validator_execution.py +0 -0
  531. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/messages/git_file_get.py +0 -0
  532. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/messages/git_repository_connectivity.py +0 -0
  533. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/messages/proposed_change/__init__.py +0 -0
  534. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/messages/proposed_change/base_with_diff.py +0 -0
  535. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/messages/proposed_change/request_proposedchange_refreshartifacts.py +0 -0
  536. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/messages/refresh_git_fetch.py +0 -0
  537. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/messages/refresh_registry_branches.py +0 -0
  538. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/messages/refresh_registry_rebasedbranch.py +0 -0
  539. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/messages/request_generatordefinition_check.py +0 -0
  540. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/messages/request_proposedchange_pipeline.py +0 -0
  541. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/messages/send_echo_request.py +0 -0
  542. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/operations/__init__.py +0 -0
  543. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/operations/check/__init__.py +0 -0
  544. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/operations/check/generator.py +0 -0
  545. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/operations/finalize/__init__.py +0 -0
  546. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/operations/finalize/validator.py +0 -0
  547. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/operations/git/__init__.py +0 -0
  548. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/operations/git/file.py +0 -0
  549. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/operations/git/repository.py +0 -0
  550. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/operations/refresh/__init__.py +0 -0
  551. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/operations/refresh/registry.py +0 -0
  552. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/operations/requests/__init__.py +0 -0
  553. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/operations/requests/generator_definition.py +0 -0
  554. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/operations/requests/proposed_change.py +0 -0
  555. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/operations/send/__init__.py +0 -0
  556. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/operations/send/echo.py +0 -0
  557. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/message_bus/types.py +0 -0
  558. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/middleware.py +0 -0
  559. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/models.py +0 -0
  560. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/patch/__init__.py +0 -0
  561. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/patch/constants.py +0 -0
  562. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/patch/edge_adder.py +0 -0
  563. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/patch/edge_deleter.py +0 -0
  564. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/patch/edge_updater.py +0 -0
  565. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/patch/models.py +0 -0
  566. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/patch/plan_reader.py +0 -0
  567. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/patch/plan_writer.py +0 -0
  568. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/patch/queries/__init__.py +0 -0
  569. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/patch/queries/base.py +0 -0
  570. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/patch/queries/consolidate_duplicated_nodes.py +0 -0
  571. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/patch/queries/delete_duplicated_edges.py +0 -0
  572. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/patch/runner.py +0 -0
  573. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/patch/vertex_adder.py +0 -0
  574. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/patch/vertex_deleter.py +0 -0
  575. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/patch/vertex_updater.py +0 -0
  576. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/permissions/__init__.py +0 -0
  577. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/permissions/backend.py +0 -0
  578. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/permissions/constants.py +0 -0
  579. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/permissions/globals.py +0 -0
  580. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/permissions/local_backend.py +0 -0
  581. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/permissions/manager.py +0 -0
  582. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/permissions/report.py +0 -0
  583. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/permissions/types.py +0 -0
  584. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/pools/__init__.py +0 -0
  585. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/pools/address.py +0 -0
  586. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/pools/number.py +0 -0
  587. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/pools/prefix.py +0 -0
  588. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/prefect_server/__init__.py +0 -0
  589. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/prefect_server/app.py +0 -0
  590. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/prefect_server/database.py +0 -0
  591. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/prefect_server/events.py +0 -0
  592. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/prefect_server/models.py +0 -0
  593. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/proposed_change/__init__.py +0 -0
  594. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/proposed_change/branch_diff.py +0 -0
  595. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/proposed_change/constants.py +0 -0
  596. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/proposed_change/models.py +0 -0
  597. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/proposed_change/tasks.py +0 -0
  598. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/pytest_plugin.py +0 -0
  599. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/serve/__init__.py +0 -0
  600. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/serve/gunicorn_config.py +0 -0
  601. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/serve/log.py +0 -0
  602. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/serve/worker.py +0 -0
  603. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/server.py +0 -0
  604. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/services/__init__.py +0 -0
  605. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/services/adapters/__init__.py +0 -0
  606. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/services/adapters/cache/__init__.py +0 -0
  607. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/services/adapters/cache/nats.py +0 -0
  608. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/services/adapters/cache/redis.py +0 -0
  609. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/services/adapters/event/__init__.py +0 -0
  610. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/services/adapters/http/__init__.py +0 -0
  611. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/services/adapters/http/httpx.py +0 -0
  612. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/services/adapters/message_bus/__init__.py +0 -0
  613. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/services/adapters/message_bus/local.py +0 -0
  614. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/services/adapters/message_bus/nats.py +0 -0
  615. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/services/adapters/message_bus/rabbitmq.py +0 -0
  616. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/services/adapters/workflow/__init__.py +0 -0
  617. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/services/adapters/workflow/local.py +0 -0
  618. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/services/adapters/workflow/worker.py +0 -0
  619. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/services/component.py +0 -0
  620. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/services/protocols.py +0 -0
  621. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/services/scheduler.py +0 -0
  622. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/storage.py +0 -0
  623. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/task_manager/__init__.py +0 -0
  624. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/task_manager/constants.py +0 -0
  625. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/task_manager/event.py +0 -0
  626. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/task_manager/models.py +0 -0
  627. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/task_manager/task.py +0 -0
  628. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/tasks/__init__.py +0 -0
  629. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/tasks/artifact.py +0 -0
  630. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/tasks/check.py +0 -0
  631. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/tasks/dummy.py +0 -0
  632. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/tasks/keepalive.py +0 -0
  633. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/tasks/recurring.py +0 -0
  634. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/tasks/registry.py +0 -0
  635. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/telemetry/__init__.py +0 -0
  636. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/telemetry/constants.py +0 -0
  637. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/telemetry/database.py +0 -0
  638. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/telemetry/models.py +0 -0
  639. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/telemetry/task_manager.py +0 -0
  640. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/telemetry/tasks.py +0 -0
  641. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/telemetry/utils.py +0 -0
  642. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/trace.py +0 -0
  643. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/transformations/__init__.py +0 -0
  644. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/transformations/constants.py +0 -0
  645. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/transformations/models.py +0 -0
  646. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/transformations/tasks.py +0 -0
  647. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/trigger/__init__.py +0 -0
  648. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/trigger/catalogue.py +0 -0
  649. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/trigger/constants.py +0 -0
  650. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/utils.py +0 -0
  651. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/validators/__init__.py +0 -0
  652. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/validators/events.py +0 -0
  653. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/validators/tasks.py +0 -0
  654. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/visuals.py +0 -0
  655. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/webhook/__init__.py +0 -0
  656. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/webhook/gather.py +0 -0
  657. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/webhook/tasks.py +0 -0
  658. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/webhook/triggers.py +0 -0
  659. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/worker.py +0 -0
  660. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/workers/__init__.py +0 -0
  661. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/workers/infrahub_async.py +0 -0
  662. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/workers/utils.py +0 -0
  663. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/workflows/__init__.py +0 -0
  664. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/workflows/constants.py +0 -0
  665. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/workflows/models.py +0 -0
  666. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/backend/infrahub/workflows/utils.py +0 -0
  667. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/__init__.py +0 -0
  668. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/_importer.py +0 -0
  669. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/analyzer.py +0 -0
  670. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/async_typer.py +0 -0
  671. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/batch.py +0 -0
  672. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/branch.py +0 -0
  673. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/checks.py +0 -0
  674. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/client.py +0 -0
  675. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/config.py +0 -0
  676. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/constants.py +0 -0
  677. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/context.py +0 -0
  678. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/ctl/__init__.py +0 -0
  679. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/ctl/branch.py +0 -0
  680. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/ctl/check.py +0 -0
  681. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/ctl/cli.py +0 -0
  682. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/ctl/cli_commands.py +0 -0
  683. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/ctl/client.py +0 -0
  684. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/ctl/config.py +0 -0
  685. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/ctl/exceptions.py +0 -0
  686. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/ctl/exporter.py +0 -0
  687. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/ctl/generator.py +0 -0
  688. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/ctl/importer.py +0 -0
  689. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/ctl/menu.py +0 -0
  690. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/ctl/object.py +0 -0
  691. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/ctl/parameters.py +0 -0
  692. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/ctl/render.py +0 -0
  693. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/ctl/repository.py +0 -0
  694. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/ctl/schema.py +0 -0
  695. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/ctl/transform.py +0 -0
  696. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/ctl/utils.py +0 -0
  697. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/ctl/validate.py +0 -0
  698. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/data.py +0 -0
  699. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/diff.py +0 -0
  700. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/exceptions.py +0 -0
  701. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/generator.py +0 -0
  702. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/graphql.py +0 -0
  703. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/groups.py +0 -0
  704. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/jinja2.py +0 -0
  705. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/node.py +0 -0
  706. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/object_store.py +0 -0
  707. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/operation.py +0 -0
  708. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/playback.py +0 -0
  709. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/protocols.py +0 -0
  710. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/protocols_base.py +0 -0
  711. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/protocols_generator/__init__.py +0 -0
  712. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/protocols_generator/constants.py +0 -0
  713. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/protocols_generator/generator.py +0 -0
  714. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/protocols_generator/template.j2 +0 -0
  715. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/pytest_plugin/__init__.py +0 -0
  716. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/pytest_plugin/exceptions.py +0 -0
  717. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/pytest_plugin/items/__init__.py +0 -0
  718. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/pytest_plugin/items/base.py +0 -0
  719. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/pytest_plugin/items/check.py +0 -0
  720. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/pytest_plugin/items/graphql_query.py +0 -0
  721. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/pytest_plugin/items/jinja2_transform.py +0 -0
  722. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/pytest_plugin/items/python_transform.py +0 -0
  723. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/pytest_plugin/loader.py +0 -0
  724. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/pytest_plugin/models.py +0 -0
  725. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/pytest_plugin/plugin.py +0 -0
  726. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/pytest_plugin/utils.py +0 -0
  727. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/queries.py +0 -0
  728. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/query_groups.py +0 -0
  729. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/recorder.py +0 -0
  730. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/repository.py +0 -0
  731. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/schema/__init__.py +0 -0
  732. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/schema/main.py +0 -0
  733. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/schema/repository.py +0 -0
  734. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/spec/__init__.py +0 -0
  735. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/spec/menu.py +0 -0
  736. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/spec/object.py +0 -0
  737. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/store.py +0 -0
  738. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/task/__init__.py +0 -0
  739. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/task/constants.py +0 -0
  740. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/task/exceptions.py +0 -0
  741. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/task/manager.py +0 -0
  742. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/task/models.py +0 -0
  743. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/template/__init__.py +0 -0
  744. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/template/exceptions.py +0 -0
  745. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/template/filters.py +0 -0
  746. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/template/models.py +0 -0
  747. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/testing/__init__.py +0 -0
  748. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/testing/docker.py +0 -0
  749. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/testing/repository.py +0 -0
  750. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/testing/schemas/__init__.py +0 -0
  751. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/testing/schemas/animal.py +0 -0
  752. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/testing/schemas/car_person.py +0 -0
  753. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/topological_sort.py +0 -0
  754. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/transfer/__init__.py +0 -0
  755. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/transfer/constants.py +0 -0
  756. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/transfer/exceptions.py +0 -0
  757. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/transfer/exporter/__init__.py +0 -0
  758. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/transfer/exporter/interface.py +0 -0
  759. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/transfer/exporter/json.py +0 -0
  760. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/transfer/importer/__init__.py +0 -0
  761. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/transfer/importer/interface.py +0 -0
  762. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/transfer/importer/json.py +0 -0
  763. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/transfer/schema_sorter.py +0 -0
  764. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/transforms.py +0 -0
  765. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/types.py +0 -0
  766. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/utils.py +0 -0
  767. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/uuidt.py +0 -0
  768. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_sdk/infrahub_sdk/yaml.py +0 -0
  769. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_testcontainers/infrahub_testcontainers/__init__.py +0 -0
  770. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_testcontainers/infrahub_testcontainers/constants.py +0 -0
  771. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_testcontainers/infrahub_testcontainers/container.py +0 -0
  772. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_testcontainers/infrahub_testcontainers/haproxy.cfg +0 -0
  773. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_testcontainers/infrahub_testcontainers/helpers.py +0 -0
  774. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_testcontainers/infrahub_testcontainers/host.py +0 -0
  775. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_testcontainers/infrahub_testcontainers/measurements.py +0 -0
  776. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_testcontainers/infrahub_testcontainers/models.py +0 -0
  777. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_testcontainers/infrahub_testcontainers/plugin.py +0 -0
  778. {infrahub_server-1.2.9rc0 → infrahub_server-1.2.10}/python_testcontainers/infrahub_testcontainers/prometheus.yml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: infrahub-server
3
- Version: 1.2.9rc0
3
+ Version: 1.2.10
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
  Home-page: https://opsmill.com
6
6
  License: AGPL-3.0-only
@@ -77,7 +77,7 @@ Description-Content-Type: text/markdown
77
77
 
78
78
  Infrahub from [OpsMill](https://opsmill.com) 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. Infrahub offers a central hub to manage the data, templates and playbooks that powers your infrastructure by combining the version control and branch management capabilities similar to Git with the flexible data model and UI of a graph database.
79
79
 
80
- If you just want to try Infrahub out, you can use our [Always-On Sandbox](https://demo.infrahub.app/) to get started.
80
+ If you just want to try Infrahub out, you can use our [Infrahub Sandbox](https://sandbox.infrahub.app/) to get started.
81
81
 
82
82
  ![infrahub screenshot](docs/docs/media/infrahub-readme.gif)
83
83
 
@@ -103,7 +103,7 @@ If you just want to try Infrahub out, you can use our [Always-On Sandbox](https:
103
103
 
104
104
  ## Quick Start
105
105
 
106
- [Always-On Sandbox](https://demo.infrahub.app/) - Instantly login to the UI of a demo environment of Infrahub with sample data pre-loaded.
106
+ [Infrahub Sandbox](https://sandbox.infrahub.app/) - Instantly login to the UI of a demo environment of Infrahub with sample data pre-loaded.
107
107
 
108
108
  [Getting Started Environment & Tutorial](https://opsmill.instruqt.com/pages/labs) - It spins up an instance of Infrahub on our cloud, provides a browser, terminal, code editor and walks you through the basic concepts:
109
109
 
@@ -14,7 +14,7 @@
14
14
 
15
15
  Infrahub from [OpsMill](https://opsmill.com) 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. Infrahub offers a central hub to manage the data, templates and playbooks that powers your infrastructure by combining the version control and branch management capabilities similar to Git with the flexible data model and UI of a graph database.
16
16
 
17
- If you just want to try Infrahub out, you can use our [Always-On Sandbox](https://demo.infrahub.app/) to get started.
17
+ If you just want to try Infrahub out, you can use our [Infrahub Sandbox](https://sandbox.infrahub.app/) to get started.
18
18
 
19
19
  ![infrahub screenshot](docs/docs/media/infrahub-readme.gif)
20
20
 
@@ -40,7 +40,7 @@ If you just want to try Infrahub out, you can use our [Always-On Sandbox](https:
40
40
 
41
41
  ## Quick Start
42
42
 
43
- [Always-On Sandbox](https://demo.infrahub.app/) - Instantly login to the UI of a demo environment of Infrahub with sample data pre-loaded.
43
+ [Infrahub Sandbox](https://sandbox.infrahub.app/) - Instantly login to the UI of a demo environment of Infrahub with sample data pre-loaded.
44
44
 
45
45
  [Getting Started Environment & Tutorial](https://opsmill.instruqt.com/pages/labs) - It spins up an instance of Infrahub on our cloud, provides a browser, terminal, code editor and walks you through the basic concepts:
46
46
 
@@ -118,6 +118,10 @@ class PythonTransformTarget:
118
118
  class ComputedAttrJinja2TriggerDefinition(TriggerBranchDefinition):
119
119
  type: TriggerType = TriggerType.COMPUTED_ATTR_JINJA2
120
120
  computed_attribute: ComputedAttributeTarget
121
+ template_hash: str
122
+
123
+ def get_description(self) -> str:
124
+ return f"{super().get_description()} | hash:{self.template_hash}"
121
125
 
122
126
  @classmethod
123
127
  def from_computed_attribute(
@@ -139,6 +143,14 @@ class ComputedAttrJinja2TriggerDefinition(TriggerBranchDefinition):
139
143
  # node creation events if the attribute is optional.
140
144
  event_trigger.events.add(NodeCreatedEvent.event_name)
141
145
 
146
+ if (
147
+ computed_attribute.attribute.computed_attribute
148
+ and computed_attribute.attribute.computed_attribute.jinja2_template is None
149
+ ) or not computed_attribute.attribute.computed_attribute:
150
+ raise ValueError("Jinja2 template is required for computed attribute")
151
+
152
+ template_hash = computed_attribute.attribute.computed_attribute.get_hash()
153
+
142
154
  event_trigger.match = {"infrahub.node.kind": trigger_node.kind}
143
155
  if branches_out_of_scope:
144
156
  event_trigger.match["infrahub.branch.name"] = [f"!{branch}" for branch in branches_out_of_scope]
@@ -177,6 +189,7 @@ class ComputedAttrJinja2TriggerDefinition(TriggerBranchDefinition):
177
189
 
178
190
  definition = cls(
179
191
  name=f"{computed_attribute.key_name}{NAME_SEPARATOR}kind{NAME_SEPARATOR}{trigger_node.kind}",
192
+ template_hash=template_hash,
180
193
  branch=branch,
181
194
  computed_attribute=computed_attribute,
182
195
  trigger=event_trigger,
@@ -14,7 +14,7 @@ from infrahub.core.registry import registry
14
14
  from infrahub.events import BranchDeletedEvent
15
15
  from infrahub.git.repository import get_initialized_repo
16
16
  from infrahub.services import InfrahubServices # noqa: TC001 needed for prefect flow
17
- from infrahub.trigger.models import TriggerType
17
+ from infrahub.trigger.models import TriggerSetupReport, TriggerType
18
18
  from infrahub.trigger.setup import setup_triggers
19
19
  from infrahub.workflows.catalogue import (
20
20
  COMPUTED_ATTRIBUTE_PROCESS_JINJA2,
@@ -25,7 +25,11 @@ from infrahub.workflows.catalogue import (
25
25
  from infrahub.workflows.utils import add_tags, wait_for_schema_to_converge
26
26
 
27
27
  from .gather import gather_trigger_computed_attribute_jinja2, gather_trigger_computed_attribute_python
28
- from .models import ComputedAttrJinja2GraphQL, ComputedAttrJinja2GraphQLResponse, PythonTransformTarget
28
+ from .models import (
29
+ ComputedAttrJinja2GraphQL,
30
+ ComputedAttrJinja2GraphQLResponse,
31
+ PythonTransformTarget,
32
+ )
29
33
 
30
34
  if TYPE_CHECKING:
31
35
  from infrahub.core.schema.computed_attribute import ComputedAttribute
@@ -159,10 +163,10 @@ async def trigger_update_python_computed_attributes(
159
163
 
160
164
 
161
165
  @flow(
162
- name="process_computed_attribute_value_jinja2",
163
- flow_run_name="Update value for computed attribute {attribute_name}",
166
+ name="computed-attribute-jinja2-update-value",
167
+ flow_run_name="Update value for computed attribute {node_kind}:{attribute_name}",
164
168
  )
165
- async def update_computed_attribute_value_jinja2(
169
+ async def computed_attribute_jinja2_update_value(
166
170
  branch_name: str,
167
171
  obj: ComputedAttrJinja2GraphQLResponse,
168
172
  node_kind: str,
@@ -246,7 +250,7 @@ async def process_jinja2(
246
250
  batch = await service.client.create_batch()
247
251
  for node in found:
248
252
  batch.add(
249
- task=update_computed_attribute_value_jinja2,
253
+ task=computed_attribute_jinja2_update_value,
250
254
  branch_name=branch_name,
251
255
  obj=node,
252
256
  node_kind=node_schema.kind,
@@ -302,26 +306,33 @@ async def computed_attribute_setup_jinja2(
302
306
 
303
307
  triggers = await gather_trigger_computed_attribute_jinja2()
304
308
 
305
- for trigger in triggers:
306
- if event_name != BranchDeletedEvent.event_name and trigger.branch == branch_name:
307
- await service.workflow.submit_workflow(
308
- workflow=TRIGGER_UPDATE_JINJA_COMPUTED_ATTRIBUTES,
309
- context=context,
310
- parameters={
311
- "branch_name": trigger.branch,
312
- "computed_attribute_name": trigger.computed_attribute.attribute.name,
313
- "computed_attribute_kind": trigger.computed_attribute.kind,
314
- },
315
- )
316
-
317
309
  # Configure all ComputedAttrJinja2Trigger in Prefect
318
310
  async with get_client(sync_client=False) as prefect_client:
319
- await setup_triggers(
311
+ report: TriggerSetupReport = await setup_triggers(
320
312
  client=prefect_client,
321
313
  triggers=triggers,
322
314
  trigger_type=TriggerType.COMPUTED_ATTR_JINJA2,
315
+ force_update=False,
323
316
  ) # type: ignore[misc]
324
317
 
318
+ # Since we can have multiple trigger per NodeKind
319
+ # we need to extract the list of unique node that should be processed
320
+ unique_nodes: set[tuple[str, str, str]] = {
321
+ (trigger.branch, trigger.computed_attribute.kind, trigger.computed_attribute.attribute.name) # type: ignore[attr-defined]
322
+ for trigger in report.updated + report.created
323
+ }
324
+ for branch, kind, attribute_name in unique_nodes:
325
+ if event_name != BranchDeletedEvent.event_name and branch == branch_name:
326
+ await service.workflow.submit_workflow(
327
+ workflow=TRIGGER_UPDATE_JINJA_COMPUTED_ATTRIBUTES,
328
+ context=context,
329
+ parameters={
330
+ "branch_name": branch,
331
+ "computed_attribute_name": attribute_name,
332
+ "computed_attribute_kind": kind,
333
+ },
334
+ )
335
+
325
336
  log.info(f"{len(triggers)} Computed Attribute for Jinja2 automation configuration completed")
326
337
 
327
338
 
@@ -347,18 +358,29 @@ async def computed_attribute_setup_python(
347
358
 
348
359
  triggers_python, triggers_python_query = await gather_trigger_computed_attribute_python(db=db)
349
360
 
350
- for trigger in triggers_python:
351
- if event_name != BranchDeletedEvent.event_name and trigger.branch == branch_name:
352
- log.info(
353
- f"Triggering update for {trigger.computed_attribute.computed_attribute.attribute.name} on {branch_name}"
354
- )
361
+ # Since we can have multiple trigger per NodeKind
362
+ # we need to extract the list of unique node that should be processed
363
+ # also
364
+ # Because the automation in Prefect doesn't capture all information about the computed attribute
365
+ # we can't tell right now if a given computed attribute has changed and need to be updated
366
+ unique_nodes: set[tuple[str, str, str]] = {
367
+ (
368
+ trigger.branch,
369
+ trigger.computed_attribute.computed_attribute.kind,
370
+ trigger.computed_attribute.computed_attribute.attribute.name,
371
+ )
372
+ for trigger in triggers_python
373
+ }
374
+ for branch, kind, attribute_name in unique_nodes:
375
+ if event_name != BranchDeletedEvent.event_name and branch == branch_name:
376
+ log.info(f"Triggering update for {kind}.{attribute_name} on {branch}")
355
377
  await service.workflow.submit_workflow(
356
378
  workflow=TRIGGER_UPDATE_PYTHON_COMPUTED_ATTRIBUTES,
357
379
  context=context,
358
380
  parameters={
359
381
  "branch_name": branch_name,
360
- "computed_attribute_name": trigger.computed_attribute.computed_attribute.attribute.name,
361
- "computed_attribute_kind": trigger.computed_attribute.computed_attribute.kind,
382
+ "computed_attribute_name": attribute_name,
383
+ "computed_attribute_kind": kind,
362
384
  },
363
385
  )
364
386
 
@@ -782,6 +782,10 @@ class Dropdown(BaseAttribute):
782
782
 
783
783
  return ""
784
784
 
785
+ @staticmethod
786
+ def get_allowed_property_in_path() -> list[str]:
787
+ return ["color", "description", "label", "value"]
788
+
785
789
  @classmethod
786
790
  def validate_content(cls, value: Any, name: str, schema: AttributeSchema) -> None:
787
791
  """Validate the content of the dropdown."""
@@ -817,7 +821,18 @@ class IPNetwork(BaseAttribute):
817
821
 
818
822
  @staticmethod
819
823
  def get_allowed_property_in_path() -> list[str]:
820
- return ["value", "version", "binary_address", "prefixlen"]
824
+ return [
825
+ "binary_address",
826
+ "broadcast_address",
827
+ "hostmask",
828
+ "netmask",
829
+ "num_addresses",
830
+ "prefixlen",
831
+ "value",
832
+ "version",
833
+ "with_hostmask",
834
+ "with_netmask",
835
+ ]
821
836
 
822
837
  @property
823
838
  def obj(self) -> ipaddress.IPv4Network | ipaddress.IPv6Network:
@@ -950,7 +965,17 @@ class IPHost(BaseAttribute):
950
965
 
951
966
  @staticmethod
952
967
  def get_allowed_property_in_path() -> list[str]:
953
- return ["value", "version", "binary_address"]
968
+ return [
969
+ "binary_address",
970
+ "hostmask",
971
+ "ip",
972
+ "netmask",
973
+ "prefixlen",
974
+ "value",
975
+ "version",
976
+ "with_hostmask",
977
+ "with_netmask",
978
+ ]
954
979
 
955
980
  @property
956
981
  def obj(self) -> ipaddress.IPv4Interface | ipaddress.IPv6Interface:
@@ -1170,6 +1195,22 @@ class MacAddress(BaseAttribute):
1170
1195
  """Serialize the value as standard EUI-48 or EUI-64 before storing it in the database."""
1171
1196
  return str(netaddr.EUI(addr=self.value))
1172
1197
 
1198
+ @staticmethod
1199
+ def get_allowed_property_in_path() -> list[str]:
1200
+ return [
1201
+ "bare",
1202
+ "binary",
1203
+ "dot_notation",
1204
+ "ei",
1205
+ "eui48",
1206
+ "eui64",
1207
+ "oui",
1208
+ "semicolon_notation",
1209
+ "split_notation",
1210
+ "value",
1211
+ "version",
1212
+ ]
1213
+
1173
1214
 
1174
1215
  class MacAddressOptional(MacAddress):
1175
1216
  value: str | None
@@ -295,6 +295,7 @@ class Branch(StandardNode):
295
295
  is_isolated: bool = True,
296
296
  branch_agnostic: bool = False,
297
297
  variable_name: str = "r",
298
+ params_prefix: str = "",
298
299
  ) -> tuple[str, dict]:
299
300
  """
300
301
  Generate a CYPHER Query filter based on a path to query a part of the graph at a specific time and on a specific branch.
@@ -306,30 +307,28 @@ class Branch(StandardNode):
306
307
 
307
308
  There is a currently an assumption that the relationship in the path will be named 'r'
308
309
  """
309
-
310
+ pp = params_prefix
310
311
  params: dict[str, Any] = {}
311
312
  at = Timestamp(at)
312
313
  at_str = at.to_string()
313
314
  if branch_agnostic:
314
- filter_str = (
315
- f"{variable_name}.from <= $time1 AND ({variable_name}.to IS NULL or {variable_name}.to >= $time1)"
316
- )
317
- params["time1"] = at_str
315
+ filter_str = f"{variable_name}.from <= ${pp}time1 AND ({variable_name}.to IS NULL or {variable_name}.to >= ${pp}time1)"
316
+ params[f"{pp}time1"] = at_str
318
317
  return filter_str, params
319
318
 
320
319
  branches_times = self.get_branches_and_times_to_query_global(at=at_str, is_isolated=is_isolated)
321
320
 
322
321
  for idx, (branch_name, time_to_query) in enumerate(branches_times.items()):
323
- params[f"branch{idx}"] = list(branch_name)
324
- params[f"time{idx}"] = time_to_query
322
+ params[f"{pp}branch{idx}"] = list(branch_name)
323
+ params[f"{pp}time{idx}"] = time_to_query
325
324
 
326
325
  filters = []
327
326
  for idx in range(len(branches_times)):
328
327
  filters.append(
329
- f"({variable_name}.branch IN $branch{idx} AND {variable_name}.from <= $time{idx} AND {variable_name}.to IS NULL)"
328
+ f"({variable_name}.branch IN ${pp}branch{idx} AND {variable_name}.from <= ${pp}time{idx} AND {variable_name}.to IS NULL)"
330
329
  )
331
330
  filters.append(
332
- f"({variable_name}.branch IN $branch{idx} AND {variable_name}.from <= $time{idx} AND {variable_name}.to >= $time{idx})"
331
+ f"({variable_name}.branch IN ${pp}branch{idx} AND {variable_name}.from <= ${pp}time{idx} AND {variable_name}.to >= ${pp}time{idx})"
333
332
  )
334
333
 
335
334
  filter_str = "(" + "\n OR ".join(filters) + ")"
@@ -212,8 +212,6 @@ async def merge_branch(
212
212
 
213
213
  merger: BranchMerger | None = None
214
214
  async with lock.registry.global_graph_lock():
215
- # await update_diff(model=RequestDiffUpdate(branch_name=obj.name))
216
-
217
215
  diff_repository = await component_registry.get_component(DiffRepository, db=db, branch=obj)
218
216
  diff_coordinator = await component_registry.get_component(DiffCoordinator, db=db, branch=obj)
219
217
  diff_merger = await component_registry.get_component(DiffMerger, db=db, branch=obj)
@@ -7,6 +7,7 @@ from infrahub.core.diff.query_parser import DiffQueryParser
7
7
  from infrahub.core.query.diff import (
8
8
  DiffCalculationQuery,
9
9
  DiffFieldPathsQuery,
10
+ DiffMigratedKindNodesQuery,
10
11
  DiffNodePathsQuery,
11
12
  DiffPropertyPathsQuery,
12
13
  )
@@ -14,7 +15,8 @@ from infrahub.core.timestamp import Timestamp
14
15
  from infrahub.database import InfrahubDatabase
15
16
  from infrahub.log import get_logger
16
17
 
17
- from .model.path import CalculatedDiffs
18
+ from .model.field_specifiers_map import NodeFieldSpecifierMap
19
+ from .model.path import CalculatedDiffs, DiffNode, DiffRoot, NodeIdentifier
18
20
 
19
21
  log = get_logger()
20
22
 
@@ -26,8 +28,8 @@ class DiffCalculationRequest:
26
28
  branch_from_time: Timestamp
27
29
  from_time: Timestamp
28
30
  to_time: Timestamp
29
- current_node_field_specifiers: dict[str, set[str]] | None = field(default=None)
30
- new_node_field_specifiers: dict[str, set[str]] | None = field(default=None)
31
+ current_node_field_specifiers: NodeFieldSpecifierMap | None = field(default=None)
32
+ new_node_field_specifiers: NodeFieldSpecifierMap | None = field(default=None)
31
33
 
32
34
 
33
35
  class DiffCalculator:
@@ -58,7 +60,7 @@ class DiffCalculator:
58
60
  )
59
61
  log.info(f"Beginning one diff calculation query {limit=}, {offset=}")
60
62
  await diff_query.execute(db=self.db)
61
- log.info("Diff calculation query complete")
63
+ log.info(f"Diff calculation query complete {limit=}, {offset=}")
62
64
  last_result = None
63
65
  for query_result in diff_query.get_results():
64
66
  diff_parser.read_result(query_result=query_result)
@@ -68,6 +70,56 @@ class DiffCalculator:
68
70
  has_more_data = last_result.get_as_type("has_more_data", bool)
69
71
  offset += limit
70
72
 
73
+ async def _apply_kind_migrated_nodes(
74
+ self, branch_diff: DiffRoot, calculation_request: DiffCalculationRequest
75
+ ) -> None:
76
+ has_more_data = True
77
+ offset = 0
78
+ limit = config.SETTINGS.database.query_size_limit
79
+ diff_nodes_by_identifier = {n.identifier: n for n in branch_diff.nodes}
80
+ diff_nodes_to_add: list[DiffNode] = []
81
+ while has_more_data:
82
+ diff_query = await DiffMigratedKindNodesQuery.init(
83
+ db=self.db,
84
+ branch=calculation_request.diff_branch,
85
+ base_branch=calculation_request.base_branch,
86
+ diff_branch_from_time=calculation_request.branch_from_time,
87
+ diff_from=calculation_request.from_time,
88
+ diff_to=calculation_request.to_time,
89
+ limit=limit,
90
+ offset=offset,
91
+ )
92
+ log.info(f"Getting one batch of migrated kind nodes {limit=}, {offset=}")
93
+ await diff_query.execute(db=self.db)
94
+ log.info(f"Migrated kind nodes query complete {limit=}, {offset=}")
95
+ last_result = None
96
+ for migrated_kind_node in diff_query.get_migrated_kind_nodes():
97
+ migrated_kind_identifier = NodeIdentifier(
98
+ uuid=migrated_kind_node.uuid,
99
+ kind=migrated_kind_node.kind,
100
+ db_id=migrated_kind_node.db_id,
101
+ )
102
+ if migrated_kind_identifier in diff_nodes_by_identifier:
103
+ diff_node = diff_nodes_by_identifier[migrated_kind_identifier]
104
+ diff_node.is_node_kind_migration = True
105
+ continue
106
+ new_diff_node = DiffNode(
107
+ identifier=migrated_kind_identifier,
108
+ changed_at=migrated_kind_node.from_time,
109
+ action=migrated_kind_node.action,
110
+ is_node_kind_migration=True,
111
+ attributes=[],
112
+ relationships=[],
113
+ )
114
+ diff_nodes_by_identifier[migrated_kind_identifier] = new_diff_node
115
+ diff_nodes_to_add.append(new_diff_node)
116
+ last_result = migrated_kind_node
117
+ has_more_data = False
118
+ if last_result:
119
+ has_more_data = last_result.has_more_data
120
+ offset += limit
121
+ branch_diff.nodes.extend(diff_nodes_to_add)
122
+
71
123
  async def calculate_diff(
72
124
  self,
73
125
  base_branch: Branch,
@@ -75,7 +127,7 @@ class DiffCalculator:
75
127
  from_time: Timestamp,
76
128
  to_time: Timestamp,
77
129
  include_unchanged: bool = True,
78
- previous_node_specifiers: dict[str, set[str]] | None = None,
130
+ previous_node_specifiers: NodeFieldSpecifierMap | None = None,
79
131
  ) -> CalculatedDiffs:
80
132
  if diff_branch.name == registry.default_branch:
81
133
  diff_branch_from_time = from_time
@@ -91,7 +143,7 @@ class DiffCalculator:
91
143
  )
92
144
  node_limit = int(config.SETTINGS.database.query_size_limit / 10)
93
145
  fields_limit = int(config.SETTINGS.database.query_size_limit / 3)
94
- properties_limit = int(config.SETTINGS.database.query_size_limit)
146
+ properties_limit = config.SETTINGS.database.query_size_limit
95
147
 
96
148
  calculation_request = DiffCalculationRequest(
97
149
  base_branch=base_branch,
@@ -131,7 +183,7 @@ class DiffCalculator:
131
183
  if base_branch.name != diff_branch.name:
132
184
  current_node_field_specifiers = diff_parser.get_current_node_field_specifiers()
133
185
  new_node_field_specifiers = diff_parser.get_new_node_field_specifiers()
134
- calculation_request = DiffCalculationRequest(
186
+ base_calculation_request = DiffCalculationRequest(
135
187
  base_branch=base_branch,
136
188
  diff_branch=base_branch,
137
189
  branch_from_time=diff_branch_from_time,
@@ -145,7 +197,7 @@ class DiffCalculator:
145
197
  await self._run_diff_calculation_query(
146
198
  diff_parser=diff_parser,
147
199
  query_class=DiffNodePathsQuery,
148
- calculation_request=calculation_request,
200
+ calculation_request=base_calculation_request,
149
201
  limit=node_limit,
150
202
  )
151
203
  log.info("Diff node-level calculation queries for base complete")
@@ -154,7 +206,7 @@ class DiffCalculator:
154
206
  await self._run_diff_calculation_query(
155
207
  diff_parser=diff_parser,
156
208
  query_class=DiffFieldPathsQuery,
157
- calculation_request=calculation_request,
209
+ calculation_request=base_calculation_request,
158
210
  limit=fields_limit,
159
211
  )
160
212
  log.info("Diff field-level calculation queries for base complete")
@@ -163,7 +215,7 @@ class DiffCalculator:
163
215
  await self._run_diff_calculation_query(
164
216
  diff_parser=diff_parser,
165
217
  query_class=DiffPropertyPathsQuery,
166
- calculation_request=calculation_request,
218
+ calculation_request=base_calculation_request,
167
219
  limit=properties_limit,
168
220
  )
169
221
  log.info("Diff property-level calculation queries for base complete")
@@ -171,9 +223,11 @@ class DiffCalculator:
171
223
  log.info("Parsing calculated diff")
172
224
  diff_parser.parse(include_unchanged=include_unchanged)
173
225
  log.info("Calculated diff parsed")
226
+ branch_diff = diff_parser.get_diff_root_for_branch(branch=diff_branch.name)
227
+ await self._apply_kind_migrated_nodes(branch_diff=branch_diff, calculation_request=calculation_request)
174
228
  return CalculatedDiffs(
175
229
  base_branch_name=base_branch.name,
176
230
  diff_branch_name=diff_branch.name,
177
231
  base_branch_diff=diff_parser.get_diff_root_for_branch(branch=base_branch.name),
178
- diff_branch_diff=diff_parser.get_diff_root_for_branch(branch=diff_branch.name),
232
+ diff_branch_diff=branch_diff,
179
233
  )
@@ -14,6 +14,7 @@ from .model.path import (
14
14
  EnrichedDiffRoot,
15
15
  EnrichedDiffs,
16
16
  EnrichedDiffSingleRelationship,
17
+ NodeIdentifier,
17
18
  )
18
19
 
19
20
 
@@ -26,30 +27,35 @@ class NodePair:
26
27
  class DiffCombiner:
27
28
  def __init__(self) -> None:
28
29
  # {child_uuid: (parent_uuid, parent_rel_name)}
29
- self._child_parent_uuid_map: dict[str, tuple[str, str]] = {}
30
- self._parent_node_uuids: set[str] = set()
31
- self._earlier_nodes_by_uuid: dict[str, EnrichedDiffNode] = {}
32
- self._later_nodes_by_uuid: dict[str, EnrichedDiffNode] = {}
33
- self._common_node_uuids: set[str] = set()
30
+ self._child_parent_identifier_map: dict[NodeIdentifier, tuple[NodeIdentifier, str]] = {}
31
+ self._parent_node_identifiers: set[NodeIdentifier] = set()
32
+ self._earlier_nodes_by_identifier: dict[NodeIdentifier, EnrichedDiffNode] = {}
33
+ self._later_nodes_by_identifier: dict[NodeIdentifier, EnrichedDiffNode] = {}
34
+ self._common_node_identifiers: set[NodeIdentifier] = set()
34
35
  self._diff_branch_name: str | None = None
35
36
 
36
37
  def _initialize(self, earlier_diff: EnrichedDiffRoot, later_diff: EnrichedDiffRoot) -> None:
37
38
  self._diff_branch_name = earlier_diff.diff_branch_name
38
- self._child_parent_uuid_map = {}
39
- self._earlier_nodes_by_uuid = {}
40
- self._later_nodes_by_uuid = {}
41
- self._common_node_uuids = set()
39
+ self._child_parent_identifier_map = {}
40
+ self._earlier_nodes_by_identifier = {}
41
+ self._later_nodes_by_identifier = {}
42
+ self._common_node_identifiers = set()
42
43
  # map the parent of each node (if it exists), preference to the later diff
43
44
  for diff_root in (earlier_diff, later_diff):
44
45
  for child_node in diff_root.nodes:
45
46
  for parent_rel in child_node.relationships:
46
47
  for parent_node in parent_rel.nodes:
47
- self._child_parent_uuid_map[child_node.uuid] = (parent_node.uuid, parent_rel.name)
48
+ self._child_parent_identifier_map[child_node.identifier] = (
49
+ parent_node.identifier,
50
+ parent_rel.name,
51
+ )
48
52
  # UUIDs of all the parents, removing the stale parents from the earlier diff
49
- self._parent_node_uuids = {parent_tuple[0] for parent_tuple in self._child_parent_uuid_map.values()}
50
- self._earlier_nodes_by_uuid = {n.uuid: n for n in earlier_diff.nodes}
51
- self._later_nodes_by_uuid = {n.uuid: n for n in later_diff.nodes}
52
- self._common_node_uuids = set(self._earlier_nodes_by_uuid.keys()) & set(self._later_nodes_by_uuid.keys())
53
+ self._parent_node_identifiers = {parent_tuple[0] for parent_tuple in self._child_parent_identifier_map.values()}
54
+ self._earlier_nodes_by_identifier = {n.identifier: n for n in earlier_diff.nodes}
55
+ self._later_nodes_by_identifier = {n.identifier: n for n in later_diff.nodes}
56
+ self._common_node_identifiers = set(self._earlier_nodes_by_identifier.keys()) & set(
57
+ self._later_nodes_by_identifier.keys()
58
+ )
53
59
 
54
60
  @property
55
61
  def diff_branch_name(self) -> str:
@@ -61,13 +67,13 @@ class DiffCombiner:
61
67
  filtered_node_pairs: list[NodePair] = []
62
68
  for earlier_node in earlier_diff.nodes:
63
69
  later_node: EnrichedDiffNode | None = None
64
- if earlier_node.uuid in self._common_node_uuids:
65
- later_node = self._later_nodes_by_uuid[earlier_node.uuid]
70
+ if earlier_node.identifier in self._common_node_identifiers:
71
+ later_node = self._later_nodes_by_identifier[earlier_node.identifier]
66
72
  # this is an out-of-date parent
67
73
  if (
68
74
  earlier_node.action is DiffAction.UNCHANGED
69
75
  and (later_node is None or later_node.action is DiffAction.UNCHANGED)
70
- and earlier_node.uuid not in self._parent_node_uuids
76
+ and earlier_node.identifier not in self._parent_node_identifiers
71
77
  ):
72
78
  continue
73
79
  if later_node is None:
@@ -79,15 +85,15 @@ class DiffCombiner:
79
85
  filtered_node_pairs.append(NodePair(earlier=earlier_node, later=later_node))
80
86
  for later_node in later_diff.nodes:
81
87
  # these have already been handled
82
- if later_node.uuid in self._common_node_uuids:
88
+ if later_node.identifier in self._common_node_identifiers:
83
89
  continue
84
90
  filtered_node_pairs.append(NodePair(later=later_node))
85
91
  return filtered_node_pairs
86
92
 
87
- def _get_parent_relationship_name(self, node_id: str) -> str | None:
88
- if node_id not in self._child_parent_uuid_map:
93
+ def _get_parent_relationship_name(self, node_id: NodeIdentifier) -> str | None:
94
+ if node_id not in self._child_parent_identifier_map:
89
95
  return None
90
- return self._child_parent_uuid_map[node_id][1]
96
+ return self._child_parent_identifier_map[node_id][1]
91
97
 
92
98
  def _should_include(self, earlier: DiffAction, later: DiffAction) -> bool:
93
99
  actions = {earlier, later}
@@ -284,7 +290,7 @@ class DiffCombiner:
284
290
  self,
285
291
  earlier_relationships: set[EnrichedDiffRelationship],
286
292
  later_relationships: set[EnrichedDiffRelationship],
287
- node_id: str,
293
+ node_id: NodeIdentifier,
288
294
  ) -> set[EnrichedDiffRelationship]:
289
295
  earlier_rels_by_name = {rel.name: rel for rel in earlier_relationships}
290
296
  later_rels_by_name = {rel.name: rel for rel in later_relationships}
@@ -365,7 +371,7 @@ class DiffCombiner:
365
371
  combined_relationships = self._combine_relationships(
366
372
  earlier_relationships=node_pair.earlier.relationships,
367
373
  later_relationships=node_pair.later.relationships,
368
- node_id=node_pair.later.uuid,
374
+ node_id=node_pair.later.identifier,
369
375
  )
370
376
  if all(ca.action is DiffAction.UNCHANGED for ca in combined_attributes) and all(
371
377
  cr.action is DiffAction.UNCHANGED for cr in combined_relationships
@@ -380,15 +386,16 @@ class DiffCombiner:
380
386
  combined_attributes
381
387
  or combined_relationships
382
388
  or combined_conflict
383
- or node_pair.later.uuid in self._parent_node_uuids
389
+ or node_pair.later.identifier in self._parent_node_identifiers
384
390
  ):
385
391
  combined_nodes.add(
386
392
  EnrichedDiffNode(
387
- uuid=node_pair.later.uuid,
388
- kind=node_pair.later.kind,
393
+ identifier=node_pair.later.identifier,
389
394
  label=node_pair.later.label,
390
395
  changed_at=node_pair.later.changed_at or node_pair.earlier.changed_at,
391
396
  action=combined_action,
397
+ is_node_kind_migration=node_pair.earlier.is_node_kind_migration
398
+ or node_pair.later.is_node_kind_migration,
392
399
  path_identifier=node_pair.later.path_identifier,
393
400
  attributes=combined_attributes,
394
401
  relationships=combined_relationships,
@@ -398,12 +405,12 @@ class DiffCombiner:
398
405
  return combined_nodes
399
406
 
400
407
  def _link_child_nodes(self, nodes: Iterable[EnrichedDiffNode]) -> None:
401
- nodes_by_uuid: dict[str, EnrichedDiffNode] = {n.uuid: n for n in nodes}
402
- for child_node in nodes_by_uuid.values():
403
- if child_node.uuid not in self._child_parent_uuid_map:
408
+ nodes_by_identifier: dict[NodeIdentifier, EnrichedDiffNode] = {n.identifier: n for n in nodes}
409
+ for child_node in nodes_by_identifier.values():
410
+ if child_node.identifier not in self._child_parent_identifier_map:
404
411
  continue
405
- parent_uuid, parent_rel_name = self._child_parent_uuid_map[child_node.uuid]
406
- parent_node = nodes_by_uuid[parent_uuid]
412
+ parent_identifier, parent_rel_name = self._child_parent_identifier_map[child_node.identifier]
413
+ parent_node = nodes_by_identifier[parent_identifier]
407
414
  parent_rel = child_node.get_relationship(name=parent_rel_name)
408
415
  parent_rel.nodes.add(parent_node)
409
416