infrahub-server 1.3.0b3__tar.gz → 1.3.0b6__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 (808) hide show
  1. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/PKG-INFO +2 -2
  2. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/actions/constants.py +36 -79
  3. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/actions/schema.py +2 -0
  4. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/constraint/node/runner.py +3 -1
  5. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/convert_object_type/conversion.py +2 -0
  6. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/query/delete_query.py +8 -4
  7. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/repository/repository.py +4 -0
  8. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m015_diff_format_update.py +1 -2
  9. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m016_diff_delete_bug_fix.py +1 -2
  10. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m028_delete_diffs.py +1 -2
  11. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/node/__init__.py +65 -36
  12. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/path.py +14 -0
  13. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/relationship/constraints/count.py +10 -9
  14. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/relationship/constraints/interface.py +2 -1
  15. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/relationship/constraints/peer_kind.py +2 -1
  16. infrahub_server-1.3.0b6/backend/infrahub/core/relationship/constraints/peer_parent.py +56 -0
  17. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/relationship/constraints/peer_relatives.py +1 -1
  18. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/relationship/constraints/profiles_kind.py +1 -1
  19. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/definitions/internal.py +8 -1
  20. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/generated/relationship_schema.py +6 -1
  21. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/schema_branch.py +36 -8
  22. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/__init__.py +2 -1
  23. infrahub_server-1.3.0b6/backend/infrahub/core/validators/relationship/peer.py +297 -0
  24. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/database/__init__.py +0 -1
  25. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/constraint/grouped/node_runner.py +2 -0
  26. infrahub_server-1.3.0b6/backend/infrahub/dependencies/builder/constraint/relationship_manager/peer_parent.py +8 -0
  27. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/constraint/schema/aggregated.py +2 -0
  28. infrahub_server-1.3.0b6/backend/infrahub/dependencies/builder/constraint/schema/relationship_peer.py +8 -0
  29. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/registry.py +2 -0
  30. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/git/integrator.py +0 -8
  31. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/git/tasks.py +1 -0
  32. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/mutations/convert_object_type.py +16 -7
  33. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/mutations/relationship.py +32 -0
  34. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/queries/convert_object_type_mapping.py +3 -5
  35. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/message_bus/operations/refresh/registry.py +3 -6
  36. infrahub_server-1.3.0b6/backend/infrahub/pools/models.py +14 -0
  37. infrahub_server-1.3.0b6/backend/infrahub/pools/tasks.py +126 -0
  38. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/pyproject.toml +13 -3
  39. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/ctl/generator.py +4 -4
  40. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/ctl/repository.py +1 -1
  41. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/node/node.py +146 -92
  42. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/pytest_plugin/items/python_transform.py +2 -1
  43. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/query_groups.py +4 -3
  44. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/utils.py +7 -20
  45. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/yaml.py +6 -5
  46. infrahub_server-1.3.0b3/backend/infrahub/core/validators/relationship/peer.py +0 -127
  47. infrahub_server-1.3.0b3/backend/infrahub/pools/tasks.py +0 -56
  48. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/LICENSE.txt +0 -0
  49. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/README.md +0 -0
  50. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/__init__.py +0 -0
  51. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/actions/__init__.py +0 -0
  52. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/actions/gather.py +0 -0
  53. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/actions/models.py +0 -0
  54. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/actions/parsers.py +0 -0
  55. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/actions/tasks.py +0 -0
  56. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/actions/triggers.py +0 -0
  57. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/api/__init__.py +0 -0
  58. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/api/artifact.py +0 -0
  59. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/api/auth.py +0 -0
  60. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/api/dependencies.py +0 -0
  61. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/api/diff/__init__.py +0 -0
  62. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/api/diff/diff.py +0 -0
  63. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/api/diff/validation_models.py +0 -0
  64. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/api/exception_handlers.py +0 -0
  65. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/api/exceptions.py +0 -0
  66. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/api/file.py +0 -0
  67. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/api/internal.py +0 -0
  68. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/api/menu.py +0 -0
  69. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/api/oauth2.py +0 -0
  70. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/api/oidc.py +0 -0
  71. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/api/query.py +0 -0
  72. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/api/schema.py +0 -0
  73. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/api/static/redoc.standalone.js +0 -0
  74. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/api/static/swagger-ui-bundle.js +0 -0
  75. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/api/static/swagger-ui.css +0 -0
  76. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/api/storage.py +0 -0
  77. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/api/transformation.py +0 -0
  78. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/artifacts/__init__.py +0 -0
  79. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/artifacts/models.py +0 -0
  80. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/artifacts/tasks.py +0 -0
  81. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/auth.py +0 -0
  82. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/branch/__init__.py +0 -0
  83. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/branch/tasks.py +0 -0
  84. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/branch/triggers.py +0 -0
  85. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/cli/__init__.py +0 -0
  86. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/cli/constants.py +0 -0
  87. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/cli/context.py +0 -0
  88. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/cli/db.py +0 -0
  89. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/cli/events.py +0 -0
  90. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/cli/git_agent.py +0 -0
  91. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/cli/patch.py +0 -0
  92. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/cli/server.py +0 -0
  93. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/cli/tasks.py +0 -0
  94. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/cli/upgrade.py +0 -0
  95. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/components.py +0 -0
  96. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/computed_attribute/__init__.py +0 -0
  97. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/computed_attribute/constants.py +0 -0
  98. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/computed_attribute/gather.py +0 -0
  99. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/computed_attribute/models.py +0 -0
  100. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/computed_attribute/tasks.py +0 -0
  101. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/computed_attribute/triggers.py +0 -0
  102. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/config.py +0 -0
  103. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/constants/__init__.py +0 -0
  104. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/constants/database.py +0 -0
  105. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/context.py +0 -0
  106. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/__init__.py +0 -0
  107. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/account.py +0 -0
  108. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/attribute.py +0 -0
  109. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/branch/__init__.py +0 -0
  110. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/branch/models.py +0 -0
  111. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/branch/tasks.py +0 -0
  112. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/changelog/__init__.py +0 -0
  113. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/changelog/diff.py +0 -0
  114. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/changelog/models.py +0 -0
  115. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/constants/__init__.py +0 -0
  116. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/constants/database.py +0 -0
  117. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/constants/infrahubkind.py +0 -0
  118. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/constants/relationship_label.py +0 -0
  119. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/constants/schema.py +0 -0
  120. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/constraint/__init__.py +0 -0
  121. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/constraint/node/__init__.py +0 -0
  122. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/convert_object_type/__init__.py +0 -0
  123. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/convert_object_type/schema_mapping.py +0 -0
  124. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/__init__.py +0 -0
  125. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/artifacts/__init__.py +0 -0
  126. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/artifacts/calculator.py +0 -0
  127. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/branch_differ.py +0 -0
  128. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/calculator.py +0 -0
  129. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/combiner.py +0 -0
  130. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/conflict_transferer.py +0 -0
  131. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/conflicts_enricher.py +0 -0
  132. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/conflicts_extractor.py +0 -0
  133. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/coordinator.py +0 -0
  134. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/data_check_synchronizer.py +0 -0
  135. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/enricher/__init__.py +0 -0
  136. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/enricher/aggregated.py +0 -0
  137. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/enricher/cardinality_one.py +0 -0
  138. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/enricher/hierarchy.py +0 -0
  139. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/enricher/interface.py +0 -0
  140. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/enricher/labels.py +0 -0
  141. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/enricher/path_identifier.py +0 -0
  142. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/enricher/summary_counts.py +0 -0
  143. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/exceptions.py +0 -0
  144. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/ipam_diff_parser.py +0 -0
  145. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/merger/__init__.py +0 -0
  146. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/merger/merger.py +0 -0
  147. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/merger/model.py +0 -0
  148. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/merger/serializer.py +0 -0
  149. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/model/__init__.py +0 -0
  150. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/model/diff.py +0 -0
  151. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/model/field_specifiers_map.py +0 -0
  152. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/model/path.py +0 -0
  153. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/models.py +0 -0
  154. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/parent_node_adder.py +0 -0
  155. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/payload_builder.py +0 -0
  156. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/query/__init__.py +0 -0
  157. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/query/all_conflicts.py +0 -0
  158. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/query/artifact.py +0 -0
  159. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/query/diff_get.py +0 -0
  160. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/query/diff_summary.py +0 -0
  161. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/query/drop_nodes.py +0 -0
  162. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/query/field_specifiers.py +0 -0
  163. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/query/field_summary.py +0 -0
  164. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/query/filters.py +0 -0
  165. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/query/get_conflict_query.py +0 -0
  166. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/query/has_conflicts_query.py +0 -0
  167. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/query/merge.py +0 -0
  168. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/query/merge_tracking_id.py +0 -0
  169. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/query/roots_metadata.py +0 -0
  170. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/query/save.py +0 -0
  171. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/query/summary_counts_enricher.py +0 -0
  172. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/query/time_range_query.py +0 -0
  173. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/query/update_conflict_query.py +0 -0
  174. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/query_parser.py +0 -0
  175. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/repository/__init__.py +0 -0
  176. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/repository/deserializer.py +0 -0
  177. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/diff/tasks.py +0 -0
  178. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/enums.py +0 -0
  179. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/graph/__init__.py +0 -0
  180. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/graph/constraints.py +0 -0
  181. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/graph/index.py +0 -0
  182. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/graph/schema.py +0 -0
  183. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/initialization.py +0 -0
  184. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/integrity/__init__.py +0 -0
  185. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/integrity/object_conflict/__init__.py +0 -0
  186. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/integrity/object_conflict/conflict_recorder.py +0 -0
  187. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/ipam/__init__.py +0 -0
  188. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/ipam/constants.py +0 -0
  189. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/ipam/kinds_getter.py +0 -0
  190. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/ipam/model.py +0 -0
  191. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/ipam/reconciler.py +0 -0
  192. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/ipam/size.py +0 -0
  193. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/ipam/tasks.py +0 -0
  194. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/ipam/utilization.py +0 -0
  195. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/manager.py +0 -0
  196. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/merge.py +0 -0
  197. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/__init__.py +0 -0
  198. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/__init__.py +0 -0
  199. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m001_add_version_to_graph.py +0 -0
  200. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m002_attribute_is_default.py +0 -0
  201. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m003_relationship_parent_optional.py +0 -0
  202. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m004_add_attr_documentation.py +0 -0
  203. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m005_add_rel_read_only.py +0 -0
  204. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m006_add_rel_on_delete.py +0 -0
  205. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m007_add_rel_allow_override.py +0 -0
  206. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m008_add_human_friendly_id.py +0 -0
  207. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m009_add_generate_profile_attr.py +0 -0
  208. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m010_add_generate_profile_attr_generic.py +0 -0
  209. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m011_remove_profile_relationship_schema.py +0 -0
  210. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m012_convert_account_generic.py +0 -0
  211. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m013_convert_git_password_credential.py +0 -0
  212. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m014_remove_index_attr_value.py +0 -0
  213. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m017_add_core_profile.py +0 -0
  214. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m018_uniqueness_nulls.py +0 -0
  215. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m019_restore_rels_to_time.py +0 -0
  216. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m020_duplicate_edges.py +0 -0
  217. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m021_missing_hierarchy_merge.py +0 -0
  218. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m022_add_generate_template_attr.py +0 -0
  219. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m023_deduplicate_cardinality_one_relationships.py +0 -0
  220. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m024_missing_hierarchy_backfill.py +0 -0
  221. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m025_uniqueness_nulls.py +0 -0
  222. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m026_0000_prefix_fix.py +0 -0
  223. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m027_delete_isolated_nodes.py +0 -0
  224. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m029_duplicates_cleanup.py +0 -0
  225. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/graph/m030_illegal_edges.py +0 -0
  226. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/query/__init__.py +0 -0
  227. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/query/attribute_add.py +0 -0
  228. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/query/attribute_rename.py +0 -0
  229. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/query/delete_element_in_schema.py +0 -0
  230. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/query/node_duplicate.py +0 -0
  231. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/query/relationship_duplicate.py +0 -0
  232. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/query/schema_attribute_update.py +0 -0
  233. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/schema/__init__.py +0 -0
  234. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/schema/attribute_name_update.py +0 -0
  235. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/schema/models.py +0 -0
  236. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/schema/node_attribute_add.py +0 -0
  237. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/schema/node_attribute_remove.py +0 -0
  238. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/schema/node_kind_update.py +0 -0
  239. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/schema/node_remove.py +0 -0
  240. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/schema/placeholder_dummy.py +0 -0
  241. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/schema/tasks.py +0 -0
  242. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/migrations/shared.py +0 -0
  243. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/models.py +0 -0
  244. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/node/base.py +0 -0
  245. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/node/constraints/__init__.py +0 -0
  246. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/node/constraints/attribute_uniqueness.py +0 -0
  247. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/node/constraints/grouped_uniqueness.py +0 -0
  248. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/node/constraints/interface.py +0 -0
  249. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/node/create.py +0 -0
  250. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/node/delete_validator.py +0 -0
  251. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/node/ipam.py +0 -0
  252. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/node/permissions.py +0 -0
  253. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/node/resource_manager/__init__.py +0 -0
  254. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/node/resource_manager/ip_address_pool.py +0 -0
  255. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/node/resource_manager/ip_prefix_pool.py +0 -0
  256. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/node/resource_manager/number_pool.py +0 -0
  257. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/node/standard.py +0 -0
  258. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/property.py +0 -0
  259. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/protocols.py +0 -0
  260. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/protocols_base.py +0 -0
  261. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/query/__init__.py +0 -0
  262. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/query/attribute.py +0 -0
  263. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/query/branch.py +0 -0
  264. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/query/delete.py +0 -0
  265. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/query/diff.py +0 -0
  266. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/query/ipam.py +0 -0
  267. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/query/node.py +0 -0
  268. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/query/relationship.py +0 -0
  269. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/query/resource_manager.py +0 -0
  270. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/query/standard_node.py +0 -0
  271. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/query/subquery.py +0 -0
  272. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/query/task.py +0 -0
  273. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/query/task_log.py +0 -0
  274. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/query/utils.py +0 -0
  275. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/registry.py +0 -0
  276. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/relationship/__init__.py +0 -0
  277. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/relationship/constraints/__init__.py +0 -0
  278. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/relationship/model.py +0 -0
  279. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/root.py +0 -0
  280. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/__init__.py +0 -0
  281. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/attribute_parameters.py +0 -0
  282. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/attribute_schema.py +0 -0
  283. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/basenode_schema.py +0 -0
  284. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/computed_attribute.py +0 -0
  285. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/constants.py +0 -0
  286. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/definitions/__init__.py +0 -0
  287. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/definitions/core/__init__.py +0 -0
  288. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/definitions/core/account.py +0 -0
  289. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/definitions/core/artifact.py +0 -0
  290. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/definitions/core/builtin.py +0 -0
  291. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/definitions/core/check.py +0 -0
  292. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/definitions/core/core.py +0 -0
  293. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/definitions/core/generator.py +0 -0
  294. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/definitions/core/graphql_query.py +0 -0
  295. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/definitions/core/group.py +0 -0
  296. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/definitions/core/ipam.py +0 -0
  297. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/definitions/core/lineage.py +0 -0
  298. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/definitions/core/menu.py +0 -0
  299. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/definitions/core/permission.py +0 -0
  300. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/definitions/core/profile.py +0 -0
  301. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/definitions/core/propose_change.py +0 -0
  302. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/definitions/core/propose_change_comment.py +0 -0
  303. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/definitions/core/propose_change_validator.py +0 -0
  304. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/definitions/core/repository.py +0 -0
  305. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/definitions/core/resource_pool.py +0 -0
  306. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/definitions/core/template.py +0 -0
  307. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/definitions/core/transform.py +0 -0
  308. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/definitions/core/webhook.py +0 -0
  309. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/definitions/deprecated.py +0 -0
  310. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/dropdown.py +0 -0
  311. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/generated/__init__.py +0 -0
  312. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/generated/attribute_schema.py +0 -0
  313. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/generated/base_node_schema.py +0 -0
  314. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/generated/genericnode_schema.py +0 -0
  315. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/generated/node_schema.py +0 -0
  316. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/generic_schema.py +0 -0
  317. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/manager.py +0 -0
  318. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/node_schema.py +0 -0
  319. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/profile_schema.py +0 -0
  320. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/relationship_schema.py +0 -0
  321. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/schema_branch_computed.py +0 -0
  322. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/schema/template_schema.py +0 -0
  323. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/task/__init__.py +0 -0
  324. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/task/task.py +0 -0
  325. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/task/task_log.py +0 -0
  326. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/task/user_task.py +0 -0
  327. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/timestamp.py +0 -0
  328. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/utils.py +0 -0
  329. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/aggregated_checker.py +0 -0
  330. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/attribute/__init__.py +0 -0
  331. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/attribute/choices.py +0 -0
  332. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/attribute/enum.py +0 -0
  333. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/attribute/kind.py +0 -0
  334. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/attribute/length.py +0 -0
  335. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/attribute/min_max.py +0 -0
  336. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/attribute/number_pool.py +0 -0
  337. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/attribute/optional.py +0 -0
  338. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/attribute/regex.py +0 -0
  339. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/attribute/unique.py +0 -0
  340. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/checks_runner.py +0 -0
  341. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/determiner.py +0 -0
  342. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/enum.py +0 -0
  343. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/interface.py +0 -0
  344. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/model.py +0 -0
  345. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/models/__init__.py +0 -0
  346. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/models/validate_migration.py +0 -0
  347. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/models/violation.py +0 -0
  348. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/node/__init__.py +0 -0
  349. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/node/attribute.py +0 -0
  350. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/node/generate_profile.py +0 -0
  351. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/node/hierarchy.py +0 -0
  352. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/node/inherit_from.py +0 -0
  353. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/node/relationship.py +0 -0
  354. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/query.py +0 -0
  355. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/relationship/__init__.py +0 -0
  356. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/relationship/count.py +0 -0
  357. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/relationship/optional.py +0 -0
  358. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/shared.py +0 -0
  359. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/tasks.py +0 -0
  360. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/uniqueness/__init__.py +0 -0
  361. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/uniqueness/checker.py +0 -0
  362. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/uniqueness/index.py +0 -0
  363. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/uniqueness/model.py +0 -0
  364. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/core/validators/uniqueness/query.py +0 -0
  365. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/database/index.py +0 -0
  366. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/database/memgraph.py +0 -0
  367. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/database/metrics.py +0 -0
  368. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/database/neo4j.py +0 -0
  369. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/database/validation.py +0 -0
  370. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/__init__.py +0 -0
  371. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/constraint/__init__.py +0 -0
  372. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/constraint/grouped/__init__.py +0 -0
  373. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/constraint/node/__init__.py +0 -0
  374. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/constraint/node/grouped_uniqueness.py +0 -0
  375. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/constraint/node/uniqueness.py +0 -0
  376. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/constraint/relationship_manager/__init__.py +0 -0
  377. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/constraint/relationship_manager/count.py +0 -0
  378. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/constraint/relationship_manager/peer_kind.py +0 -0
  379. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/constraint/relationship_manager/peer_relatives.py +0 -0
  380. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/constraint/relationship_manager/profiles_kind.py +0 -0
  381. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/constraint/schema/__init__.py +0 -0
  382. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/constraint/schema/attribute_choices.py +0 -0
  383. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/constraint/schema/attribute_enum.py +0 -0
  384. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/constraint/schema/attribute_kind.py +0 -0
  385. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/constraint/schema/attribute_length.py +0 -0
  386. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/constraint/schema/attribute_optional.py +0 -0
  387. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/constraint/schema/attribute_regex.py +0 -0
  388. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/constraint/schema/attribute_uniqueness.py +0 -0
  389. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/constraint/schema/generate_profile.py +0 -0
  390. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/constraint/schema/inherit_from.py +0 -0
  391. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/constraint/schema/node_attribute.py +0 -0
  392. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/constraint/schema/node_relationship.py +0 -0
  393. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/constraint/schema/relationship_count.py +0 -0
  394. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/constraint/schema/relationship_optional.py +0 -0
  395. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/constraint/schema/uniqueness.py +0 -0
  396. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/diff/__init__.py +0 -0
  397. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/diff/calculator.py +0 -0
  398. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/diff/combiner.py +0 -0
  399. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/diff/conflict_transferer.py +0 -0
  400. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/diff/conflicts_enricher.py +0 -0
  401. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/diff/conflicts_extractor.py +0 -0
  402. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/diff/coordinator.py +0 -0
  403. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/diff/data_check_conflict_recorder.py +0 -0
  404. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/diff/data_check_synchronizer.py +0 -0
  405. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/diff/deserializer.py +0 -0
  406. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/diff/diff_merger.py +0 -0
  407. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/diff/enricher/__init__.py +0 -0
  408. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/diff/enricher/aggregated.py +0 -0
  409. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/diff/enricher/cardinality_one.py +0 -0
  410. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/diff/enricher/hierarchy.py +0 -0
  411. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/diff/enricher/labels.py +0 -0
  412. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/diff/enricher/path_identifier.py +0 -0
  413. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/diff/enricher/summary_counts.py +0 -0
  414. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/diff/ipam_diff_parser.py +0 -0
  415. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/diff/parent_node_adder.py +0 -0
  416. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/diff/repository.py +0 -0
  417. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/ip/__init__.py +0 -0
  418. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/ip/kinds_getter.py +0 -0
  419. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/node/__init__.py +0 -0
  420. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/builder/node/delete_validator.py +0 -0
  421. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/component/__init__.py +0 -0
  422. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/component/exceptions.py +0 -0
  423. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/component/registry.py +0 -0
  424. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/dependencies/interface.py +0 -0
  425. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/events/__init__.py +0 -0
  426. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/events/artifact_action.py +0 -0
  427. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/events/branch_action.py +0 -0
  428. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/events/constants.py +0 -0
  429. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/events/generator.py +0 -0
  430. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/events/group_action.py +0 -0
  431. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/events/models.py +0 -0
  432. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/events/node_action.py +0 -0
  433. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/events/repository_action.py +0 -0
  434. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/events/schema_action.py +0 -0
  435. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/events/utils.py +0 -0
  436. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/events/validator_action.py +0 -0
  437. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/exceptions.py +0 -0
  438. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/generators/__init__.py +0 -0
  439. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/generators/models.py +0 -0
  440. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/generators/tasks.py +0 -0
  441. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/git/__init__.py +0 -0
  442. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/git/base.py +0 -0
  443. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/git/constants.py +0 -0
  444. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/git/directory.py +0 -0
  445. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/git/models.py +0 -0
  446. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/git/repository.py +0 -0
  447. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/git/utils.py +0 -0
  448. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/git/worktree.py +0 -0
  449. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/git_credential/__init__.py +0 -0
  450. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/git_credential/askpass.py +0 -0
  451. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/git_credential/helper.py +0 -0
  452. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/__init__.py +0 -0
  453. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/analyzer.py +0 -0
  454. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/api/__init__.py +0 -0
  455. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/api/dependencies.py +0 -0
  456. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/api/endpoints.py +0 -0
  457. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/app.py +0 -0
  458. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/auth/__init__.py +0 -0
  459. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/auth/query_permission_checker/__init__.py +0 -0
  460. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/auth/query_permission_checker/anonymous_checker.py +0 -0
  461. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/auth/query_permission_checker/checker.py +0 -0
  462. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/auth/query_permission_checker/default_branch_checker.py +0 -0
  463. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/auth/query_permission_checker/interface.py +0 -0
  464. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/auth/query_permission_checker/merge_operation_checker.py +0 -0
  465. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/auth/query_permission_checker/object_permission_checker.py +0 -0
  466. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/auth/query_permission_checker/super_admin_checker.py +0 -0
  467. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/constants.py +0 -0
  468. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/context.py +0 -0
  469. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/directives.py +0 -0
  470. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/enums.py +0 -0
  471. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/initialization.py +0 -0
  472. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/loaders/__init__.py +0 -0
  473. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/loaders/node.py +0 -0
  474. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/loaders/peers.py +0 -0
  475. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/loaders/shared.py +0 -0
  476. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/manager.py +0 -0
  477. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/metrics.py +0 -0
  478. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/models.py +0 -0
  479. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/mutations/__init__.py +0 -0
  480. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/mutations/account.py +0 -0
  481. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/mutations/action.py +0 -0
  482. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/mutations/artifact_definition.py +0 -0
  483. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/mutations/attribute.py +0 -0
  484. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/mutations/branch.py +0 -0
  485. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/mutations/computed_attribute.py +0 -0
  486. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/mutations/diff.py +0 -0
  487. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/mutations/diff_conflict.py +0 -0
  488. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/mutations/generator.py +0 -0
  489. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/mutations/graphql_query.py +0 -0
  490. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/mutations/ipam.py +0 -0
  491. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/mutations/main.py +0 -0
  492. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/mutations/menu.py +0 -0
  493. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/mutations/models.py +0 -0
  494. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/mutations/node_getter/__init__.py +0 -0
  495. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/mutations/node_getter/by_default_filter.py +0 -0
  496. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/mutations/node_getter/by_hfid.py +0 -0
  497. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/mutations/node_getter/by_id.py +0 -0
  498. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/mutations/node_getter/interface.py +0 -0
  499. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/mutations/proposed_change.py +0 -0
  500. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/mutations/repository.py +0 -0
  501. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/mutations/resource_manager.py +0 -0
  502. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/mutations/schema.py +0 -0
  503. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/mutations/tasks.py +0 -0
  504. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/mutations/webhook.py +0 -0
  505. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/parser.py +0 -0
  506. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/permissions.py +0 -0
  507. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/queries/__init__.py +0 -0
  508. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/queries/account.py +0 -0
  509. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/queries/branch.py +0 -0
  510. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/queries/diff/__init__.py +0 -0
  511. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/queries/diff/tree.py +0 -0
  512. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/queries/event.py +0 -0
  513. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/queries/internal.py +0 -0
  514. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/queries/ipam.py +0 -0
  515. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/queries/relationship.py +0 -0
  516. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/queries/resource_manager.py +0 -0
  517. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/queries/search.py +0 -0
  518. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/queries/status.py +0 -0
  519. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/queries/task.py +0 -0
  520. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/resolvers/__init__.py +0 -0
  521. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/resolvers/many_relationship.py +0 -0
  522. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/resolvers/resolver.py +0 -0
  523. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/resolvers/single_relationship.py +0 -0
  524. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/schema.py +0 -0
  525. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/subscription/__init__.py +0 -0
  526. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/subscription/events.py +0 -0
  527. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/subscription/graphql_query.py +0 -0
  528. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/types/__init__.py +0 -0
  529. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/types/attribute.py +0 -0
  530. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/types/branch.py +0 -0
  531. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/types/common.py +0 -0
  532. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/types/context.py +0 -0
  533. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/types/enums.py +0 -0
  534. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/types/event.py +0 -0
  535. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/types/interface.py +0 -0
  536. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/types/node.py +0 -0
  537. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/types/permission.py +0 -0
  538. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/types/relationship.py +0 -0
  539. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/types/standard_node.py +0 -0
  540. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/types/task.py +0 -0
  541. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/types/task_log.py +0 -0
  542. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/graphql/utils.py +0 -0
  543. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/groups/__init__.py +0 -0
  544. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/groups/ancestors.py +0 -0
  545. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/groups/models.py +0 -0
  546. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/groups/parsers.py +0 -0
  547. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/groups/tasks.py +0 -0
  548. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/helpers.py +0 -0
  549. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/lock.py +0 -0
  550. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/log.py +0 -0
  551. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/menu/__init__.py +0 -0
  552. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/menu/constants.py +0 -0
  553. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/menu/generator.py +0 -0
  554. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/menu/menu.py +0 -0
  555. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/menu/models.py +0 -0
  556. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/menu/repository.py +0 -0
  557. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/menu/utils.py +0 -0
  558. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/message_bus/__init__.py +0 -0
  559. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/message_bus/messages/__init__.py +0 -0
  560. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/message_bus/messages/git_file_get.py +0 -0
  561. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/message_bus/messages/git_repository_connectivity.py +0 -0
  562. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/message_bus/messages/refresh_git_fetch.py +0 -0
  563. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/message_bus/messages/refresh_registry_branches.py +0 -0
  564. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/message_bus/messages/refresh_registry_rebasedbranch.py +0 -0
  565. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/message_bus/messages/send_echo_request.py +0 -0
  566. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/message_bus/operations/__init__.py +0 -0
  567. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/message_bus/operations/git/__init__.py +0 -0
  568. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/message_bus/operations/git/file.py +0 -0
  569. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/message_bus/operations/git/repository.py +0 -0
  570. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/message_bus/operations/refresh/__init__.py +0 -0
  571. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/message_bus/operations/send/__init__.py +0 -0
  572. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/message_bus/operations/send/echo.py +0 -0
  573. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/message_bus/types.py +0 -0
  574. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/middleware.py +0 -0
  575. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/models.py +0 -0
  576. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/patch/__init__.py +0 -0
  577. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/patch/constants.py +0 -0
  578. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/patch/edge_adder.py +0 -0
  579. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/patch/edge_deleter.py +0 -0
  580. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/patch/edge_updater.py +0 -0
  581. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/patch/models.py +0 -0
  582. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/patch/plan_reader.py +0 -0
  583. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/patch/plan_writer.py +0 -0
  584. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/patch/queries/__init__.py +0 -0
  585. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/patch/queries/base.py +0 -0
  586. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/patch/queries/delete_duplicated_edges.py +0 -0
  587. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/patch/runner.py +0 -0
  588. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/patch/vertex_adder.py +0 -0
  589. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/patch/vertex_deleter.py +0 -0
  590. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/patch/vertex_updater.py +0 -0
  591. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/permissions/__init__.py +0 -0
  592. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/permissions/backend.py +0 -0
  593. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/permissions/constants.py +0 -0
  594. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/permissions/globals.py +0 -0
  595. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/permissions/local_backend.py +0 -0
  596. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/permissions/manager.py +0 -0
  597. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/permissions/report.py +0 -0
  598. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/permissions/types.py +0 -0
  599. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/pools/__init__.py +0 -0
  600. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/pools/address.py +0 -0
  601. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/pools/number.py +0 -0
  602. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/pools/prefix.py +0 -0
  603. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/pools/registration.py +0 -0
  604. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/prefect_server/__init__.py +0 -0
  605. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/prefect_server/app.py +0 -0
  606. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/prefect_server/database.py +0 -0
  607. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/prefect_server/events.py +0 -0
  608. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/prefect_server/models.py +0 -0
  609. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/proposed_change/__init__.py +0 -0
  610. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/proposed_change/branch_diff.py +0 -0
  611. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/proposed_change/constants.py +0 -0
  612. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/proposed_change/models.py +0 -0
  613. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/proposed_change/tasks.py +0 -0
  614. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/pytest_plugin.py +0 -0
  615. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/schema/__init__.py +0 -0
  616. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/schema/tasks.py +0 -0
  617. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/schema/triggers.py +0 -0
  618. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/serve/__init__.py +0 -0
  619. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/serve/gunicorn_config.py +0 -0
  620. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/serve/log.py +0 -0
  621. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/serve/worker.py +0 -0
  622. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/server.py +0 -0
  623. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/services/__init__.py +0 -0
  624. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/services/adapters/__init__.py +0 -0
  625. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/services/adapters/cache/__init__.py +0 -0
  626. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/services/adapters/cache/nats.py +0 -0
  627. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/services/adapters/cache/redis.py +0 -0
  628. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/services/adapters/event/__init__.py +0 -0
  629. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/services/adapters/http/__init__.py +0 -0
  630. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/services/adapters/http/httpx.py +0 -0
  631. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/services/adapters/message_bus/__init__.py +0 -0
  632. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/services/adapters/message_bus/local.py +0 -0
  633. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/services/adapters/message_bus/nats.py +0 -0
  634. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/services/adapters/message_bus/rabbitmq.py +0 -0
  635. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/services/adapters/workflow/__init__.py +0 -0
  636. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/services/adapters/workflow/local.py +0 -0
  637. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/services/adapters/workflow/worker.py +0 -0
  638. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/services/component.py +0 -0
  639. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/services/protocols.py +0 -0
  640. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/services/scheduler.py +0 -0
  641. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/storage.py +0 -0
  642. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/task_manager/__init__.py +0 -0
  643. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/task_manager/constants.py +0 -0
  644. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/task_manager/event.py +0 -0
  645. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/task_manager/models.py +0 -0
  646. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/task_manager/task.py +0 -0
  647. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/tasks/__init__.py +0 -0
  648. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/tasks/artifact.py +0 -0
  649. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/tasks/check.py +0 -0
  650. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/tasks/dummy.py +0 -0
  651. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/tasks/keepalive.py +0 -0
  652. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/tasks/recurring.py +0 -0
  653. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/tasks/registry.py +0 -0
  654. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/telemetry/__init__.py +0 -0
  655. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/telemetry/constants.py +0 -0
  656. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/telemetry/database.py +0 -0
  657. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/telemetry/models.py +0 -0
  658. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/telemetry/task_manager.py +0 -0
  659. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/telemetry/tasks.py +0 -0
  660. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/telemetry/utils.py +0 -0
  661. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/trace.py +0 -0
  662. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/transformations/__init__.py +0 -0
  663. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/transformations/constants.py +0 -0
  664. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/transformations/models.py +0 -0
  665. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/transformations/tasks.py +0 -0
  666. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/trigger/__init__.py +0 -0
  667. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/trigger/catalogue.py +0 -0
  668. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/trigger/constants.py +0 -0
  669. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/trigger/models.py +0 -0
  670. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/trigger/setup.py +0 -0
  671. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/trigger/tasks.py +0 -0
  672. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/types.py +0 -0
  673. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/utils.py +0 -0
  674. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/validators/__init__.py +0 -0
  675. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/validators/events.py +0 -0
  676. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/validators/tasks.py +0 -0
  677. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/visuals.py +0 -0
  678. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/webhook/__init__.py +0 -0
  679. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/webhook/gather.py +0 -0
  680. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/webhook/models.py +0 -0
  681. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/webhook/tasks.py +0 -0
  682. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/webhook/triggers.py +0 -0
  683. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/worker.py +0 -0
  684. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/workers/__init__.py +0 -0
  685. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/workers/infrahub_async.py +0 -0
  686. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/workers/utils.py +0 -0
  687. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/workflows/__init__.py +0 -0
  688. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/workflows/catalogue.py +0 -0
  689. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/workflows/constants.py +0 -0
  690. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/workflows/initialization.py +0 -0
  691. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/workflows/models.py +0 -0
  692. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/backend/infrahub/workflows/utils.py +0 -0
  693. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/__init__.py +0 -0
  694. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/_importer.py +0 -0
  695. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/analyzer.py +0 -0
  696. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/async_typer.py +0 -0
  697. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/batch.py +0 -0
  698. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/branch.py +0 -0
  699. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/checks.py +0 -0
  700. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/client.py +0 -0
  701. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/config.py +0 -0
  702. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/constants.py +0 -0
  703. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/context.py +0 -0
  704. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/ctl/__init__.py +0 -0
  705. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/ctl/branch.py +0 -0
  706. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/ctl/check.py +0 -0
  707. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/ctl/cli.py +0 -0
  708. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/ctl/cli_commands.py +0 -0
  709. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/ctl/client.py +0 -0
  710. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/ctl/config.py +0 -0
  711. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/ctl/exceptions.py +0 -0
  712. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/ctl/exporter.py +0 -0
  713. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/ctl/importer.py +0 -0
  714. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/ctl/menu.py +0 -0
  715. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/ctl/object.py +0 -0
  716. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/ctl/parameters.py +0 -0
  717. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/ctl/render.py +0 -0
  718. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/ctl/schema.py +0 -0
  719. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/ctl/transform.py +0 -0
  720. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/ctl/utils.py +0 -0
  721. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/ctl/validate.py +0 -0
  722. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/data.py +0 -0
  723. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/diff.py +0 -0
  724. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/exceptions.py +0 -0
  725. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/generator.py +0 -0
  726. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/graphql.py +0 -0
  727. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/groups.py +0 -0
  728. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/jinja2.py +0 -0
  729. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/node/__init__.py +0 -0
  730. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/node/attribute.py +0 -0
  731. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/node/constants.py +0 -0
  732. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/node/parsers.py +0 -0
  733. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/node/property.py +0 -0
  734. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/node/related_node.py +0 -0
  735. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/node/relationship.py +0 -0
  736. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/object_store.py +0 -0
  737. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/operation.py +0 -0
  738. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/playback.py +0 -0
  739. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/protocols.py +0 -0
  740. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/protocols_base.py +0 -0
  741. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/protocols_generator/__init__.py +0 -0
  742. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/protocols_generator/constants.py +0 -0
  743. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/protocols_generator/generator.py +0 -0
  744. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/protocols_generator/template.j2 +0 -0
  745. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/pytest_plugin/__init__.py +0 -0
  746. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/pytest_plugin/exceptions.py +0 -0
  747. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/pytest_plugin/items/__init__.py +0 -0
  748. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/pytest_plugin/items/base.py +0 -0
  749. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/pytest_plugin/items/check.py +0 -0
  750. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/pytest_plugin/items/graphql_query.py +0 -0
  751. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/pytest_plugin/items/jinja2_transform.py +0 -0
  752. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/pytest_plugin/loader.py +0 -0
  753. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/pytest_plugin/models.py +0 -0
  754. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/pytest_plugin/plugin.py +0 -0
  755. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/pytest_plugin/utils.py +0 -0
  756. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/queries.py +0 -0
  757. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/recorder.py +0 -0
  758. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/repository.py +0 -0
  759. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/schema/__init__.py +0 -0
  760. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/schema/main.py +0 -0
  761. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/schema/repository.py +0 -0
  762. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/spec/__init__.py +0 -0
  763. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/spec/menu.py +0 -0
  764. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/spec/object.py +0 -0
  765. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/store.py +0 -0
  766. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/task/__init__.py +0 -0
  767. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/task/constants.py +0 -0
  768. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/task/exceptions.py +0 -0
  769. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/task/manager.py +0 -0
  770. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/task/models.py +0 -0
  771. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/template/__init__.py +0 -0
  772. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/template/exceptions.py +0 -0
  773. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/template/filters.py +0 -0
  774. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/template/models.py +0 -0
  775. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/testing/__init__.py +0 -0
  776. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/testing/docker.py +0 -0
  777. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/testing/repository.py +0 -0
  778. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/testing/schemas/__init__.py +0 -0
  779. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/testing/schemas/animal.py +0 -0
  780. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/testing/schemas/car_person.py +0 -0
  781. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/timestamp.py +0 -0
  782. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/topological_sort.py +0 -0
  783. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/transfer/__init__.py +0 -0
  784. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/transfer/constants.py +0 -0
  785. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/transfer/exceptions.py +0 -0
  786. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/transfer/exporter/__init__.py +0 -0
  787. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/transfer/exporter/interface.py +0 -0
  788. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/transfer/exporter/json.py +0 -0
  789. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/transfer/importer/__init__.py +0 -0
  790. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/transfer/importer/interface.py +0 -0
  791. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/transfer/importer/json.py +0 -0
  792. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/transfer/schema_sorter.py +0 -0
  793. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/transforms.py +0 -0
  794. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/types.py +0 -0
  795. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_sdk/infrahub_sdk/uuidt.py +0 -0
  796. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_testcontainers/infrahub_testcontainers/__init__.py +0 -0
  797. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_testcontainers/infrahub_testcontainers/constants.py +0 -0
  798. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_testcontainers/infrahub_testcontainers/container.py +0 -0
  799. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_testcontainers/infrahub_testcontainers/docker-compose-cluster.test.yml +0 -0
  800. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_testcontainers/infrahub_testcontainers/docker-compose.test.yml +0 -0
  801. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_testcontainers/infrahub_testcontainers/haproxy.cfg +0 -0
  802. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_testcontainers/infrahub_testcontainers/helpers.py +0 -0
  803. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_testcontainers/infrahub_testcontainers/host.py +0 -0
  804. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_testcontainers/infrahub_testcontainers/measurements.py +0 -0
  805. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_testcontainers/infrahub_testcontainers/models.py +0 -0
  806. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_testcontainers/infrahub_testcontainers/performance_test.py +0 -0
  807. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_testcontainers/infrahub_testcontainers/plugin.py +0 -0
  808. {infrahub_server-1.3.0b3 → infrahub_server-1.3.0b6}/python_testcontainers/infrahub_testcontainers/prometheus.yml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: infrahub-server
