infrahub-server 1.1.6__py3-none-any.whl → 1.2.0rc0__py3-none-any.whl

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 (346) hide show
  1. infrahub/api/artifact.py +16 -4
  2. infrahub/api/dependencies.py +8 -0
  3. infrahub/api/oauth2.py +0 -1
  4. infrahub/api/oidc.py +0 -1
  5. infrahub/api/query.py +18 -7
  6. infrahub/api/schema.py +32 -6
  7. infrahub/api/transformation.py +12 -5
  8. infrahub/{message_bus/messages/check_artifact_create.py → artifacts/models.py} +2 -4
  9. infrahub/{message_bus/operations/check/artifact.py → artifacts/tasks.py} +26 -25
  10. infrahub/cli/__init__.py +0 -2
  11. infrahub/cli/db.py +6 -7
  12. infrahub/cli/events.py +8 -3
  13. infrahub/cli/git_agent.py +9 -7
  14. infrahub/cli/tasks.py +4 -6
  15. infrahub/computed_attribute/tasks.py +63 -17
  16. infrahub/computed_attribute/triggers.py +90 -0
  17. infrahub/config.py +1 -1
  18. infrahub/context.py +39 -0
  19. infrahub/core/account.py +5 -8
  20. infrahub/core/attribute.py +53 -21
  21. infrahub/core/branch/models.py +4 -4
  22. infrahub/core/branch/tasks.py +89 -130
  23. infrahub/core/changelog/__init__.py +0 -0
  24. infrahub/core/changelog/diff.py +232 -0
  25. infrahub/core/changelog/models.py +488 -0
  26. infrahub/core/constants/__init__.py +19 -2
  27. infrahub/core/constants/infrahubkind.py +1 -0
  28. infrahub/core/diff/combiner.py +12 -8
  29. infrahub/core/diff/coordinator.py +49 -70
  30. infrahub/core/diff/data_check_synchronizer.py +86 -7
  31. infrahub/core/diff/enricher/aggregated.py +3 -3
  32. infrahub/core/diff/enricher/cardinality_one.py +2 -7
  33. infrahub/core/diff/enricher/hierarchy.py +5 -3
  34. infrahub/core/diff/enricher/labels.py +14 -4
  35. infrahub/core/diff/enricher/path_identifier.py +3 -9
  36. infrahub/core/diff/enricher/summary_counts.py +3 -1
  37. infrahub/core/diff/merger/merger.py +8 -4
  38. infrahub/core/diff/model/path.py +47 -29
  39. infrahub/core/diff/query/all_conflicts.py +6 -3
  40. infrahub/core/diff/query/artifact.py +1 -1
  41. infrahub/core/diff/query/delete_query.py +1 -1
  42. infrahub/core/diff/query/diff_get.py +3 -2
  43. infrahub/core/diff/query/diff_summary.py +1 -1
  44. infrahub/core/diff/query/field_specifiers.py +3 -1
  45. infrahub/core/diff/query/field_summary.py +3 -2
  46. infrahub/core/diff/query/filters.py +12 -1
  47. infrahub/core/diff/query/get_conflict_query.py +1 -1
  48. infrahub/core/diff/query/has_conflicts_query.py +6 -3
  49. infrahub/core/diff/query/merge.py +3 -3
  50. infrahub/core/diff/query/{drop_tracking_id.py → merge_tracking_id.py} +4 -4
  51. infrahub/core/diff/query/roots_metadata.py +9 -2
  52. infrahub/core/diff/query/save.py +151 -66
  53. infrahub/core/diff/query/summary_counts_enricher.py +220 -0
  54. infrahub/core/diff/query/time_range_query.py +3 -2
  55. infrahub/core/diff/query/update_conflict_query.py +1 -1
  56. infrahub/core/diff/query_parser.py +49 -24
  57. infrahub/core/diff/repository/deserializer.py +24 -25
  58. infrahub/core/diff/repository/repository.py +76 -20
  59. infrahub/core/diff/tasks.py +9 -8
  60. infrahub/core/enums.py +1 -1
  61. infrahub/core/integrity/object_conflict/conflict_recorder.py +1 -1
  62. infrahub/core/ipam/reconciler.py +1 -1
  63. infrahub/core/ipam/tasks.py +2 -3
  64. infrahub/core/manager.py +18 -13
  65. infrahub/core/merge.py +5 -2
  66. infrahub/core/migrations/graph/m001_add_version_to_graph.py +1 -1
  67. infrahub/core/migrations/graph/m002_attribute_is_default.py +2 -2
  68. infrahub/core/migrations/graph/m003_relationship_parent_optional.py +2 -2
  69. infrahub/core/migrations/graph/m004_add_attr_documentation.py +1 -1
  70. infrahub/core/migrations/graph/m005_add_rel_read_only.py +1 -1
  71. infrahub/core/migrations/graph/m006_add_rel_on_delete.py +1 -1
  72. infrahub/core/migrations/graph/m007_add_rel_allow_override.py +1 -1
  73. infrahub/core/migrations/graph/m008_add_human_friendly_id.py +1 -1
  74. infrahub/core/migrations/graph/m009_add_generate_profile_attr.py +1 -1
  75. infrahub/core/migrations/graph/m010_add_generate_profile_attr_generic.py +1 -1
  76. infrahub/core/migrations/graph/m011_remove_profile_relationship_schema.py +2 -2
  77. infrahub/core/migrations/graph/m012_convert_account_generic.py +12 -23
  78. infrahub/core/migrations/graph/m013_convert_git_password_credential.py +7 -11
  79. infrahub/core/migrations/graph/m014_remove_index_attr_value.py +2 -2
  80. infrahub/core/migrations/graph/m015_diff_format_update.py +1 -1
  81. infrahub/core/migrations/graph/m016_diff_delete_bug_fix.py +1 -1
  82. infrahub/core/migrations/graph/m017_add_core_profile.py +1 -1
  83. infrahub/core/migrations/graph/m018_uniqueness_nulls.py +2 -2
  84. infrahub/core/migrations/query/attribute_add.py +1 -1
  85. infrahub/core/migrations/query/attribute_rename.py +1 -1
  86. infrahub/core/migrations/query/delete_element_in_schema.py +1 -1
  87. infrahub/core/migrations/query/node_duplicate.py +1 -1
  88. infrahub/core/migrations/query/relationship_duplicate.py +1 -1
  89. infrahub/core/migrations/query/schema_attribute_update.py +1 -1
  90. infrahub/core/migrations/schema/node_attribute_remove.py +1 -1
  91. infrahub/core/migrations/schema/node_remove.py +1 -1
  92. infrahub/core/migrations/schema/tasks.py +5 -5
  93. infrahub/core/migrations/shared.py +4 -4
  94. infrahub/core/models.py +7 -8
  95. infrahub/core/node/__init__.py +161 -40
  96. infrahub/core/node/base.py +1 -1
  97. infrahub/core/node/constraints/grouped_uniqueness.py +9 -2
  98. infrahub/core/node/delete_validator.py +4 -4
  99. infrahub/core/node/ipam.py +13 -8
  100. infrahub/core/node/permissions.py +4 -0
  101. infrahub/core/node/resource_manager/ip_prefix_pool.py +8 -5
  102. infrahub/core/node/standard.py +3 -5
  103. infrahub/core/property.py +1 -1
  104. infrahub/core/protocols.py +4 -0
  105. infrahub/core/protocols_base.py +4 -2
  106. infrahub/core/query/__init__.py +2 -5
  107. infrahub/core/query/attribute.py +9 -9
  108. infrahub/core/query/branch.py +5 -5
  109. infrahub/core/query/delete.py +1 -1
  110. infrahub/core/query/diff.py +45 -7
  111. infrahub/core/query/ipam.py +4 -4
  112. infrahub/core/query/node.py +19 -14
  113. infrahub/core/query/relationship.py +10 -11
  114. infrahub/core/query/resource_manager.py +13 -11
  115. infrahub/core/query/standard_node.py +6 -6
  116. infrahub/core/query/task.py +3 -3
  117. infrahub/core/query/task_log.py +1 -1
  118. infrahub/core/query/utils.py +5 -5
  119. infrahub/core/registry.py +0 -2
  120. infrahub/core/relationship/constraints/count.py +1 -1
  121. infrahub/core/relationship/constraints/peer_kind.py +1 -1
  122. infrahub/core/relationship/model.py +66 -26
  123. infrahub/core/schema/__init__.py +6 -4
  124. infrahub/core/schema/basenode_schema.py +1 -3
  125. infrahub/core/schema/definitions/core.py +14 -2
  126. infrahub/core/schema/definitions/internal.py +16 -0
  127. infrahub/core/schema/generated/genericnode_schema.py +5 -0
  128. infrahub/core/schema/generated/node_schema.py +5 -0
  129. infrahub/core/schema/generic_schema.py +5 -1
  130. infrahub/core/schema/manager.py +45 -42
  131. infrahub/core/schema/node_schema.py +4 -0
  132. infrahub/core/schema/profile_schema.py +4 -0
  133. infrahub/core/schema/relationship_schema.py +2 -2
  134. infrahub/core/schema/schema_branch.py +248 -14
  135. infrahub/core/schema/template_schema.py +36 -0
  136. infrahub/core/task/user_task.py +7 -5
  137. infrahub/core/timestamp.py +1 -1
  138. infrahub/core/utils.py +3 -2
  139. infrahub/core/validators/attribute/choices.py +1 -1
  140. infrahub/core/validators/attribute/enum.py +1 -1
  141. infrahub/core/validators/attribute/kind.py +1 -1
  142. infrahub/core/validators/attribute/length.py +1 -1
  143. infrahub/core/validators/attribute/optional.py +1 -1
  144. infrahub/core/validators/attribute/regex.py +1 -1
  145. infrahub/core/validators/attribute/unique.py +1 -1
  146. infrahub/core/validators/checks_runner.py +37 -0
  147. infrahub/core/validators/node/generate_profile.py +1 -1
  148. infrahub/core/validators/node/hierarchy.py +1 -1
  149. infrahub/core/validators/query.py +1 -1
  150. infrahub/core/validators/relationship/count.py +1 -1
  151. infrahub/core/validators/relationship/optional.py +1 -1
  152. infrahub/core/validators/relationship/peer.py +1 -1
  153. infrahub/core/validators/tasks.py +8 -6
  154. infrahub/core/validators/uniqueness/query.py +20 -17
  155. infrahub/database/__init__.py +15 -2
  156. infrahub/database/memgraph.py +1 -1
  157. infrahub/dependencies/builder/constraint/grouped/node_runner.py +0 -2
  158. infrahub/dependencies/builder/diff/combiner.py +1 -1
  159. infrahub/dependencies/builder/diff/conflicts_enricher.py +1 -1
  160. infrahub/dependencies/builder/diff/coordinator.py +0 -2
  161. infrahub/dependencies/builder/diff/deserializer.py +1 -1
  162. infrahub/dependencies/builder/diff/enricher/summary_counts.py +1 -1
  163. infrahub/events/branch_action.py +47 -21
  164. infrahub/events/group_action.py +73 -0
  165. infrahub/events/models.py +159 -51
  166. infrahub/events/node_action.py +74 -8
  167. infrahub/events/repository_action.py +8 -8
  168. infrahub/events/schema_action.py +21 -8
  169. infrahub/generators/tasks.py +12 -13
  170. infrahub/git/base.py +3 -5
  171. infrahub/git/constants.py +0 -1
  172. infrahub/git/integrator.py +36 -35
  173. infrahub/git/repository.py +7 -8
  174. infrahub/git/tasks.py +43 -107
  175. infrahub/git_credential/helper.py +2 -3
  176. infrahub/graphql/analyzer.py +572 -11
  177. infrahub/graphql/app.py +34 -26
  178. infrahub/graphql/auth/query_permission_checker/anonymous_checker.py +5 -5
  179. infrahub/graphql/auth/query_permission_checker/default_branch_checker.py +4 -4
  180. infrahub/graphql/auth/query_permission_checker/merge_operation_checker.py +4 -4
  181. infrahub/graphql/auth/query_permission_checker/object_permission_checker.py +28 -35
  182. infrahub/graphql/auth/query_permission_checker/super_admin_checker.py +5 -5
  183. infrahub/graphql/enums.py +1 -1
  184. infrahub/graphql/initialization.py +5 -1
  185. infrahub/graphql/loaders/node.py +2 -2
  186. infrahub/graphql/manager.py +59 -54
  187. infrahub/graphql/mutations/account.py +20 -13
  188. infrahub/graphql/mutations/artifact_definition.py +16 -12
  189. infrahub/graphql/mutations/branch.py +61 -40
  190. infrahub/graphql/mutations/computed_attribute.py +19 -13
  191. infrahub/graphql/mutations/diff.py +37 -9
  192. infrahub/graphql/mutations/diff_conflict.py +9 -8
  193. infrahub/graphql/mutations/graphql_query.py +19 -11
  194. infrahub/graphql/mutations/ipam.py +21 -19
  195. infrahub/graphql/mutations/main.py +197 -44
  196. infrahub/graphql/mutations/menu.py +8 -8
  197. infrahub/graphql/mutations/proposed_change.py +36 -28
  198. infrahub/graphql/mutations/relationship.py +302 -105
  199. infrahub/graphql/mutations/repository.py +41 -35
  200. infrahub/graphql/mutations/resource_manager.py +26 -26
  201. infrahub/graphql/mutations/schema.py +51 -33
  202. infrahub/graphql/mutations/tasks.py +16 -10
  203. infrahub/graphql/parser.py +1 -1
  204. infrahub/graphql/permissions.py +6 -4
  205. infrahub/graphql/queries/account.py +22 -18
  206. infrahub/graphql/queries/branch.py +6 -4
  207. infrahub/graphql/queries/diff/tree.py +48 -42
  208. infrahub/graphql/queries/event.py +112 -0
  209. infrahub/graphql/queries/internal.py +3 -3
  210. infrahub/graphql/queries/ipam.py +23 -18
  211. infrahub/graphql/queries/relationship.py +11 -10
  212. infrahub/graphql/queries/resource_manager.py +43 -27
  213. infrahub/graphql/queries/search.py +9 -8
  214. infrahub/graphql/queries/status.py +12 -9
  215. infrahub/graphql/queries/task.py +11 -9
  216. infrahub/graphql/resolvers/resolver.py +69 -43
  217. infrahub/graphql/resolvers/single_relationship.py +16 -10
  218. infrahub/graphql/schema.py +2 -0
  219. infrahub/graphql/subscription/__init__.py +1 -1
  220. infrahub/graphql/subscription/events.py +1 -1
  221. infrahub/graphql/subscription/graphql_query.py +8 -8
  222. infrahub/graphql/types/branch.py +2 -2
  223. infrahub/graphql/types/common.py +6 -1
  224. infrahub/graphql/types/enums.py +2 -0
  225. infrahub/graphql/types/event.py +100 -0
  226. infrahub/graphql/types/interface.py +2 -2
  227. infrahub/graphql/types/node.py +3 -3
  228. infrahub/graphql/types/permission.py +2 -2
  229. infrahub/graphql/types/relationship.py +3 -3
  230. infrahub/graphql/types/standard_node.py +9 -11
  231. infrahub/graphql/utils.py +28 -182
  232. infrahub/groups/tasks.py +2 -3
  233. infrahub/lock.py +1 -1
  234. infrahub/menu/constants.py +1 -0
  235. infrahub/menu/generator.py +14 -3
  236. infrahub/menu/menu.py +116 -127
  237. infrahub/menu/models.py +4 -4
  238. infrahub/message_bus/messages/__init__.py +0 -4
  239. infrahub/message_bus/messages/event_branch_merge.py +3 -0
  240. infrahub/message_bus/messages/request_proposedchange_pipeline.py +2 -0
  241. infrahub/message_bus/operations/__init__.py +3 -5
  242. infrahub/message_bus/operations/check/__init__.py +2 -2
  243. infrahub/message_bus/operations/check/generator.py +1 -3
  244. infrahub/message_bus/operations/check/repository.py +1 -1
  245. infrahub/message_bus/operations/event/branch.py +7 -3
  246. infrahub/message_bus/operations/event/schema.py +1 -1
  247. infrahub/message_bus/operations/finalize/validator.py +1 -1
  248. infrahub/message_bus/operations/git/file.py +2 -2
  249. infrahub/message_bus/operations/git/repository.py +1 -1
  250. infrahub/message_bus/operations/requests/__init__.py +0 -2
  251. infrahub/message_bus/operations/requests/generator_definition.py +1 -1
  252. infrahub/message_bus/operations/requests/proposed_change.py +26 -11
  253. infrahub/message_bus/operations/requests/repository.py +2 -2
  254. infrahub/message_bus/operations/send/echo.py +1 -1
  255. infrahub/message_bus/types.py +1 -1
  256. infrahub/permissions/__init__.py +2 -1
  257. infrahub/permissions/types.py +26 -0
  258. infrahub/pools/prefix.py +29 -165
  259. infrahub/prefect_server/__init__.py +0 -0
  260. infrahub/prefect_server/app.py +18 -0
  261. infrahub/prefect_server/database.py +20 -0
  262. infrahub/prefect_server/events.py +28 -0
  263. infrahub/prefect_server/models.py +46 -0
  264. infrahub/proposed_change/models.py +15 -1
  265. infrahub/proposed_change/tasks.py +173 -35
  266. infrahub/pytest_plugin.py +4 -4
  267. infrahub/server.py +12 -11
  268. infrahub/services/__init__.py +147 -62
  269. infrahub/services/adapters/cache/__init__.py +7 -5
  270. infrahub/services/adapters/cache/nats.py +40 -22
  271. infrahub/services/adapters/cache/redis.py +0 -4
  272. infrahub/services/adapters/event/__init__.py +10 -18
  273. infrahub/services/adapters/http/__init__.py +0 -5
  274. infrahub/services/adapters/http/httpx.py +22 -15
  275. infrahub/services/adapters/message_bus/__init__.py +23 -6
  276. infrahub/services/adapters/message_bus/local.py +8 -6
  277. infrahub/services/adapters/message_bus/nats.py +12 -6
  278. infrahub/services/adapters/message_bus/rabbitmq.py +22 -9
  279. infrahub/services/adapters/workflow/__init__.py +11 -8
  280. infrahub/services/adapters/workflow/local.py +28 -7
  281. infrahub/services/adapters/workflow/worker.py +23 -7
  282. infrahub/services/component.py +38 -35
  283. infrahub/services/scheduler.py +32 -29
  284. infrahub/storage.py +2 -4
  285. infrahub/task_manager/constants.py +1 -1
  286. infrahub/task_manager/event.py +182 -0
  287. infrahub/task_manager/models.py +125 -1
  288. infrahub/task_manager/task.py +1 -1
  289. infrahub/tasks/artifact.py +14 -16
  290. infrahub/tasks/registry.py +1 -1
  291. infrahub/tasks/telemetry.py +13 -14
  292. infrahub/transformations/tasks.py +3 -5
  293. infrahub/trigger/__init__.py +0 -0
  294. infrahub/trigger/catalogue.py +15 -0
  295. infrahub/trigger/constants.py +9 -0
  296. infrahub/trigger/models.py +69 -0
  297. infrahub/trigger/tasks.py +85 -0
  298. infrahub/types.py +1 -1
  299. infrahub/utils.py +1 -1
  300. infrahub/webhook/constants.py +0 -2
  301. infrahub/webhook/models.py +8 -2
  302. infrahub/webhook/tasks.py +20 -73
  303. infrahub/webhook/triggers.py +20 -0
  304. infrahub/workers/infrahub_async.py +36 -25
  305. infrahub/workers/utils.py +63 -0
  306. infrahub/workflows/catalogue.py +13 -37
  307. infrahub/workflows/initialization.py +6 -8
  308. infrahub/workflows/models.py +3 -5
  309. infrahub/workflows/utils.py +1 -1
  310. infrahub_sdk/ctl/check.py +3 -3
  311. infrahub_sdk/ctl/cli_commands.py +11 -10
  312. infrahub_sdk/ctl/exceptions.py +0 -6
  313. infrahub_sdk/ctl/exporter.py +1 -1
  314. infrahub_sdk/ctl/generator.py +5 -5
  315. infrahub_sdk/ctl/importer.py +3 -2
  316. infrahub_sdk/ctl/menu.py +1 -1
  317. infrahub_sdk/ctl/object.py +1 -1
  318. infrahub_sdk/ctl/repository.py +23 -15
  319. infrahub_sdk/ctl/schema.py +2 -2
  320. infrahub_sdk/ctl/utils.py +4 -3
  321. infrahub_sdk/ctl/validate.py +2 -1
  322. infrahub_sdk/exceptions.py +6 -0
  323. infrahub_sdk/generator.py +3 -0
  324. infrahub_sdk/node.py +2 -2
  325. infrahub_sdk/schema/__init__.py +14 -2
  326. infrahub_sdk/schema/main.py +7 -0
  327. infrahub_sdk/utils.py +11 -1
  328. infrahub_sdk/yaml.py +2 -3
  329. {infrahub_server-1.1.6.dist-info → infrahub_server-1.2.0rc0.dist-info}/METADATA +46 -12
  330. {infrahub_server-1.1.6.dist-info → infrahub_server-1.2.0rc0.dist-info}/RECORD +338 -321
  331. infrahub_testcontainers/container.py +14 -6
  332. infrahub_testcontainers/docker-compose.test.yml +24 -5
  333. infrahub_testcontainers/haproxy.cfg +43 -0
  334. infrahub_testcontainers/helpers.py +85 -1
  335. infrahub/core/branch/constants.py +0 -2
  336. infrahub/graphql/query.py +0 -52
  337. infrahub/message_bus/messages/request_artifactdefinition_check.py +0 -17
  338. infrahub/message_bus/operations/requests/artifact_definition.py +0 -148
  339. infrahub/schema/constants.py +0 -1
  340. infrahub/schema/tasks.py +0 -76
  341. infrahub/services/adapters/database/__init__.py +0 -9
  342. infrahub_sdk/ctl/_file.py +0 -13
  343. /infrahub/{schema → artifacts}/__init__.py +0 -0
  344. {infrahub_server-1.1.6.dist-info → infrahub_server-1.2.0rc0.dist-info}/LICENSE.txt +0 -0
  345. {infrahub_server-1.1.6.dist-info → infrahub_server-1.2.0rc0.dist-info}/WHEEL +0 -0
  346. {infrahub_server-1.1.6.dist-info → infrahub_server-1.2.0rc0.dist-info}/entry_points.txt +0 -0
infrahub/core/manager.py CHANGED
@@ -23,7 +23,14 @@ from infrahub.core.query.node import (
23
23
  from infrahub.core.query.relationship import RelationshipGetPeerQuery
24
24
  from infrahub.core.registry import registry
25
25
  from infrahub.core.relationship import Relationship, RelationshipManager
26
- from infrahub.core.schema import GenericSchema, MainSchemaTypes, NodeSchema, ProfileSchema, RelationshipSchema
26
+ from infrahub.core.schema import (
27
+ GenericSchema,
28
+ MainSchemaTypes,
29
+ NodeSchema,
30
+ ProfileSchema,
31
+ RelationshipSchema,
32
+ TemplateSchema,
33
+ )
27
34
  from infrahub.core.timestamp import Timestamp
28
35
  from infrahub.exceptions import NodeNotFoundError, ProcessingError, SchemaNotFoundError
29
36
  from infrahub.graphql.models import OrderModel
@@ -35,8 +42,6 @@ if TYPE_CHECKING:
35
42
 
36
43
  SchemaProtocol = TypeVar("SchemaProtocol")
37
44
 
38
- # pylint: disable=redefined-builtin,too-many-lines
39
-
40
45
 
41
46
  def identify_node_class(node: NodeToProcess) -> type[Node]:
42
47
  """Identify the proper class to use to create the NodeObject.
@@ -61,7 +66,7 @@ def get_schema(
61
66
  ) -> MainSchemaTypes:
62
67
  if isinstance(node_schema, str):
63
68
  return db.schema.get(name=node_schema, branch=branch.name)
64
- if hasattr(node_schema, "_is_runtime_protocol") and getattr(node_schema, "_is_runtime_protocol"):
69
+ if hasattr(node_schema, "_is_runtime_protocol") and node_schema._is_runtime_protocol:
65
70
  return db.schema.get(name=node_schema.__name__, branch=branch.name)
66
71
  if not isinstance(node_schema, (MainSchemaTypes)):
67
72
  raise ValueError(f"Invalid schema provided {node_schema}")
@@ -129,7 +134,7 @@ class NodeManager:
129
134
  async def query(
130
135
  cls,
131
136
  db: InfrahubDatabase,
132
- schema: Union[NodeSchema, GenericSchema, ProfileSchema, str],
137
+ schema: Union[NodeSchema, GenericSchema, ProfileSchema, TemplateSchema, str],
133
138
  filters: dict | None = ...,
134
139
  fields: dict | None = ...,
135
140
  offset: int | None = ...,
@@ -267,11 +272,11 @@ class NodeManager:
267
272
  async def count(
268
273
  cls,
269
274
  db: InfrahubDatabase,
270
- schema: Union[type[SchemaProtocol], NodeSchema, GenericSchema, ProfileSchema, str],
275
+ schema: Union[type[SchemaProtocol], NodeSchema, GenericSchema, ProfileSchema, TemplateSchema, str],
271
276
  filters: Optional[dict] = None,
272
277
  at: Optional[Union[Timestamp, str]] = None,
273
278
  branch: Optional[Union[Branch, str]] = None,
274
- account=None, # pylint: disable=unused-argument
279
+ account=None, # noqa: ARG003
275
280
  partial_match: bool = False,
276
281
  branch_agnostic: bool = False,
277
282
  ) -> int:
@@ -489,7 +494,7 @@ class NodeManager:
489
494
  kind: type[SchemaProtocol],
490
495
  at: Timestamp | str | None = ...,
491
496
  branch: Branch | str | None = ...,
492
- id: str | None = ..., # pylint: disable=redefined-builtin
497
+ id: str | None = ...,
493
498
  hfid: list[str] | None = ...,
494
499
  ) -> SchemaProtocol: ...
495
500
 
@@ -501,7 +506,7 @@ class NodeManager:
501
506
  kind: str,
502
507
  at: Timestamp | str | None = ...,
503
508
  branch: Branch | str | None = ...,
504
- id: str | None = ..., # pylint: disable=redefined-builtin
509
+ id: str | None = ...,
505
510
  hfid: list[str] | None = ...,
506
511
  ) -> Any: ...
507
512
 
@@ -512,7 +517,7 @@ class NodeManager:
512
517
  kind: type[SchemaProtocol] | str,
513
518
  at: Timestamp | str | None = None,
514
519
  branch: Branch | str | None = None,
515
- id: str | None = None, # pylint: disable=redefined-builtin
520
+ id: str | None = None,
516
521
  hfid: list[str] | None = None,
517
522
  ) -> Any:
518
523
  if not id and not hfid:
@@ -802,7 +807,7 @@ class NodeManager:
802
807
  raise NodeNotFoundError(branch_name=branch.name, node_type=kind_str, identifier=hfid_str)
803
808
 
804
809
  filters = {}
805
- for key, item in zip(node_schema.human_friendly_id, hfid):
810
+ for key, item in zip(node_schema.human_friendly_id, hfid, strict=False):
806
811
  path = node_schema.parse_schema_path(path=key, schema=registry.schema.get_schema_branch(name=branch.name))
807
812
 
808
813
  if path.is_type_relationship:
@@ -1007,7 +1012,7 @@ class NodeManager:
1007
1012
  cls,
1008
1013
  id: str,
1009
1014
  db: InfrahubDatabase,
1010
- kind: Literal[None] = ...,
1015
+ kind: None = ...,
1011
1016
  raise_on_error: bool = ...,
1012
1017
  fields: dict | None = ...,
1013
1018
  at: Timestamp | str | None = ...,
@@ -1148,7 +1153,7 @@ class NodeManager:
1148
1153
 
1149
1154
  nodes: dict[str, Node] = {}
1150
1155
 
1151
- for node_id in ids: # pylint: disable=too-many-nested-blocks
1156
+ for node_id in ids:
1152
1157
  if node_id not in nodes_info_by_id:
1153
1158
  continue
1154
1159
 
infrahub/core/merge.py CHANGED
@@ -19,6 +19,7 @@ if TYPE_CHECKING:
19
19
  from infrahub.core.branch import Branch
20
20
  from infrahub.core.diff.coordinator import DiffCoordinator
21
21
  from infrahub.core.diff.merger.merger import DiffMerger
22
+ from infrahub.core.diff.model.path import EnrichedDiffRoot
22
23
  from infrahub.core.diff.repository.repository import DiffRepository
23
24
  from infrahub.core.models import SchemaUpdateConstraintInfo, SchemaUpdateMigrationInfo
24
25
  from infrahub.core.schema.manager import SchemaDiff
@@ -26,6 +27,7 @@ if TYPE_CHECKING:
26
27
  from infrahub.database import InfrahubDatabase
27
28
  from infrahub.services import InfrahubServices
28
29
 
30
+
29
31
  log = get_logger()
30
32
 
31
33
 
@@ -172,7 +174,7 @@ class BranchMerger:
172
174
  async def merge(
173
175
  self,
174
176
  at: Optional[Union[str, Timestamp]] = None,
175
- ) -> None:
177
+ ) -> EnrichedDiffRoot:
176
178
  """Merge the current branch into main."""
177
179
  if self.source_branch.name == registry.default_branch:
178
180
  raise ValidationError(f"Unable to merge the branch '{self.source_branch.name}' into itself")
@@ -198,8 +200,9 @@ class BranchMerger:
198
200
  # TODO need to find a way to properly communicate back to the user any issue that could come up during the merge
199
201
  # From the Graph or From the repositories
200
202
  self._merge_at = Timestamp(at)
201
- await self.diff_merger.merge_graph(at=self._merge_at)
203
+ branch_diff = await self.diff_merger.merge_graph(at=self._merge_at)
202
204
  await self.merge_repositories()
205
+ return branch_diff
203
206
 
204
207
  async def rollback(self) -> None:
205
208
  await self.diff_merger.rollback(at=self._merge_at)
@@ -16,7 +16,7 @@ class Migration001Query01(Query):
16
16
  name = "migration_001_01"
17
17
  type: QueryType = QueryType.WRITE
18
18
 
19
- async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None:
19
+ async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None: # noqa: ARG002
20
20
  query = """
21
21
  MATCH (root:Root)
22
22
  SET root.graph_version = 1
@@ -15,7 +15,7 @@ class Migration002Query01(Query):
15
15
  name = "migration_002_01"
16
16
  type: QueryType = QueryType.WRITE
17
17
 
18
- async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None:
18
+ async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None: # noqa: ARG002
19
19
  query = """
20
20
  MATCH (a:AttributeValue)
21
21
  WHERE a.is_default IS NULL
@@ -30,7 +30,7 @@ class Migration002(GraphMigration):
30
30
  queries: Sequence[type[Query]] = [Migration002Query01]
31
31
  minimum_version: int = 1
32
32
 
33
- async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult:
33
+ async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult: # noqa: ARG002
34
34
  result = MigrationResult()
35
35
 
36
36
  return result
@@ -16,7 +16,7 @@ class Migration003Query01(Query):
16
16
  name = "migration_003_01"
17
17
  type: QueryType = QueryType.WRITE
18
18
 
19
- async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None:
19
+ async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None: # noqa: ARG002
20
20
  at = Timestamp()
21
21
  filters, params = at.get_query_filter_path()
22
22
 
@@ -49,7 +49,7 @@ class Migration003(GraphMigration):
49
49
  queries: Sequence[type[Query]] = [Migration003Query01]
50
50
  minimum_version: int = 2
51
51
 
52
- async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult:
52
+ async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult: # noqa: ARG002
53
53
  result = MigrationResult()
54
54
 
55
55
  return result
@@ -43,6 +43,6 @@ class Migration004(InternalSchemaMigration):
43
43
  ]
44
44
  return cls(migrations=migrations, **kwargs) # type: ignore[arg-type]
45
45
 
46
- async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult:
46
+ async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult: # noqa: ARG002
47
47
  result = MigrationResult()
48
48
  return result
@@ -35,6 +35,6 @@ class Migration005(InternalSchemaMigration):
35
35
  ]
36
36
  return cls(migrations=migrations, **kwargs) # type: ignore[arg-type]
37
37
 
38
- async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult:
38
+ async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult: # noqa: ARG002
39
39
  result = MigrationResult()
40
40
  return result
@@ -35,6 +35,6 @@ class Migration006(InternalSchemaMigration):
35
35
  ]
36
36
  return cls(migrations=migrations, **kwargs) # type: ignore[arg-type]
37
37
 
38
- async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult:
38
+ async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult: # noqa: ARG002
39
39
  result = MigrationResult()
40
40
  return result
@@ -43,6 +43,6 @@ class Migration007(InternalSchemaMigration):
43
43
  ]
44
44
  return cls(migrations=migrations, **kwargs) # type: ignore[arg-type]
45
45
 
46
- async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult:
46
+ async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult: # noqa: ARG002
47
47
  result = MigrationResult()
48
48
  return result
@@ -43,6 +43,6 @@ class Migration008(InternalSchemaMigration):
43
43
  ]
44
44
  return cls(migrations=migrations, **kwargs) # type: ignore[arg-type]
45
45
 
46
- async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult:
46
+ async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult: # noqa: ARG002
47
47
  result = MigrationResult()
48
48
  return result
@@ -35,6 +35,6 @@ class Migration009(InternalSchemaMigration):
35
35
  ]
36
36
  return cls(migrations=migrations, **kwargs) # type: ignore[arg-type]
37
37
 
38
- async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult:
38
+ async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult: # noqa: ARG002
39
39
  result = MigrationResult()
40
40
  return result
@@ -35,6 +35,6 @@ class Migration010(InternalSchemaMigration):
35
35
  ]
36
36
  return cls(migrations=migrations, **kwargs) # type: ignore[arg-type]
37
37
 
38
- async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult:
38
+ async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult: # noqa: ARG002
39
39
  result = MigrationResult()
40
40
  return result
@@ -16,7 +16,7 @@ class Migration011Query01(Query):
16
16
  type: QueryType = QueryType.WRITE
17
17
  insert_return = False
18
18
 
19
- async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None:
19
+ async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None: # noqa: ARG002
20
20
  query = """
21
21
  // get all the SchemaRelationship nodes for 'profiles' relationships
22
22
  MATCH (sr_to_delete:SchemaRelationship)-[HAS_ATTRIBUTE]->(:Attribute {name: "name"})-[HAS_VALUE]->(av:AttributeValue {value: "profiles"})
@@ -42,7 +42,7 @@ class Migration011(GraphMigration):
42
42
  queries: Sequence[type[Query]] = [Migration011Query01]
43
43
  minimum_version: int = 10
44
44
 
45
- async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult:
45
+ async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult: # noqa: ARG002
46
46
  result = MigrationResult()
47
47
 
48
48
  return result
@@ -54,8 +54,7 @@ class Migration012RenameTypeAttributeData(AttributeRenameQuery):
54
54
  branch_support=BranchSupportType.AGNOSTIC.value,
55
55
  )