3
- Version: 1.3.0b3
3
+ Version: 1.3.0b6
4
4
  Summary: Infrahub is taking a new approach to Infrastructure Management by providing a new generation of datastore to organize and control all the data that defines how an infrastructure should run.
5
5
  License: AGPL-3.0-only
6
6
  Author: OpsMill
@@ -55,7 +55,7 @@ Requires-Dist: toml (>=0.10,<0.11)
55
55
  Requires-Dist: typer (==0.12.5)
56
56
  Requires-Dist: ujson (>=5,<6)
57
57
  Requires-Dist: uvicorn[standard] (>=0.32,<0.33)
58
- Requires-Dist: whenever (==0.7.2)
58
+ Requires-Dist: whenever (==0.7.3)
59
59
  Project-URL: Documentation, https://docs.infrahub.app/
60
60
  Project-URL: Homepage, https://opsmill.com
61
61
  Project-URL: Repository, https://github.com/opsmill/infrahub
@@ -1,6 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from enum import Enum
4
+ from typing import Self
4
5
 
5
6
  from infrahub.core.constants import InfrahubKind
6
7
  from infrahub.core.schema.dropdown import DropdownChoice
@@ -9,165 +10,121 @@ from infrahub.utils import InfrahubStringEnum
9
10
 
10
11
  class NodeAction(InfrahubStringEnum):
11
12
  CREATED = "created"
12
- DELETED = "deleted"
13
13
  UPDATED = "updated"
14
14
 
15
15
 
16
- class BranchScope(Enum):
16
+ class DropdownEnum(Enum):
17
+ @classmethod
18
+ def available_types(cls) -> list[DropdownChoice]:
19
+ return [cls.__members__[member].value for member in list(cls.__members__)]
20
+
21
+ @classmethod
22
+ def from_value(cls, value: str) -> Self:
23
+ for member in cls.__members__:
24
+ if value == cls.__members__[member].value.name:
25
+ return cls.__members__[member]
26
+
27
+ raise NotImplementedError(f"The defined value {value} doesn't match a value of {cls.__class__.__name__}")
28
+
29
+
30
+ class BranchScope(DropdownEnum):
17
31
  ALL_BRANCHES = DropdownChoice(
18
32
  name="all_branches",
19
33
  label="All Branches",
20
34
  description="All branches",
21
- color="#fef08a",
35
+ color="#4cd964",
22
36
  )
23
37
  DEFAULT_BRANCH = DropdownChoice(
24
38
  name="default_branch",
25
39
  label="Default Branch",
26
40
  description="Only the default branch",
27
- color="#86efac",
41
+ color="#5ac8fa",
28
42
  )