56
56
 
57
- if "branch" in kwargs:
58
- del kwargs["branch"]
57
+ kwargs.pop("branch", None)
59
58
 
60
59
  super().__init__(new_attr=new_attr, previous_attr=previous_attr, branch=global_branch, **kwargs)
61
60
 
@@ -113,8 +112,7 @@ class Migration012AddLabelData(NodeDuplicateQuery):
113
112
  sync_with_git=False,
114
113
  )
115
114
 
116
- if "branch" in kwargs:
117
- del kwargs["branch"]
115
+ kwargs.pop("branch", None)
118
116
 
119
117
  super().__init__(new_node=new_node, previous_node=previous_node, branch=branch, **kwargs)
120
118
 
@@ -165,8 +163,7 @@ class Migration012RenameRelationshipAccountTokenData(RelationshipDuplicateQuery)
165
163
  dst_peer=InfrahubKind.ACCOUNTTOKEN,
166
164
  )
167
165
 
168
- if "branch" in kwargs:
169
- del kwargs["branch"]
166
+ kwargs.pop("branch", None)
170
167
 
171
168
  super().__init__(new_rel=new_rel, previous_rel=previous_rel, branch=global_branch, **kwargs)
172
169
 
@@ -189,8 +186,7 @@ class Migration012RenameRelationshipRefreshTokenData(RelationshipDuplicateQuery)
189
186
  dst_peer=InfrahubKind.REFRESHTOKEN,