29
43
  OTHER_BRANCHES = DropdownChoice(
30
44
  name="other_branches",
31
45
  label="Other Branches",
32
46
  description="All branches except the default branch",
33
- color="#e5e7eb",
47
+ color="#ff2d55",
34
48
  )
35
49
 
36
- @classmethod
37
- def available_types(cls) -> list[DropdownChoice]:
38
- return [cls.__members__[member].value for member in list(cls.__members__)]
39
50
 
40
- @classmethod
41
- def from_value(cls, value: str) -> BranchScope:
42
- for member in cls.__members__:
43
- if value == cls.__members__[member].value.name:
44
- return cls.__members__[member]
45
-
46
- raise NotImplementedError(f"The defined value {value} doesn't match a branch scope")
47
-
48
-
49
- class MemberAction(Enum):
51
+ class MemberAction(DropdownEnum):
50
52
  ADD_MEMBER = DropdownChoice(
51
53
  name="add_member",
52
54
  label="Add member",
53
55
  description="Add impacted member to the selected group",
54
- color="#86efac",
56
+ color="#4cd964",
55
57
  )
56
58
  REMOVE_MEMBER = DropdownChoice(
57
59
  name="remove_member",
58
60
  label="Remove member",
59
61
  description="Remove impacted member from the selected group",
60
- color="#fef08a",
62
+ color="#ff2d55",
61
63
  )
62
64
 
63
- @classmethod
64
- def available_types(cls) -> list[DropdownChoice]:
65
- return [cls.__members__[member].value for member in list(cls.__members__)]
66
-
67
- @classmethod
68
- def from_value(cls, value: str) -> MemberAction:
69
- for member in cls.__members__:
70
- if value == cls.__members__[member].value.name:
71
- return cls.__members__[member]
72
-
73
- raise NotImplementedError(f"The defined value {value} doesn't match a member action")
74
-
75
65
 
76
- class MemberUpdate(Enum):
66
+ class MemberUpdate(DropdownEnum):
77
67
  ADDED = DropdownChoice(
78
68
  name="added",
79
69
  label="Added",
80
70
  description="Trigger when members are added to this group",
81
- color="#86efac",
71
+ color="#4cd964",
82
72
  )
83
73
  REMOVED = DropdownChoice(
84
74
  name="removed",
85
75
  label="Removed",
86
76
  description="Trigger when members are removed from this group",
87
- color="#fef08a",
77
+ color="#ff2d55",
88
78
  )
89
79
 
90
- @classmethod
91
- def available_types(cls) -> list[DropdownChoice]:
92
- return [cls.__members__[member].value for member in list(cls.__members__)]
93
-
94
- @classmethod
95
- def from_value(cls, value: str) -> MemberUpdate:
96
- for member in cls.__members__:
97
- if value == cls.__members__[member].value.name:
98
- return cls.__members__[member]
99
80
 