190
187
  )
191
188
 
192
- if "branch" in kwargs:
193
- del kwargs["branch"]
189
+ kwargs.pop("branch", None)
194
190
 
195
191
  super().__init__(new_rel=new_rel, previous_rel=previous_rel, branch=global_branch, **kwargs)
196
192
 
@@ -213,8 +209,7 @@ class Migration012RenameRelationshipThreadData(RelationshipDuplicateQuery):
213
209
  dst_peer=InfrahubKind.THREAD,
214
210
  )
215
211
 
216
- if "branch" in kwargs:
217
- del kwargs["branch"]
212
+ kwargs.pop("branch", None)
218
213
 
219
214
  super().__init__(new_rel=new_rel, previous_rel=previous_rel, branch=global_branch, **kwargs)
220
215
 
@@ -237,8 +232,7 @@ class Migration012RenameRelationshipCommentData(RelationshipDuplicateQuery):
237
232
  dst_peer=InfrahubKind.COMMENT,
238
233
  )
239
234
 
240
- if "branch" in kwargs:
241
- del kwargs["branch"]
235
+ kwargs.pop("branch", None)
242
236
 
243
237
  super().__init__(new_rel=new_rel, previous_rel=previous_rel, branch=default_branch, **kwargs)
244
238
 
@@ -249,8 +243,7 @@ class Migration012DeleteOldElementsSchema(DeleteElementInSchemaQuery):
249
243
  insert_return = False