100
- raise NotImplementedError(f"The defined value {value} doesn't match a MemberUpdate")
101
-
102
-
103
- class RelationshipMatch(Enum):
81
+ class RelationshipMatch(DropdownEnum):
104
82
  ADDED = DropdownChoice(
105
83
  name="added",
106
84
  label="Added",
107
85
  description="Check if the selected relationship was added",
108
- color="#86efac",
86
+ color="#4cd964",
109
87
  )
110
88
  REMOVED = DropdownChoice(
111
89
  name="removed",
112
90
  label="Removed",
113
91
  description="Check if the selected relationship was removed",
114
- color="#fef08a",
92
+ color="#ff2d55",
115
93
  )
116
94
  UPDATED = DropdownChoice(
117
95
  name="updated",
118
96
  label="Updated",
119
97
  description="Check if the selected relationship was updated, added or removed.",
120
- color="#e5e7eb",
98
+ color="#5ac8fa",
121
99
  )
122
100
 
123
- @classmethod
124
- def available_types(cls) -> list[DropdownChoice]:
125
- return [cls.__members__[member].value for member in list(cls.__members__)]
126
-
127
- @classmethod
128
- def from_value(cls, value: str) -> RelationshipMatch:
129
- for member in cls.__members__:
130
- if value == cls.__members__[member].value.name:
131
- return cls.__members__[member]
132
-
133
- raise NotImplementedError(f"The defined value {value} doesn't match a RelationshipMatch")
134
101
 
135
-
136
- class ValueMatch(Enum):
102
+ class ValueMatch(DropdownEnum):
137
103
  VALUE = DropdownChoice(
138
104
  name="value",
139
105
  label="Value",
140
106
  description="Match against the current value",
141
- color="#fef08a",
107
+ color="#4cd964",
142
108
  )
143
109
  VALUE_PREVIOUS = DropdownChoice(
144
110
  name="value_previous",
145
111
  label="Value Previous",
146
112
  description="Match against the previous value",
147
- color="#86efac",
113
+ color="#ff2d55",
148
114
  )
149
115
  VALUE_FULL = DropdownChoice(
150
116
  name="value_full",
151
117
  label="Full value match",
152
118
  description="Match against both the current and previous values",
153
- color="#e5e7eb",
119
+ color="#5ac8fa",
154
120
  )
155
121
 
156
- @classmethod
157
- def available_types(cls) -> list[DropdownChoice]:
158
- return [cls.__members__[member].value for member in list(cls.__members__)]
159
-
160
- @classmethod
161
- def from_value(cls, value: str) -> ValueMatch:
162
- for member in cls.__members__:
163
- if value == cls.__members__[member].value.name:
164
- return cls.__members__[member]
165
-
166
- raise NotImplementedError(f"The defined value {value} doesn't match a ValueMatch")
167
-
168
122
 
169
123
  NODES_THAT_TRIGGER_ACTION_RULES_SETUP = [
124
+ InfrahubKind.GENERATORACTION,
170
125
  InfrahubKind.GROUPACTION,
171
126
  InfrahubKind.GROUPTRIGGERRULE,
172
127
  InfrahubKind.NODETRIGGERRULE,
128
+ InfrahubKind.NODETRIGGERATTRIBUTEMATCH,
129
+ InfrahubKind.NODETRIGGERRELATIONSHIPMATCH,
173
130
  ]