250
244
 
251
245
  def __init__(self, **kwargs: Any):
252
- if "branch" in kwargs:
253
- del kwargs["branch"]
246
+ kwargs.pop("branch", None)
254
247
 
255
248
  super().__init__(
256
249
  element_names=["name", "password", "label", "description", "type", "role", "tokens"],
@@ -267,8 +260,7 @@ class Migration012UpdateDisplayLabels(SchemaAttributeUpdateQuery):
267
260
  insert_return = False
268
261
 
269
262
  def __init__(self, **kwargs: Any):
270
- if "branch" in kwargs:
271
- del kwargs["branch"]
263
+ kwargs.pop("branch", None)
272
264
 
273
265
  super().__init__(
274
266
  attribute_name="display_labels",
@@ -285,8 +277,7 @@ class Migration012UpdateOrderBy(SchemaAttributeUpdateQuery):
285
277
  insert_return = False
286
278
 
287
279
  def __init__(self, **kwargs: Any):
288
- if "branch" in kwargs:
289
- del kwargs["branch"]
280
+ kwargs.pop("branch", None)
290
281
 
291
282
  super().__init__(
292
283
  attribute_name="order_by",
@@ -303,8 +294,7 @@ class Migration012UpdateDefaultFilter(SchemaAttributeUpdateQuery):
303
294
  insert_return = False
304
295
 
305
296
  def __init__(self, **kwargs: Any):
306
- if "branch" in kwargs:
307
- del kwargs["branch"]
297
+ kwargs.pop("branch", None)
308
298
 
309
299
  super().__init__(
310
300
  attribute_name="default_filter",
@@ -321,8 +311,7 @@ class Migration012UpdateHFID(SchemaAttributeUpdateQuery):
321
311
  insert_return = False
322
312
 
323
313
  def __init__(self, **kwargs: Any):
324
- if "branch" in kwargs:
325
- del kwargs["branch"]
314
+ kwargs.pop("branch", None)
326
315
 
327
316
  super().__init__(
328
317
  attribute_name="human_friendly_id",
@@ -350,7 +339,7 @@ class Migration012(GraphMigration):
350
339
  ]
351
340
  minimum_version: int = 11
352
341
 
353
- async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult:
342
+ async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult: # noqa: ARG002
354
343
  result = MigrationResult()
355
344
 
356
345
  return result
@@ -36,7 +36,7 @@ class Migration013ConvertCoreRepositoryWithCred(Query):
36
36
  name = "migration_013_convert_repository_with_cred"
37
37
  type = QueryType.WRITE
38
38
 
39
- async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None:
39
+ async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None: # noqa: ARG002
40
40
  at = Timestamp()
41
41
  filters, params = at.get_query_filter_path()
42
42
 
@@ -172,7 +172,7 @@ class Migration013ConvertCoreRepositoryWithoutCred(Query):
172
172
  name = "migration_013_convert_repository_without_cred"
173
173
  type = QueryType.WRITE
174
174
 
175
- async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None:
175
+ async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None: # noqa: ARG002
176
176
  at = Timestamp()
177
177
  filters, params = at.get_query_filter_path()
178
178
 
@@ -237,8 +237,7 @@ class Migration013DeleteUsernamePasswordGenericSchema(DeleteElementInSchemaQuery
237
237
  insert_return = False
238
238
 
239
239
  def __init__(self, **kwargs: Any):
240
- if "branch" in kwargs:
241
- del kwargs["branch"]
240
+ kwargs.pop("branch", None)
242
241
 
243
242
  super().__init__(
244
243
  element_names=["username", "password"],
@@ -255,8 +254,7 @@ class Migration013DeleteUsernamePasswordReadWriteSchema(DeleteElementInSchemaQue
255
254
  insert_return = False
256
255
 
257
256
  def __init__(self, **kwargs: Any):
258
- if "branch" in kwargs:
259
- del kwargs["branch"]
257
+ kwargs.pop("branch", None)
260
258
 
261
259
  super().__init__(
262
260
  element_names=["username", "password"],
@@ -273,8 +271,7 @@ class Migration013DeleteUsernamePasswordReadOnlySchema(DeleteElementInSchemaQuer
273
271
  insert_return = False
274
272
 
275
273
  def __init__(self, **kwargs: Any):
276
- if "branch" in kwargs:
277
- del kwargs["branch"]
274
+ kwargs.pop("branch", None)
278
275
 
279
276
  super().__init__(
280
277
  element_names=["username", "password"],
@@ -289,8 +286,7 @@ class Migration013AddInternalStatusData(AttributeAddQuery):
289
286
  type = QueryType.WRITE
290
287
 
291
288
  def __init__(self, **kwargs: Any):
292
- if "branch" in kwargs:
293
- del kwargs["branch"]
289
+ kwargs.pop("branch", None)
294
290
 
295
291
  super().__init__(
296
292
  node_kind="CoreGenericRepository",
@@ -315,7 +311,7 @@ class Migration013(GraphMigration):
315
311
  ]
316
312
  minimum_version: int = 12
317
313
 
318
- async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult:
314
+ async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult: # noqa: ARG002
319
315
  result = MigrationResult()
320
316
 
321
317
  return result
@@ -33,12 +33,12 @@ class Migration014(GraphMigration):
33
33
  try:
34
34
  ts.manager.index.init(nodes=[INDEX_TO_DELETE], rels=[])
35
35
  await ts.manager.index.drop()
36
- except Exception as exc: # pylint: disable=broad-exception-caught
36
+ except Exception as exc:
37
37
  result.errors.append(str(exc))
38
38
  return result
39
39
 
40
40
  return result
41
41
 
42
- async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult:
42
+ async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult: # noqa: ARG002
43
43
  result = MigrationResult()
44
44
  return result
@@ -20,7 +20,7 @@ class Migration015(ArbitraryMigration):
20
20
  name: str = "015_diff_format_update"
21
21
  minimum_version: int = 14
22
22
 
23
- async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult:
23
+ async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult: # noqa: ARG002
24
24
  result = MigrationResult()
25
25
 
26
26
  return result
@@ -20,7 +20,7 @@ class Migration016(ArbitraryMigration):
20
20
  name: str = "016_diff_delete_bug_fix_update"
21
21
  minimum_version: int = 15
22
22
 
23
- async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult:
23
+ async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult: # noqa: ARG002
24
24
  result = MigrationResult()
25
25
 
26
26
  return result
@@ -22,7 +22,7 @@ class Migration017(InternalSchemaMigration):
22
22
  minimum_version: int = 16
23
23
  migrations: Sequence[SchemaMigration] = []
24
24
 
25
- async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult:
25
+ async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult: # noqa: ARG002
26
26
  result = MigrationResult()
27
27
 
28
28
  return result
@@ -26,7 +26,7 @@ class Migration018(InternalSchemaMigration):
26
26
  minimum_version: int = 17
27
27
  migrations: Sequence[SchemaMigration] = []
28
28
 
29
- async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult:
29
+ async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult: # noqa: ARG002
30
30
  result = MigrationResult()
31
31
 
32
32
  return result
@@ -52,7 +52,7 @@ class Migration018(InternalSchemaMigration):
52
52
 
53
53
  for schema_kind in schema_branch.node_names + schema_branch.generic_names:
54
54
  schema = schema_branch.get(name=schema_kind, duplicate=False)
55
- if not isinstance(schema, (NodeSchema, GenericSchema)):
55
+ if not isinstance(schema, NodeSchema | GenericSchema):
56
56
  continue
57
57
 
58
58
  schema_constraint_path_groups = schema.get_unique_constraint_schema_attribute_paths(
@@ -30,7 +30,7 @@ class AttributeAddQuery(Query):
30
30
 
31
31
  super().__init__(**kwargs)
32
32
 
33
- async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None:
33
+ async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None: # noqa: ARG002
34
34
  branch_filter, branch_params = self.branch.get_query_filter_path(at=self.at.to_string())
35
35
  self.params.update(branch_params)
36
36
 
@@ -86,7 +86,7 @@ class AttributeRenameQuery(Query):
86
86
  subquery.append("RETURN peer_node as p2")
87
87
  return "\n".join(subquery)
88
88
 
89
- async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None:
89
+ async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None: # noqa: ARG002
90
90
  branch_filter, branch_params = self.branch.get_query_filter_path(at=self.at.to_string())
91
91
  self.params.update(branch_params)
92
92
 
@@ -90,7 +90,7 @@ class DeleteElementInSchemaQuery(Query):
90
90
  sub_query_in = "\nUNION\n".join(sub_queries_in)
91
91
  return sub_query_in
92
92
 
93
- async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None:
93
+ async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None: # noqa: ARG002
94
94
  branch_filter, branch_params = self.branch.get_query_filter_path(at=self.at.to_string())
95
95
  self.params.update(branch_params)
96
96
 
@@ -86,7 +86,7 @@ class NodeDuplicateQuery(Query):
86
86
  sub_query_in = "\nUNION\n".join(sub_queries_in)
87
87
  return sub_query_in
88
88
 
89
- async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None:
89
+ async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None: # noqa: ARG002
90
90
  branch_filter, branch_params = self.branch.get_query_filter_path(at=self.at.to_string())
91
91
  self.params.update(branch_params)
92
92
 
@@ -84,7 +84,7 @@ class RelationshipDuplicateQuery(Query):
84
84
  sub_query_in = "\nUNION\n".join(sub_queries_in)
85
85
  return sub_query_in
86
86
 
87
- async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None:
87
+ async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None: # noqa: ARG002
88
88
  branch_filter, branch_params = self.branch.get_query_filter_path(at=self.at.to_string())
89
89
  self.params.update(branch_params)
90
90
 
@@ -67,7 +67,7 @@ class SchemaAttributeUpdateQuery(Query):
67
67
 
68
68
  return query
69
69
 
70
- async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None:
70
+ async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None: # noqa: ARG002
71
71
  self.params["attr_name"] = self.attr_name
72
72
  self.params["attr_new_value"] = (
73
73
  ujson.dumps(self.attr_new_value) if isinstance(self.attr_new_value, list) else self.attr_new_value
@@ -18,7 +18,7 @@ class NodeAttributeRemoveMigrationQuery01(AttributeMigrationQuery):
18
18
  name = "migration_node_attribute_remove_01"
19
19
  insert_return: bool = False
20
20
 
21
- async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None:
21
+ async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None: # noqa: ARG002
22
22
  branch_filter, branch_params = self.branch.get_query_filter_path(at=self.at.to_string())
23
23
  self.params.update(branch_params)
24
24
 
@@ -32,7 +32,7 @@ class NodeRemoveMigrationBaseQuery(MigrationQuery):
32
32
  def render_node_remove_query(self, branch_filter: str) -> str:
33
33
  raise NotImplementedError()
34
34
 
35
- async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None:
35
+ async def query_init(self, db: InfrahubDatabase, **kwargs: dict[str, Any]) -> None: # noqa: ARG002
36
36
  branch_filter, branch_params = self.branch.get_query_filter_path(at=self.at.to_string())
37
37
  self.params.update(branch_params)
38
38