@@ -271,6 +271,7 @@ core_node_trigger_attribute_match = NodeSchema(
271
271
  branch=BranchSupportType.AGNOSTIC,
272
272
  generate_profile=False,
273
273
  inherit_from=["CoreNodeTriggerMatch"],
274
+ display_labels=["attribute_name__value"],
274
275
  attributes=[
275
276
  Attr(
276
277
  name="attribute_name",
@@ -319,6 +320,7 @@ core_node_trigger_relationship_match = NodeSchema(
319
320
  branch=BranchSupportType.AGNOSTIC,
320
321
  generate_profile=False,
321
322
  inherit_from=["CoreNodeTriggerMatch"],
323
+ display_labels=["relationship_name__value", "modification_type__value"],
322
324
  attributes=[
323
325
  Attr(
324
326
  name="relationship_name",
@@ -38,4 +38,6 @@ class NodeConstraintRunner:
38
38
  relationship_manager: RelationshipManager = getattr(node, relationship_name)
39
39
  await relationship_manager.fetch_relationship_ids(db=db, force_refresh=True)
40
40
  for relationship_constraint in self.relationship_manager_constraints:
41
- await relationship_constraint.check(relm=relationship_manager, node_schema=node.get_schema())
41
+ await relationship_constraint.check(
42
+ relm=relationship_manager, node_schema=node.get_schema(), node=node
43
+ )
@@ -101,6 +101,8 @@ async def convert_object_type(
101
101
  deleted_node_out_rels_peer_ids = await get_out_rels_peers_ids(node=node, db=dbt)
102
102
  deleted_node_unidir_rels_peer_ids = await get_unidirectional_rels_peers_ids(node=node, db=dbt, branch=branch)
103
103
 
104
+ # Delete the node, so we delete relationships with peers as well, which might temporarily break cardinality constraints
105
+ # but they should be restored when creating the new node.
104
106
  deleted_nodes = await NodeManager.delete(db=dbt, branch=branch, nodes=[node], cascade_delete=False)
105
107
  if len(deleted_nodes) != 1:
106
108
  raise ValueError(f"Deleted {len(deleted_nodes)} nodes instead of 1")
@@ -9,17 +9,21 @@ class EnrichedDiffDeleteQuery(Query):
9
9
  type = QueryType.WRITE
10
10
  insert_return = False
11
11
 
12
- def __init__(self, enriched_diff_root_uuids: list[str], **kwargs: Any) -> None:
12
+ def __init__(self, enriched_diff_root_uuids: list[str] | None = None, **kwargs: Any) -> None:
13
13
  super().__init__(**kwargs)
14
14
  self.enriched_diff_root_uuids = enriched_diff_root_uuids
15
15
 
16
16
  async def query_init(self, db: InfrahubDatabase, **kwargs: Any) -> None: # noqa: ARG002
17
- self.params = {"diff_root_uuids": self.enriched_diff_root_uuids}
17
+ diff_filter = ""
18
+ if self.enriched_diff_root_uuids:
19
+ self.params = {"diff_root_uuids": self.enriched_diff_root_uuids}
20
+ diff_filter = "WHERE d_root.uuid IN $diff_root_uuids"
21
+
18
22
  query = """
19
23
  MATCH (d_root:DiffRoot)
20
- WHERE d_root.uuid IN $diff_root_uuids
24
+ %(diff_filter)s
21
25
  OPTIONAL MATCH (d_root)-[*]->(diff_thing)
22
26
  DETACH DELETE diff_thing
23
27
  DETACH DELETE d_root
24
- """
28
+ """ % {"diff_filter": diff_filter}
25
29
  self.add_to_query(query=query)
@@ -377,6 +377,10 @@ class DiffRepository:
377
377
  await query.execute(db=self.db)
378
378
  return query.get_summary()
379
379
 
380
+ async def delete_all_diff_roots(self) -> None:
381
+ query = await EnrichedDiffDeleteQuery.init(db=self.db)
382
+ await query.execute(db=self.db)
383
+
380
384
  async def delete_diff_roots(self, diff_root_uuids: list[str]) -> None:
381
385
  query = await EnrichedDiffDeleteQuery.init(db=self.db, enriched_diff_root_uuids=diff_root_uuids)
382
386
  await query.execute(db=self.db)
@@ -31,6 +31,5 @@ class Migration015(ArbitraryMigration):
31
31
  component_registry = get_component_registry()
32
32
  diff_repo = await component_registry.get_component(DiffRepository, db=db, branch=default_branch)
33
33
 
34
- diff_roots = await diff_repo.get_roots_metadata()
35
- await diff_repo.delete_diff_roots(diff_root_uuids=[d.uuid for d in diff_roots])
34
+ await diff_repo.delete_all_diff_roots()
36
35
  return MigrationResult()
@@ -31,6 +31,5 @@ class Migration016(ArbitraryMigration):
31
31
  component_registry = get_component_registry()
32
32
  diff_repo = await component_registry.get_component(DiffRepository, db=db, branch=default_branch)
33
33
 
34
- diff_roots = await diff_repo.get_roots_metadata()
35
- await diff_repo.delete_diff_roots(diff_root_uuids=[d.uuid for d in diff_roots])
34
+ await diff_repo.delete_all_diff_roots()
36
35
  return MigrationResult()
@@ -33,6 +33,5 @@ class Migration028(ArbitraryMigration):
33
33
  component_registry = get_component_registry()
34
34
  diff_repo = await component_registry.get_component(DiffRepository, db=db, branch=default_branch)
35
35
 
36
- diff_roots = await diff_repo.get_roots_metadata()
37
- await diff_repo.delete_diff_roots(diff_root_uuids=[d.uuid for d in diff_roots])
36
+ await diff_repo.delete_all_diff_roots()
38
37
  return MigrationResult()
@@ -7,6 +7,7 @@ from infrahub_sdk.template import Jinja2Template
7
7
  from infrahub_sdk.utils import is_valid_uuid
8
8
  from infrahub_sdk.uuidt import UUIDT
9
9
 
10
+ from infrahub import lock
10
11
  from infrahub.core import registry
11
12
  from infrahub.core.changelog.models import NodeChangelog
12
13
  from infrahub.core.constants import (
@@ -34,6 +35,7 @@ from infrahub.core.schema import (
34
35
  from infrahub.core.schema.attribute_parameters import NumberPoolParameters
35
36
  from infrahub.core.timestamp import Timestamp
36
37
  from infrahub.exceptions import InitializationError, NodeNotFoundError, PoolExhaustedError, ValidationError
38
+ from infrahub.pools.models import NumberPoolLockDefinition
37
39
  from infrahub.types import ATTRIBUTE_TYPES
38
40
 
39
41
  from ...graphql.constants import KIND_GRAPHQL_FIELD_NAME
@@ -271,7 +273,7 @@ class Node(BaseNode, metaclass=BaseNodeMeta):
271
273
  )
272
274
  except NodeNotFoundError:
273
275
  if number_pool_parameters:
274
- number_pool = await self._create_number_pool(
276
+ number_pool = await self._fetch_or_create_number_pool(
275
277
  db=db, attribute=attribute, number_pool_parameters=number_pool_parameters
276
278
  )
277
279
 
@@ -306,35 +308,49 @@ class Node(BaseNode, metaclass=BaseNodeMeta):
306
308
  )
307
309
  )
308
310
 
309
- async def _create_number_pool(
311
+ async def _fetch_or_create_number_pool(
310
312
  self, db: InfrahubDatabase, attribute: BaseAttribute, number_pool_parameters: NumberPoolParameters
311
313
  ) -> CoreNumberPool:
312
- schema = db.schema.get_node_schema(name="CoreNumberPool", duplicate=False)
313
-
314
- pool_node = self._schema.kind
315
- schema_attribute = self._schema.get_attribute(attribute.schema.name)
316
- if schema_attribute.inherited:
317
- for generic_name in self._schema.inherit_from:
318
- generic_node = db.schema.get_generic_schema(name=generic_name, duplicate=False)
319
- if attribute.schema.name in generic_node.attribute_names:
320
- pool_node = generic_node.kind
321
- break
322
-
323
- number_pool = await Node.init(db=db, schema=schema, branch=self._branch)
324
- await number_pool.new(
325
- db=db,
326
- id=number_pool_parameters.number_pool_id,
327
- name=f"{pool_node}.{attribute.schema.name} [{number_pool_parameters.number_pool_id}]",
328
- node=pool_node,
329
- node_attribute=attribute.schema.name,
330
- start_range=number_pool_parameters.start_range,
331
- end_range=number_pool_parameters.end_range,
332
- pool_type=NumberPoolType.SCHEMA.value,
333
- )
334
- await number_pool.save(db=db)
314
+ number_pool_from_db: CoreNumberPool | None = None
315
+ lock_definition = NumberPoolLockDefinition(pool_id=str(number_pool_parameters.number_pool_id))
316
+ async with lock.registry.get(
317
+ name=lock_definition.lock_name, namespace=lock_definition.namespace_name, local=False
318
+ ):
319
+ try:
320
+ number_pool_from_db = await registry.manager.get_one_by_id_or_default_filter(
321
+ db=db, id=str(number_pool_parameters.number_pool_id), kind=CoreNumberPool
322
+ )
323
+ except NodeNotFoundError:
324
+ schema = db.schema.get_node_schema(name="CoreNumberPool", duplicate=False)
325
+
326
+ pool_node = self._schema.kind
327
+ schema_attribute = self._schema.get_attribute(attribute.schema.name)
328
+ if schema_attribute.inherited:
329
+ for generic_name in self._schema.inherit_from:
330
+ generic_node = db.schema.get_generic_schema(name=generic_name, duplicate=False)
331
+ if attribute.schema.name in generic_node.attribute_names:
332
+ pool_node = generic_node.kind
333
+ break
334
+
335
+ number_pool = await Node.init(db=db, schema=schema, branch=self._branch)
336
+ await number_pool.new(
337
+ db=db,
338
+ id=number_pool_parameters.number_pool_id,
339
+ name=f"{pool_node}.{attribute.schema.name} [{number_pool_parameters.number_pool_id}]",
340
+ node=pool_node,
341
+ node_attribute=attribute.schema.name,
342
+ start_range=number_pool_parameters.start_range,
343
+ end_range=number_pool_parameters.end_range,
344
+ pool_type=NumberPoolType.SCHEMA.value,
345
+ )
346
+ await number_pool.save(db=db)
347
+
335
348
  # Do a lookup of the number pool to get the correct mapped type from the registry
336
349
  # without this we don't get access to the .get_resource() method.
337
- return await registry.manager.get_one_by_id_or_default_filter(db=db, id=number_pool.id, kind=CoreNumberPool)
350
+ created_pool: CoreNumberPool = number_pool_from_db or await registry.manager.get_one_by_id_or_default_filter(
351
+ db=db, id=number_pool.id, kind=CoreNumberPool
352
+ )
353
+ return created_pool
338
354
 
339
355
  async def handle_object_template(self, fields: dict, db: InfrahubDatabase, errors: list) -> None:
340
356
  """Fill the `fields` parameters with values from an object template if one is in use."""
@@ -541,17 +557,21 @@ class Node(BaseNode, metaclass=BaseNodeMeta):
541
557
  relationship_attribute: RelationshipManager = getattr(
542
558
  self, attribute_path.active_relationship_schema.name
543
559
  )
544
- peer = await relationship_attribute.get_peer(db=db, raise_on_error=True)
545
-
546
- related_node = await registry.manager.get_one_by_id_or_default_filter(
547
- db=db, id=peer.id, kind=attribute_path.active_relationship_schema.peer, branch=self._branch.name
548
- )
560
+ if peer := await relationship_attribute.get_peer(db=db, raise_on_error=False):
561
+ related_node = await registry.manager.get_one_by_id_or_default_filter(
562
+ db=db,
563
+ id=peer.id,
564
+ kind=attribute_path.active_relationship_schema.peer,
565
+ branch=self._branch.name,
566
+ )
549
567
 
550
- attribute: BaseAttribute = getattr(
551
- getattr(related_node, attribute_path.active_attribute_schema.name),
552
- attribute_path.active_attribute_property_name,
553
- )
554
- variables[variable] = attribute
568
+ attribute: BaseAttribute = getattr(
569
+ getattr(related_node, attribute_path.active_attribute_schema.name),
570
+ attribute_path.active_attribute_property_name,
571
+ )
572
+ variables[variable] = attribute
573
+ else:
574
+ variables[variable] = None
555
575
 
556
576
  elif attribute_path.is_type_attribute:
557
577
  attribute = getattr(
@@ -962,3 +982,12 @@ class Node(BaseNode, metaclass=BaseNodeMeta):
962
982
  for name in self._relationships:
963
983
  relm: RelationshipManager = getattr(self, name)
964
984
  relm.validate()
985
+
986
+ async def get_parent_relationship_peer(self, db: InfrahubDatabase, name: str) -> Node | None:
987
+ """When a node has a parent relationship of a given name, this method returns the peer of that relationship."""
988
+ relationship = self.get_schema().get_relationship(name=name)
989
+ if relationship.kind != RelationshipKind.PARENT:
990
+ raise ValueError(f"Relationship '{name}' is not of kind 'parent'")
991
+
992
+ relm: RelationshipManager = getattr(self, name)
993
+ return await relm.get_peer(db=db)
@@ -63,6 +63,20 @@ class DataPath(InfrahubPath):
63
63
  peer_id: str | None = Field(default=None, description="")
64
64
  value: Any | None = Field(default=None, description="Optional value of the resource")
65
65
 
66
+ def __hash__(self) -> int:
67
+ return hash(
68
+ (
69
+ self.branch,
70
+ self.path_type,
71
+ self.node_id,
72
+ self.kind,
73
+ self.field_name,
74
+ self.property_name,
75
+ self.peer_id,
76
+ str(self.value),
77
+ )
78
+ )
79
+
66
80
  @property
67
81
  def resource_type(self) -> PathResourceType:
68
82
  return PathResourceType.DATA
@@ -3,6 +3,7 @@ from dataclasses import dataclass
3
3
  from infrahub.core import registry
4
4
  from infrahub.core.branch import Branch
5
5
  from infrahub.core.constants import RelationshipCardinality, RelationshipDirection
6
+ from infrahub.core.node import Node
6
7
  from infrahub.core.query.relationship import RelationshipCountPerNodeQuery
7
8
  from infrahub.core.schema import MainSchemaTypes
8
9
  from infrahub.database import InfrahubDatabase
@@ -25,7 +26,7 @@ class RelationshipCountConstraint(RelationshipManagerConstraintInterface):
25
26
  self.db = db
26
27
  self.branch = branch
27
28
 
28
- async def check(self, relm: RelationshipManager, node_schema: MainSchemaTypes) -> None: # noqa: ARG002
29
+ async def check(self, relm: RelationshipManager, node_schema: MainSchemaTypes, node: Node) -> None: # noqa: ARG002
29
30
  branch = await registry.get_branch(db=self.db) if not self.branch else self.branch
30
31
 
31
32
  # NOTE adding resolve here because we need to retrieve the real ID
@@ -63,7 +64,7 @@ class RelationshipCountConstraint(RelationshipManagerConstraintInterface):
63
64
 
64
65
  query = await RelationshipCountPerNodeQuery.init(
65
66
  db=self.db,
66
- node_ids=[node.uuid for node in nodes_to_validate],
67
+ node_ids=[n.uuid for n in nodes_to_validate],
67
68
  identifier=relm.schema.identifier,
68
69
  direction=relm.schema.direction.neighbor_direction,
69
70
  branch=branch,
@@ -74,14 +75,14 @@ class RelationshipCountConstraint(RelationshipManagerConstraintInterface):
74
75
  # Need to adjust the number based on what we will add / remove
75
76
  # +1 for max_count
76
77
  # -1 for min_count
77
- for node in nodes_to_validate:
78
- if node.max_count and count_per_peer[node.uuid] + 1 > node.max_count:
78
+ for node_to_validate in nodes_to_validate:
79
+ if node_to_validate.max_count and count_per_peer[node_to_validate.uuid] + 1 > node_to_validate.max_count:
79
80
  raise ValidationError(
80
- f"Node {node.uuid} has {count_per_peer[node.uuid] + 1} peers "
81
- f"for {relm.schema.identifier}, maximum of {node.max_count} allowed",
81
+ f"Node {node_to_validate.uuid} has {count_per_peer[node_to_validate.uuid] + 1} peers "
82
+ f"for {relm.schema.identifier}, maximum of {node_to_validate.max_count} allowed",
82
83
  )
83
- if node.min_count and count_per_peer[node.uuid] - 1 < node.min_count:
84
+ if node_to_validate.min_count and count_per_peer[node_to_validate.uuid] - 1 < node_to_validate.min_count:
84
85
  raise ValidationError(
85
- f"Node {node.uuid} has {count_per_peer[node.uuid] - 1} peers "
86
- f"for {relm.schema.identifier}, no fewer than {node.min_count} allowed",
86
+ f"Node {node_to_validate.uuid} has {count_per_peer[node_to_validate.uuid] - 1} peers "
87
+ f"for {relm.schema.identifier}, no fewer than {node_to_validate.min_count} allowed",
87
88
  )
@@ -1,5 +1,6 @@
1
1
  from abc import ABC, abstractmethod
2
2
 
3
+ from infrahub.core.node import Node
3
4
  from infrahub.core.schema import MainSchemaTypes
4
5
 
5
6
  from ..model import RelationshipManager
@@ -7,4 +8,4 @@ from ..model import RelationshipManager
7
8
 
8
9
  class RelationshipManagerConstraintInterface(ABC):
9
10
  @abstractmethod
10
- async def check(self, relm: RelationshipManager, node_schema: MainSchemaTypes) -> None: ...
11
+ async def check(self, relm: RelationshipManager, node_schema: MainSchemaTypes, node: Node) -> None: ...
@@ -3,6 +3,7 @@ from dataclasses import dataclass
3
3
  from infrahub.core import registry
4
4
  from infrahub.core.branch import Branch
5
5
  from infrahub.core.constants import RelationshipCardinality
6
+ from infrahub.core.node import Node
6
7
  from infrahub.core.query.node import NodeListGetInfoQuery
7
8
  from infrahub.core.schema import MainSchemaTypes
8
9
  from infrahub.core.schema.generic_schema import GenericSchema
@@ -26,7 +27,7 @@ class RelationshipPeerKindConstraint(RelationshipManagerConstraintInterface):
26
27
  self.db = db
27
28
  self.branch = branch
28
29
 
29
- async def check(self, relm: RelationshipManager, node_schema: MainSchemaTypes) -> None: # noqa: ARG002
30
+ async def check(self, relm: RelationshipManager, node_schema: MainSchemaTypes, node: Node) -> None: # noqa: ARG002
30
31
  branch = await registry.get_branch(db=self.db) if not self.branch else self.branch
31
32
  peer_schema = registry.schema.get(name=relm.schema.peer, branch=branch, duplicate=False)
32
33
  if isinstance(peer_schema, GenericSchema):
@@ -0,0 +1,56 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import TYPE_CHECKING, Mapping
4
+
5
+ from infrahub.exceptions import ValidationError
6
+
7
+ from .interface import RelationshipManagerConstraintInterface
8
+
9
+ if TYPE_CHECKING:
10
+ from infrahub.core.branch import Branch
11
+ from infrahub.core.node import Node
12
+ from infrahub.core.schema import MainSchemaTypes
13
+ from infrahub.database import InfrahubDatabase
14
+
15
+ from ..model import RelationshipManager
16
+
17
+
18
+ class RelationshipPeerParentConstraint(RelationshipManagerConstraintInterface):
19
+ def __init__(self, db: InfrahubDatabase, branch: Branch | None = None):
20
+ self.db = db
21
+ self.branch = branch
22
+
23
+ async def _check_relationship_peers_parent(
24
+ self, relm: RelationshipManager, parent_rel_name: str, node: Node, peers: Mapping[str, Node]
25
+ ) -> None:
26
+ """Validate that all peers of a given `relm` have the same parent for the given `relationship_name`."""
27
+ node_parent = await node.get_parent_relationship_peer(db=self.db, name=parent_rel_name)
28
+ if not node_parent:
29
+ # If the schema is properly validated we are not expecting this to happen
30
+ raise ValidationError(f"Node {node.id} ({node.get_kind()}) does not have a parent peer")
31
+
32
+ parents: set[str] = {node_parent.id}
33
+ for peer in peers.values():
34
+ parent = await peer.get_parent_relationship_peer(db=self.db, name=parent_rel_name)
35
+ if not parent:
36
+ # If the schema is properly validated we are not expecting this to happen
37
+ raise ValidationError(f"Peer {peer.id} ({peer.get_kind()}) does not have a parent peer")
38
+ parents.add(parent.id)
39
+
40
+ if len(parents) != 1:
41
+ raise ValidationError(
42
+ f"All the elements of the '{relm.name}' relationship on node {node.id} ({node.get_kind()}) must have the same parent "
43
+ "as the node"
44
+ )
45
+
46
+ async def check(self, relm: RelationshipManager, node_schema: MainSchemaTypes, node: Node) -> None: # noqa: ARG002
47
+ if not relm.schema.common_parent:
48
+ return
49
+
50
+ peers = await relm.get_peers(db=self.db)
51
+ if not peers:
52
+ return
53
+
54
+ await self._check_relationship_peers_parent(
55
+ relm=relm, parent_rel_name=relm.schema.common_parent, node=node, peers=peers
56
+ )
@@ -58,7 +58,7 @@ class RelationshipPeerRelativesConstraint(RelationshipManagerConstraintInterface
58
58
  f"for their '{node.schema.kind}.{relationship_name}' relationship"
59
59
  )
60
60
 
61
- async def check(self, relm: RelationshipManager, node_schema: MainSchemaTypes) -> None:
61
+ async def check(self, relm: RelationshipManager, node_schema: MainSchemaTypes, node: Node) -> None: # noqa: ARG002
62
62
  if relm.schema.cardinality != RelationshipCardinality.MANY or not relm.schema.common_relatives:
63
63
  return
64
64
 
@@ -23,7 +23,7 @@ class RelationshipProfilesKindConstraint(RelationshipManagerConstraintInterface)
23
23
  self.branch = branch
24
24
  self.schema_branch = registry.schema.get_schema_branch(branch.name if branch else registry.default_branch)
25
25
 
26
- async def check(self, relm: RelationshipManager, node_schema: MainSchemaTypes) -> None:
26
+ async def check(self, relm: RelationshipManager, node_schema: MainSchemaTypes, node: Node) -> None: # noqa: ARG002
27
27
  if relm.name != "profiles" or not isinstance(node_schema, NodeSchema):
28
28
  return
29
29