infrahub-server 1.1.3__py3-none-any.whl → 1.1.5__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 (60) hide show
  1. infrahub/api/artifact.py +4 -1
  2. infrahub/api/oidc.py +32 -4
  3. infrahub/api/schema.py +16 -3
  4. infrahub/api/transformation.py +2 -0
  5. infrahub/computed_attribute/tasks.py +9 -5
  6. infrahub/config.py +0 -1
  7. infrahub/core/constants/__init__.py +5 -0
  8. infrahub/core/diff/calculator.py +118 -8
  9. infrahub/core/diff/coordinator.py +1 -2
  10. infrahub/core/diff/model/path.py +0 -9
  11. infrahub/core/diff/query/all_conflicts.py +64 -0
  12. infrahub/core/diff/query_parser.py +51 -28
  13. infrahub/core/diff/repository/repository.py +23 -14
  14. infrahub/core/merge.py +7 -5
  15. infrahub/core/query/diff.py +417 -621
  16. infrahub/core/relationship/model.py +10 -2
  17. infrahub/core/schema/__init__.py +5 -0
  18. infrahub/core/validators/aggregated_checker.py +34 -4
  19. infrahub/core/validators/node/hierarchy.py +1 -1
  20. infrahub/generators/tasks.py +12 -10
  21. infrahub/git/base.py +50 -8
  22. infrahub/git/integrator.py +24 -17
  23. infrahub/git/models.py +3 -2
  24. infrahub/git/repository.py +2 -2
  25. infrahub/git/tasks.py +19 -11
  26. infrahub/graphql/mutations/artifact_definition.py +10 -2
  27. infrahub/message_bus/messages/check_repository_usercheck.py +1 -0
  28. infrahub/message_bus/operations/check/repository.py +5 -2
  29. infrahub/message_bus/operations/requests/artifact_definition.py +1 -1
  30. infrahub/message_bus/operations/requests/proposed_change.py +4 -0
  31. infrahub/message_bus/types.py +1 -0
  32. infrahub/transformations/constants.py +1 -0
  33. infrahub/transformations/models.py +3 -1
  34. infrahub/transformations/tasks.py +2 -2
  35. infrahub/webhook/models.py +9 -1
  36. infrahub/workflows/catalogue.py +2 -2
  37. infrahub_sdk/analyzer.py +1 -1
  38. infrahub_sdk/checks.py +4 -4
  39. infrahub_sdk/client.py +26 -16
  40. infrahub_sdk/ctl/cli_commands.py +4 -4
  41. infrahub_sdk/ctl/exporter.py +2 -2
  42. infrahub_sdk/ctl/importer.py +6 -4
  43. infrahub_sdk/ctl/repository.py +56 -1
  44. infrahub_sdk/generator.py +3 -3
  45. infrahub_sdk/node.py +2 -2
  46. infrahub_sdk/pytest_plugin/items/base.py +0 -5
  47. infrahub_sdk/pytest_plugin/items/graphql_query.py +1 -1
  48. infrahub_sdk/pytest_plugin/items/jinja2_transform.py +1 -1
  49. infrahub_sdk/pytest_plugin/items/python_transform.py +1 -1
  50. infrahub_sdk/repository.py +33 -0
  51. infrahub_sdk/testing/repository.py +14 -8
  52. infrahub_sdk/transforms.py +3 -3
  53. infrahub_sdk/utils.py +8 -3
  54. {infrahub_server-1.1.3.dist-info → infrahub_server-1.1.5.dist-info}/METADATA +2 -1
  55. {infrahub_server-1.1.3.dist-info → infrahub_server-1.1.5.dist-info}/RECORD +59 -57
  56. infrahub_testcontainers/docker-compose.test.yml +1 -1
  57. infrahub_sdk/task_report.py +0 -208
  58. {infrahub_server-1.1.3.dist-info → infrahub_server-1.1.5.dist-info}/LICENSE.txt +0 -0
  59. {infrahub_server-1.1.3.dist-info → infrahub_server-1.1.5.dist-info}/WHEEL +0 -0
  60. {infrahub_server-1.1.3.dist-info → infrahub_server-1.1.5.dist-info}/entry_points.txt +0 -0
infrahub_sdk/utils.py CHANGED
@@ -9,13 +9,14 @@ from uuid import UUID, uuid4
9
9
 
10
10
  import httpx
11
11
  import ujson
12
- from git.repo import Repo
13
12
  from graphql import (
14
13
  FieldNode,
15
14
  InlineFragmentNode,
16
15
  SelectionSetNode,
17
16
  )
18
17
 
18
+ from infrahub_sdk.repository import GitRepoManager
19
+
19
20
  from .exceptions import JsonDecodeError
20
21
 
21
22
  if TYPE_CHECKING:
@@ -135,8 +136,12 @@ def deep_merge_dict(dicta: dict, dictb: dict, path: list | None = None) -> dict:
135
136
  if key in dicta:
136
137
  if isinstance(dicta[key], dict) and isinstance(dictb[key], dict):
137
138
  deep_merge_dict(dicta[key], dictb[key], path + [str(key)])
139
+ elif isinstance(dicta[key], list) and isinstance(dictb[key], list):
140
+ # Merge lists
141
+ # Cannot use compare_list because list of dicts won't work (dict not hashable)
142
+ dicta[key] = [i for i in dicta[key] if i not in dictb[key]] + dictb[key]
138
143
  elif dicta[key] == dictb[key]:
139
- pass
144
+ continue
140
145
  else:
141
146
  raise ValueError("Conflict at %s" % ".".join(path + [str(key)]))
142
147
  else:
@@ -246,7 +251,7 @@ def get_branch(branch: str | None = None, directory: str | Path = ".") -> str:
246
251
  if branch:
247
252
  return branch
248
253
 
249
- repo = Repo(directory)
254
+ repo = GitRepoManager(directory)
250
255
  return str(repo.active_branch)
251
256
 
252
257
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: infrahub-server
3
- Version: 1.1.3
3
+ Version: 1.1.5
4
4
  Summary: Infrahub is taking a new approach to Infrastructure Management by providing a new generation of datastore to organize and control all the data that defines how an infrastructure should run.
5
5
  Home-page: https://opsmill.com
6
6
  License: AGPL-3.0-only
@@ -20,6 +20,7 @@ Requires-Dist: asgi-correlation-id (==4.2.0)
20
20
  Requires-Dist: authlib (==1.3.2)
21
21
  Requires-Dist: bcrypt (>=4.1,<4.2)
22
22
  Requires-Dist: boto3 (==1.34.129)
23
+ Requires-Dist: dulwich (>=0.22.7,<0.23.0)
23
24
  Requires-Dist: email-validator (>=2.1,<2.2)
24
25
  Requires-Dist: fastapi (>=0.115,<0.116)
25
26
  Requires-Dist: fastapi-storages (>=0.3,<0.4)
@@ -1,6 +1,6 @@
1
1
  infrahub/__init__.py,sha256=OF6hovR3975Zu6-9DOL_Nh_FTgGn8kS_yOfQ-xp-chg,87
2
2
  infrahub/api/__init__.py,sha256=dtRtBRpEgt7Y9Zdwy85jpSr8qfO_2xNTgTQLCJPQiZI,2182
3
- infrahub/api/artifact.py,sha256=M0M2sVfm01COnnX-0d1A1kZ9gcLzFjoxECdypI4oSrA,3585
3
+ infrahub/api/artifact.py,sha256=7Rx0pLuna-s1IUsYt48lYVM4XMpWChCyceXsvGr1EIE,3670
4
4
  infrahub/api/auth.py,sha256=-YqPWBc5zXvGehf8IatHMl_y2xE6hpcfG7VcxnviFkc,1895
5
5
  infrahub/api/dependencies.py,sha256=v33X9fLAuZCX-Mn-0rB3MTntxh8qdBffp5Zl1XYrImQ,4708
6
6
  infrahub/api/diff/__init__.py,sha256=oXlDkl0C-nHNCdXcLN-KmCUdUICOzk_b0RFgjeYwt7s,47
@@ -12,14 +12,14 @@ infrahub/api/file.py,sha256=FnjXkQdSBThnNNYk8CMboEx_935pR1U6aHT0jxA0AdU,2258
12
12
  infrahub/api/internal.py,sha256=jBZ3mbnsACdkJt0QJNcEb2tKHqm6NkqNrGIBWNFdFF0,5124
13
13
  infrahub/api/menu.py,sha256=xp5bj5JXQZA6ZEPWoTSGGSfTXZ1sVmehMxr3VSG7FlQ,1216
14
14
  infrahub/api/oauth2.py,sha256=9rOAM2DPvuS25lHPc6M2YRx0Aso1NDHqqk62SevnMpE,5517
15
- infrahub/api/oidc.py,sha256=wyQXVVqQ0-GFhcVTtB2FwHC8AxV-pwGffRwdaSV7V2E,7240
15
+ infrahub/api/oidc.py,sha256=cMxGM8uf3in656X3OMUyMI6ES8iAn7ypLck4LSXoBV0,8236
16
16
  infrahub/api/query.py,sha256=uZ93JJpaLzj9Y3O6IzxFGasLY26XTHLlyrwIJHd_kyg,6976
17
- infrahub/api/schema.py,sha256=XqeHJVH-iVYqeDXngFDZmJenym5uiAxpjHiItD_R7rA,16232
17
+ infrahub/api/schema.py,sha256=1IS6H03fplhkyXa9v0uADiIhz1bad04L95xStNGb1sY,16611
18
18
  infrahub/api/static/redoc.standalone.js,sha256=77kGx7mVN9EcdER2ZM4gQ-E-ra_N6AZq9QseAeD6kt0,1042008
19
19
  infrahub/api/static/swagger-ui-bundle.js,sha256=wuSp7wgUSDn_R8FCAgY-z-TlnnCk5xVKJr1Q2IDIi6E,1452753
20
20
  infrahub/api/static/swagger-ui.css,sha256=QBcPDuhZ0X-SExunBzKaiKBw5PZodNETZemnfSMvYRc,152071
21
21
  infrahub/api/storage.py,sha256=yWo7qsDn4SrX89wDsTKOfGTMdWYNsptAdt7Fhfzw1C0,2179
22
- infrahub/api/transformation.py,sha256=PaUqrkJYeThbsy6fo1RZrRuxTEztcAgDMw1wwNN1ytM,5467
22
+ infrahub/api/transformation.py,sha256=KAshylWaAZgfdsQTIfYq4KsnBms40dU-DMm5At5qk4Q,5549
23
23
  infrahub/auth.py,sha256=g4pQX4kI1k-iWIQNduXODhpeZXIjY3XqLslh7QFRBq4,9194
24
24
  infrahub/cli/__init__.py,sha256=ORSAghLOFVuTf9wARz9QgLOZYmxjxw2j5neHbW-DITU,1781
25
25
  infrahub/cli/context.py,sha256=20CJj_D1VhigR9uhTDPHiVHnV7vzsgK8v-uLKs06kzA,398
@@ -32,8 +32,8 @@ infrahub/components.py,sha256=lSLDCDwIZoakZ2iBrfHi9c3BxzugMiuiZO6V7Egt6tk,107
32
32
  infrahub/computed_attribute/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
33
  infrahub/computed_attribute/constants.py,sha256=oTMPEfRuf2mcfCkBpRLWRALO6nsLHpFm9jJGu0lowS4,446
34
34
  infrahub/computed_attribute/models.py,sha256=icUzsu0DrGoxMkBVXpNiv17rMo0OwpSE-QBJyWblMM0,2637
35
- infrahub/computed_attribute/tasks.py,sha256=xjRHUz48L6IxE7UjSUMHp7UZCoFFaO-N8FCelK4Y4nY,33141
36
- infrahub/config.py,sha256=mNcTgvUAgehC08so2D-U8LRH0Ft20xWOaPVgW3Rjwlo,33636
35
+ infrahub/computed_attribute/tasks.py,sha256=rzzWBKrmCQ_ZXJ4Uv5XE7IDhdx39I0_HwyDTLYwkLKo,33238
36
+ infrahub/config.py,sha256=DQFXa6e6nbW6McdLVViuCcKYlGjw9ytmYDsKU5l-Jdo,33605
37
37
  infrahub/core/__init__.py,sha256=z6EJBZyCYCBqinoBtX9li6BTBbbGV8WCkE_4CrEsmDA,104
38
38
  infrahub/core/account.py,sha256=sggpuO_QpwYH7wXG_lZDnrB5Izmej486o_CYiYjYin8,26497
39
39
  infrahub/core/attribute.py,sha256=sDhl2BBoX_Q3BR6v8lZE85j5wIuXvswATiCC57tPoqU,42045
@@ -42,7 +42,7 @@ infrahub/core/branch/constants.py,sha256=RJxn6dPZGXrnkmOYcRkx6h7IYFp_RCOgoupj1Br
42
42
  infrahub/core/branch/flow_models.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
43
  infrahub/core/branch/models.py,sha256=dX37fBbHA84WS7Se2nwSwvOyF4bZVVzZ3oXsV46x-so,19607
44
44
  infrahub/core/branch/tasks.py,sha256=JgjwBafBfn2CdTLr93dP6zVxqoJnAbY4FdXACrNJMdU,18448
45
- infrahub/core/constants/__init__.py,sha256=lky12uWG2bXKVuTXhPz-HVBU4nhx_mF5nmpHw93admA,6688
45
+ infrahub/core/constants/__init__.py,sha256=CWAeCuj5sPjJMmCK1l3bniRT_s2dEHAOJ7tny9RqpKM,6864
46
46
  infrahub/core/constants/database.py,sha256=lxesWX2z6SZgGok1bAY6_pCBm5rFfu7k4ayMBr6w_Vo,336
47
47
  infrahub/core/constants/infrahubkind.py,sha256=UVPYZdsUDjG0LvfCLgKdnJC12dFlpCC6YH2Mp-N7Zp4,2378
48
48
  infrahub/core/constants/relationship_label.py,sha256=AWbWghu5MoAKg2DBE-ysdzSOXnWoWdBn98zpIHzn_co,87
@@ -54,12 +54,12 @@ infrahub/core/diff/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
54
54
  infrahub/core/diff/artifacts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
55
  infrahub/core/diff/artifacts/calculator.py,sha256=qk1DspB3bkKeWJFesLbmziCALVnbRadjrez1kn_IZWU,4435
56
56
  infrahub/core/diff/branch_differ.py,sha256=9W9ZClBAQffcZWZOsRekzf4XOG9W_G-1jCR68uvfhPQ,7820
57
- infrahub/core/diff/calculator.py,sha256=j-nc_i7wnV4ZQH97Ox7sQxs7NRFz8Hl2OA9ar7ULQnE,3696
57
+ infrahub/core/diff/calculator.py,sha256=UHzWOaxFUau8m4C58D-7w_JXjq5hJW59btWPNia55wE,8499
58
58
  infrahub/core/diff/combiner.py,sha256=k28aIP4vwCB-57fTPR37nFzUUtmj9qieH5Y_4iO6HX0,22811
59
59
  infrahub/core/diff/conflict_transferer.py,sha256=LZCuS9Dbr4yBf-bd3RF-9cPnaOvVWiU3KBmmwxbRZl0,3968
60
60
  infrahub/core/diff/conflicts_enricher.py,sha256=x6qiZOXO2A3BQ2Fm78apJ4WA7HLzPO84JomJfcyuyDg,12552
61
61
  infrahub/core/diff/conflicts_extractor.py,sha256=HysGoyNy9qMxfQ0Lh4AVZsRpHUBpezQNUa8cteVLb2k,9715
62
- infrahub/core/diff/coordinator.py,sha256=nmAyV05kTEXNjslbl5e_4weMxSaQimsrVHUSQX3mFwk,27734
62
+ infrahub/core/diff/coordinator.py,sha256=ngEeLTvQQ4qq0fJV_-xB8k21p9xJbQ3Ljow01Rr5m64,27707
63
63
  infrahub/core/diff/data_check_synchronizer.py,sha256=WTY3xwZMTOwWmdmTxYxx6T1WTWmuoUo6QAX1WKoPqBY,5202
64
64
  infrahub/core/diff/enricher/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
65
65
  infrahub/core/diff/enricher/aggregated.py,sha256=1T-19FYAefSQRcfH2nDZN3Y6qqj3oba209Bjutsgqh8,731
@@ -77,10 +77,11 @@ infrahub/core/diff/merger/model.py,sha256=z1pjX0SXvZkqCqdcUKae73v6eEBrjUNotnkx0n
77
77
  infrahub/core/diff/merger/serializer.py,sha256=JIRCdUPwcKN-2eHa6-uKSKHGruvjM-FmSSjNkByG7m4,18157
78
78
  infrahub/core/diff/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
79
  infrahub/core/diff/model/diff.py,sha256=EM9yIkZauSeNP13RXn0RSz7IAdGOqUv3-QKJyAEfsD8,9589
80
- infrahub/core/diff/model/path.py,sha256=6gzddjjBCJBlnybo_dm7S-I8PPw-sEcY2Aezf3lfa9U,29508
80
+ infrahub/core/diff/model/path.py,sha256=eWSx3XnoJUijPdWH-EQg36bzyEBgD7o90_I8yv7xyOE,29339
81
81
  infrahub/core/diff/models.py,sha256=wmOzW4xQ5YreDCr_i56YMFtxbM4-LRgZort49fGJ0BQ,441
82
82
  infrahub/core/diff/payload_builder.py,sha256=fzti6hA6bAWRySS3Y2fSoOhNwvQjeSRfyB76Dl6BkVg,1742
83
83
  infrahub/core/diff/query/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
84
+ infrahub/core/diff/query/all_conflicts.py,sha256=OO_LmfuVOG0Ook7_MKGqEVs1ftWXtRWtq8wVsFBUu9Y,3024
84
85
  infrahub/core/diff/query/artifact.py,sha256=tC2KYdCcxAjrMmLMjfwg3SwEiptxA5DrFjOCYkUXNQc,8815
85
86
  infrahub/core/diff/query/delete_query.py,sha256=MKB-vaUByt8TbI1yyq_amk9FHhjnAAlY_BBi4MnrrFk,844
86
87
  infrahub/core/diff/query/diff_get.py,sha256=pCyfBcr67UrRVMTKV4Pqmp_81u8mVFeIuS9TEBVs12E,7514
@@ -96,10 +97,10 @@ infrahub/core/diff/query/roots_metadata.py,sha256=Kzfox3RD26fT51xjj5P9-XtHywkTk2
96
97
  infrahub/core/diff/query/save.py,sha256=MewTGCvfT1eu2nX0W9vEK-GxI6A60dRT6LJiSB4YZLc,17453
97
98
  infrahub/core/diff/query/time_range_query.py,sha256=lBzSwlMZpFd7t_bddu6D1mCnd3HLFNzDcqjoZMzbiAg,2914
98
99
  infrahub/core/diff/query/update_conflict_query.py,sha256=z19Y2l9T78A-ydQbqoWYt-eSXhaxMkrD_oLMuaW9FdA,1196
99
- infrahub/core/diff/query_parser.py,sha256=euMcUHAoRrsW35LX52N7CFU0JN7eUMC1bHPMRdBfwWI,35173
100
+ infrahub/core/diff/query_parser.py,sha256=ph0xjvnGXtlvjdH6oAtxxYv9Yjufh-_5ItxvSUZ2bwk,36423
100
101
  infrahub/core/diff/repository/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
101
102
  infrahub/core/diff/repository/deserializer.py,sha256=ikbdDi56XR1_nwn_-SobTfEc_-Xr1iuNFD5JkGpE3Rg,19749
102
- infrahub/core/diff/repository/repository.py,sha256=2NF7UD_JIJZLGOvatmy3Hjhjd25XDyieKCGP3uvZU4U,15068
103
+ infrahub/core/diff/repository/repository.py,sha256=QReWIMidX27feJm_fQ3_-ZK1FIYAr-w_AXRhipN0UbA,15678
103
104
  infrahub/core/diff/tasks.py,sha256=vJf3HdgkvBG5b_mnmFmdpd9xDeBOuD4XFgNSd1Wbex8,3045
104
105
  infrahub/core/enums.py,sha256=5wMcX9x6acU9CTa4B4b6rFwgRZ31N9c9TR3n2EO0BuI,490
105
106
  infrahub/core/graph/__init__.py,sha256=jwgNlvRvVs2_s5YC1TqeLucoKBHQ4pDox1v0tbE9oIw,19
@@ -119,7 +120,7 @@ infrahub/core/ipam/size.py,sha256=Iu7cVvN9MkilyG_AGvYm3g3dSDesKRVdDh_AKH7yAqk,61
119
120
  infrahub/core/ipam/tasks.py,sha256=5u5WCURGZ-jROScl2Ov0ulW-gMGm1f-5vXnbZbj4a1M,1479
120
121
  infrahub/core/ipam/utilization.py,sha256=Urv0thyR6xYgwyQaZDnx170Wcw8nKKZkBymwNTMblX4,6827
121
122
  infrahub/core/manager.py,sha256=e2rawz77UG3tLOz3J-JL6-UpJDyJui3uSDg_APnFnAE,46544
122
- infrahub/core/merge.py,sha256=NhxsVzGV786P6hs-BszYwsm5HWcq4LyriR267OAVeA4,10282
123
+ infrahub/core/merge.py,sha256=ibXM0Rb8qVoBuGiW8q6JYdFsLQ9DS-PPTBoK4R2mPhg,10354
123
124
  infrahub/core/migrations/__init__.py,sha256=PBewY3fZkqVMABRo_oTZkDtdD7HfCC9nCn-DXtTca1g,1150
124
125
  infrahub/core/migrations/graph/__init__.py,sha256=nrPqecgr5myTmwnoucWV8ktzs3JoV5whm8WgKdKWfew,2043
125
126
  infrahub/core/migrations/graph/m001_add_version_to_graph.py,sha256=x_dYBnrZtNQiB6TSl4xwXR-Phn7-4EgrJce76ZfPe_c,1499
@@ -180,7 +181,7 @@ infrahub/core/query/__init__.py,sha256=iXvVvRB5s6f06UxBqkOucrbH7fOuUgyu1M8VXnlMN
180
181
  infrahub/core/query/attribute.py,sha256=-84v73Je49QpYcdBcBS6Acj8i8uIGFaOxJyFd2kszD4,11756
181
182
  infrahub/core/query/branch.py,sha256=OmYS1n1U4NEbDXBrPAM9lvh_qb_prbRdNnC07N1k-Mw,4561
182
183
  infrahub/core/query/delete.py,sha256=BsCeUb11Le3NU2hLMcu05acvWrRVrGncxGxpkWTIzJE,1902
183
- infrahub/core/query/diff.py,sha256=ob34MN_mlA7c5hurCpuiA9H7DAWEQpCHajyKg7P_tbk,40840
184
+ infrahub/core/query/diff.py,sha256=xrmOITxYgZbDTdwbsw6eM3sOlKMCVCMnZAPOlVEsrMg,32479
184
185
  infrahub/core/query/ipam.py,sha256=xWCemBaiOA00eU3sB8XmOdNOJ1L69Lls3L2GIw5P_CU,28123
185
186
  infrahub/core/query/node.py,sha256=UhVfDHvBAIualNNh6rL71snbG_-GaB2XCvTohezFInk,59348
186
187
  infrahub/core/query/relationship.py,sha256=30oRyNAM59lYA1nV1Vi0istLke73UoB5aDVzoDbJ76I,35001
@@ -197,9 +198,9 @@ infrahub/core/relationship/constraints/count.py,sha256=q2KJu4azD3Ad2Zagjz2SUzxd5
197
198
  infrahub/core/relationship/constraints/interface.py,sha256=96A_IRKAU6FCS3Nqiey5WmUnA4PO73nOlBk5DgUCjbc,296
198
199
  infrahub/core/relationship/constraints/peer_kind.py,sha256=d0Ca4tLt45kU1yfe3UN793Dy6ad42mepvXOi8qgo68c,2520
199
200
  infrahub/core/relationship/constraints/profiles_kind.py,sha256=ztnc5uh84h-IANHxn6HfIHcJJf4Cga_3waXEh7eIMrQ,2449
200
- infrahub/core/relationship/model.py,sha256=aAck4EmVsw0DLbT71JeLt8kV7q2QyDi_yzYST6Xu4Z4,44729
201
+ infrahub/core/relationship/model.py,sha256=s4kY2Kevc-hzKBDDqkVC7ZZ2g66_9kOGjSVSo_XebE8,45378
201
202
  infrahub/core/root.py,sha256=8ZLSOtnmjQcrjqX2vxNO-AGopEUArmBPo_X5NeZBdP0,416
202
- infrahub/core/schema/__init__.py,sha256=czgGfv5LMkbmNPlr_uCJAdqArvXQNAfyCAi7vorcQzg,3637
203
+ infrahub/core/schema/__init__.py,sha256=0L8vLxx7VwuqCkySA3PgZa91rfnIWeQcuwfeDqFqMZM,3926
203
204
  infrahub/core/schema/attribute_schema.py,sha256=oyU-Z8BFLnyEy1q41uukfVQKMUevS0sZ8Ug2m_J3MXk,5022
204
205
  infrahub/core/schema/basenode_schema.py,sha256=wPw-qYh1utxjWzLcrwZ8col8ZukfAx7HBPfI1Qici6U,19507
205
206
  infrahub/core/schema/computed_attribute.py,sha256=Hf5_2p01SSaIJ_oo4Vkpw7E_Z2FtV_8M0RB1Ol4IebA,1825
@@ -229,7 +230,7 @@ infrahub/core/task/user_task.py,sha256=Pa6h-3a4-lXdYlPhcEORE_Dt9rxn_KZNvm7hQhMHN
229
230
  infrahub/core/timestamp.py,sha256=LzftyzfOJ1wedqm69mvkL_oHczzX3vGNuc7kk1KrK7U,1049
230
231
  infrahub/core/utils.py,sha256=cphgwcCl-nHIEQ7Ea7k1Ees9TXgCqYcRpbT8-9Hz3To,9070
231
232
  infrahub/core/validators/__init__.py,sha256=yl5EZcZxuQ1LYEDD_rEVBHuidRAqkcE_h2iiYSS8oYw,2185
232
- infrahub/core/validators/aggregated_checker.py,sha256=GCOEPt0rhxXgztAmN5B9V0MZmMH0YR-b7o3vY8A7sOk,3432
233
+ infrahub/core/validators/aggregated_checker.py,sha256=HSX_jEJGVGHRBEjpCl80daT6TX7nXtfuROSS8T2a4dc,4728
233
234
  infrahub/core/validators/attribute/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
234
235
  infrahub/core/validators/attribute/choices.py,sha256=qADBw0qoWCaXDUak2kzztr_KZ8D-WdehCyx3ENcQW2k,4295
235
236
  infrahub/core/validators/attribute/enum.py,sha256=R9Wrb7RdssTC355ftyoSCsUTQSxEfek7b7i8UcEddQA,4239
@@ -247,7 +248,7 @@ infrahub/core/validators/models/violation.py,sha256=HroSoltjf_F3XKTpgSC2b8Sb4dQR
247
248
  infrahub/core/validators/node/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
248
249
  infrahub/core/validators/node/attribute.py,sha256=g466gsIZX0rzrmxf0SZRdNz0oQFkfI_gWferKoqReNY,1760
249
250
  infrahub/core/validators/node/generate_profile.py,sha256=p5coSFzxpjsiBFJ1ZaY-_N7177s9fipSpLQq09SCv9g,3148
250
- infrahub/core/validators/node/hierarchy.py,sha256=PxUgkShn6Yz3vfFYJqvFlh8hCHQe_KndlEjtI1RmBmI,7458
251
+ infrahub/core/validators/node/hierarchy.py,sha256=zMr9wKQXkboxOPCfSu5aumoAr8drSuDxwsDAjCJZ4O0,7455
251
252
  infrahub/core/validators/node/inherit_from.py,sha256=ahalDag5Jn-DKr9sf3vmWw7jv69kJ8hBcOBEoLTRwhk,1976
252
253
  infrahub/core/validators/node/relationship.py,sha256=ktUrSeyLUMKUcC8kCiTUh3VgQx2MK986UY80XHGUx0U,1711
253
254
  infrahub/core/validators/query.py,sha256=L_eTQMMrX83W6fYpW0BUJG4clfgfR6jkETivbs9qPyE,1903
@@ -335,15 +336,15 @@ infrahub/events/schema_action.py,sha256=vyfGkUar8ZFy448qUb90mPd4GKNgmcMXqyV5U1K-
335
336
  infrahub/exceptions.py,sha256=PfSJaVtvp6ITwJ6rEk4uhwJ-Ndr8FV_rW4SYZVD3fqM,10549
336
337
  infrahub/generators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
337
338
  infrahub/generators/models.py,sha256=PxRGLFgZj_GmJ3Ox9E8L69XXIouyhUVTcF2EYdpt1HE,1832
338
- infrahub/generators/tasks.py,sha256=KWICMm53KPXRL79Kf7SaZwfkFyYCLRILDD4PZ9c72WE,8598
339
+ infrahub/generators/tasks.py,sha256=rEB4W953P466MzEGyMTXtkWfwFRD7wDsUluuqMCOYtw,8646
339
340
  infrahub/git/__init__.py,sha256=KeQ9U8UI5jDj6KB6j00Oal7MZmtOD9vKqVgiezG_EQA,281
340
- infrahub/git/base.py,sha256=dTB3zFbFst6JX6h2TNgdtY8c6bAXi2CTPNM5vgo4sLQ,35049
341
+ infrahub/git/base.py,sha256=D5mkZ_7-gUVOIjR1kWh1jtfcinCTJgW93C997ajRsOE,37010
341
342
  infrahub/git/constants.py,sha256=xOibCVP3fEkX4u88uTJDw6602HgiqS1GibpOUMdCzdM,165
342
343
  infrahub/git/directory.py,sha256=fozxLXXJPweHG95yQwQkR5yy3sfTdmHiczCAJnsUX54,861
343
- infrahub/git/integrator.py,sha256=eEG2fdI_KipWXMUhGiU0pa83n-ce3-5Wbp1GfCGmIU4,55763
344
- infrahub/git/models.py,sha256=LayI_AXNiWl1kClkKDRB_WUGi9sj-4KgLJ5x-WfCoDk,6513
345
- infrahub/git/repository.py,sha256=9Gy1w57n_1Iq8bZngmerb-08JGayLDa9FUejg3HySDM,11705
346
- infrahub/git/tasks.py,sha256=UjuFn-BBMquZZ79aaMRUvFeQ_e1BBHDRmR7A46mdHt0,23105
344
+ infrahub/git/integrator.py,sha256=Dlho4yxnjxVz79hV6ThVgrB2TFApv-ahWVM7bf6QblI,56560
345
+ infrahub/git/models.py,sha256=zrEusNMzbqTC8U3SCEeM7tZGegNPWUXYK6A6sD1wL5c,6610
346
+ infrahub/git/repository.py,sha256=tDGdRsIfcjjTtCZdIsTWl7u_Pax29O-Fz8J3Ewq-TbY,11693
347
+ infrahub/git/tasks.py,sha256=GHaILsSSbwwc9Pj6wnmolAfSTiVcpJ9Fh1RtW810gtE,23341
347
348
  infrahub/git/worktree.py,sha256=px3zFGy3TpvWFzWR7zHWdRaegocDUZSajpsBd8caDs8,1758
348
349
  infrahub/git_credential/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
349
350
  infrahub/git_credential/askpass.py,sha256=kbluNIrwKJgdV6KnAMlCtOqxmVypj7pC423Fims5UZE,1544
@@ -374,7 +375,7 @@ infrahub/graphql/metrics.py,sha256=viq_M57mDYd4DDK7suUttf1FJTgzQ3U50yOuSw_Nd-s,2
374
375
  infrahub/graphql/models.py,sha256=7kr3DSO_rujPocMIfPyZ5Hwy3Mpnu4ySDMAIE9G5Y7Y,147
375
376
  infrahub/graphql/mutations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
376
377
  infrahub/graphql/mutations/account.py,sha256=MR9hJQCY4LxwdxmhS4UI6GnmwGMdBlOrjq3r0Zx2qgA,5649
377
- infrahub/graphql/mutations/artifact_definition.py,sha256=645qDMbzYq16nDDzSU4hIKw1IPo3xApfVk5jYrHmxvI,2939
378
+ infrahub/graphql/mutations/artifact_definition.py,sha256=DQofuL3YqLordJEl6MJqFtitwD85bUUKP97RIPavS0Q,3245
378
379
  infrahub/graphql/mutations/attribute.py,sha256=a35MP8Pvy_42N5dkO3HKATgJDW6qy9ncDu5t8YI3AUE,2734
379
380
  infrahub/graphql/mutations/branch.py,sha256=PmyoQKdFouDGjMUgy9vLyN3HJfyohS5D7DHpMiL8eKE,8533
380
381
  infrahub/graphql/mutations/computed_attribute.py,sha256=bD9lF5JZhVKUbZsUBCKPAkQrvIdMMe1bCXxDdkEWOOM,4062
@@ -449,7 +450,7 @@ infrahub/message_bus/messages/check_artifact_create.py,sha256=ie_8LOPQUkQSEyc0Cr
449
450
  infrahub/message_bus/messages/check_generator_run.py,sha256=oae5E4MeV2WGBjOAwnDWwrit8SVtm91DcTYnqLr56-Q,1444
450
451
  infrahub/message_bus/messages/check_repository_checkdefinition.py,sha256=0MRU7AatXieegQ9JXEUj6tM1tVBJ5B_TzbH_OcUhDwc,1131
451
452
  infrahub/message_bus/messages/check_repository_mergeconflicts.py,sha256=K-JblwTlSqnzo2BB_rSYbDlPl6LJ7XOAwT0ewG_pHVY,960
452
- infrahub/message_bus/messages/check_repository_usercheck.py,sha256=yE3uOAurT9Z5EnKHunIZCGSNHyRduwm5gzJM5Dp5UPY,1629
453
+ infrahub/message_bus/messages/check_repository_usercheck.py,sha256=mJ1_L9IbeBlWVRq-3405xIGSD81dBAyfS_B_YhPcO_I,1700
453
454
  infrahub/message_bus/messages/event_branch_create.py,sha256=KdCiFoJ4zLJrt55RMqugIoMeN9jBIyZ6dUdKCeMR6T8,417
454
455
  infrahub/message_bus/messages/event_branch_delete.py,sha256=2mxTg2DMAup4HjLJ38vD2GCUE7jvjxrb214rdgGLO6o,412
455
456
  infrahub/message_bus/messages/event_branch_merge.py,sha256=6qMoRr_7gmgomJx5aRkJROQ4oTqDdUiUWg6Ulsh_Yow,305
@@ -476,7 +477,7 @@ infrahub/message_bus/operations/__init__.py,sha256=3aR-vjgfsiydBPBIZGrfZyRc42Jvx
476
477
  infrahub/message_bus/operations/check/__init__.py,sha256=fEClyDpjem6WU8VYMT4eiOCYeSIphRWH9tMCb1sk_yo,97
477
478
  infrahub/message_bus/operations/check/artifact.py,sha256=onfViUi0WBpxVkMV12oyyHFQbP4EhtpZrYJYPOT_TTE,3862
478
479
  infrahub/message_bus/operations/check/generator.py,sha256=UbfMv19qdRUzCAHzWakpIWEtXepgvCbrkLILmE_aD2Y,6747
479
- infrahub/message_bus/operations/check/repository.py,sha256=YO8DNNqlcsPQDS2WCMV5h22bQjZY1JckKZEUGynISyo,11702
480
+ infrahub/message_bus/operations/check/repository.py,sha256=DX6fVQv287sAEUUj4ohDvJy_QUjcGKkv6mpn9ZYawUw,11898
480
481
  infrahub/message_bus/operations/event/__init__.py,sha256=D4jVZSs73S6tQtXNNHu6EgTbim317RKx5Z1q9VdHQXA,93
481
482
  infrahub/message_bus/operations/event/branch.py,sha256=BgZro7nRQhnoL5lfeVT7zzwIUOsOO_p3oz7uVvbq9ZU,2406
482
483
  infrahub/message_bus/operations/event/node.py,sha256=KhTIofJuST9pYRYyDI2MYy_JM9GWeHLDFcVkY0YVfmI,718
@@ -490,13 +491,13 @@ infrahub/message_bus/operations/git/repository.py,sha256=JSoQ7qtUTpIrFWNCRJcGYft
490
491
  infrahub/message_bus/operations/refresh/__init__.py,sha256=vBuvTL4zRRpOMXATmckQ3bx2GnNwhxicFECA8-8ZZXk,47
491
492
  infrahub/message_bus/operations/refresh/registry.py,sha256=AWyIVoh7DvwqD_ihPAa6zbPogUGBZcz8tzTJpySoiUY,1301
492
493
  infrahub/message_bus/operations/requests/__init__.py,sha256=rfYGwmM0qWeQ-BMGYwyoSNF3EGrkrXZp7-UOyHjy49w,217
493
- infrahub/message_bus/operations/requests/artifact_definition.py,sha256=EKulrB4aS3GQ5BO-O3GzNyzVobM8Yr56mHAw0rKv24Q,6531
494
+ infrahub/message_bus/operations/requests/artifact_definition.py,sha256=iOBdguLKqYcqGjLQSJVyc1XS39FULo9HksBL-jqmQpE,6529
494
495
  infrahub/message_bus/operations/requests/generator_definition.py,sha256=cTl-GICgxPVwLRx4yW7tTCOD3W2p2zKvRmZDcTvQ7RM,6105
495
- infrahub/message_bus/operations/requests/proposed_change.py,sha256=wl4PU6IWs3gIpWXyu97W2RPbC6UxZJuVXitHtrCOmy4,21239
496
+ infrahub/message_bus/operations/requests/proposed_change.py,sha256=MegJsFyYHqrC4ocm43-fxfh-1X03v4Jz4z-QW6-gRJs,21361
496
497
  infrahub/message_bus/operations/requests/repository.py,sha256=upeuacErScwFmO5FZRfoG5TvVRkWzLCbFuqrPmaxBh0,5064
497
498
  infrahub/message_bus/operations/send/__init__.py,sha256=ivuUTAknLiWfArR44SxA40l0UKVkdHjtDIx0mg06IcE,39
498
499
  infrahub/message_bus/operations/send/echo.py,sha256=WEqZaB8l2QUNp20Nta66Kh-lzxiZ7iwhrCwb75-EJaE,622
499
- infrahub/message_bus/types.py,sha256=uzqLNm_whGWAzcZOaDvpadTvGVGfretEz9cPBqWvbsY,5551
500
+ infrahub/message_bus/types.py,sha256=Hui3N-j-by4DpB9eK98NPtr7VFueK65uoxLLxE3YQf8,5574
500
501
  infrahub/middleware.py,sha256=g6lPpXewWNcLjyzRsr7FjdTIbdc5H2HitGQX-L7itgI,657
501
502
  infrahub/models.py,sha256=QmwJwo3hNCta8BXM7eLsD9qv1S73Rj0cC_crLpadHTc,715
502
503
  infrahub/permissions/__init__.py,sha256=hGEPIA1YuVFZKXSZ_IzckmIQZ9GPXAZB92Df_FGAKH4,468
@@ -559,32 +560,33 @@ infrahub/tasks/registry.py,sha256=6nUlT9rDggpBZYmWV3Xtf10vb2GzM8m4YPP5CNSpOAA,31
559
560
  infrahub/tasks/telemetry.py,sha256=n-ZBa7qcmaiM_wImm11gv5NvAPYvSiTkedcLgymvwos,5006
560
561
  infrahub/trace.py,sha256=UUk5VeFR93S5zzh4v2tlEriPzZULWqC45xTpVauD1QA,3720
561
562
  infrahub/transformations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
562
- infrahub/transformations/models.py,sha256=gI0kkaEOHnUwf6i29JgKbh-Bm4VmOfXNQT5ZSzVbZ5A,1389
563
- infrahub/transformations/tasks.py,sha256=MlVsbGzK2dIa9jhiuJxA5Y5YxY-efun6iEHAk9qU4r4,1782
563
+ infrahub/transformations/constants.py,sha256=_cVDcd8m1HCyKf8k_pAwdoaPTGD7524reuJTjMV-elc,31
564
+ infrahub/transformations/models.py,sha256=s_nnl1dBUCizNXIFBzoQlLazTuqKD2CnqPXHV0m-qC4,1587
565
+ infrahub/transformations/tasks.py,sha256=GNd-_K6vKM-nD1VnGa5bh5YTsELd7z9YyEjCsMO3PdY,1874
564
566
  infrahub/types.py,sha256=X-MZ6q8ykYRuDiU8ieaG_nLwFcMLKbs-MULG3Ojx8iU,11295
565
567
  infrahub/utils.py,sha256=RL9HY0K2wMz-yHMOofdCBI9ayK9DUuZ-jVzELpTCp30,2382
566
568
  infrahub/visuals.py,sha256=N62G4oOOIYNFpvMjKq7uos-oZAZybGMp57uh5jsVX9w,627
567
569
  infrahub/webhook/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
568
570
  infrahub/webhook/constants.py,sha256=rcd4ZEu72Xer7YXhem2zs3d1Heia2QyOWT5xb6bkOqc,108
569
- infrahub/webhook/models.py,sha256=2srgtfvEmC3egGsC3DkdymxiZ3yCr-kxPkspS0SnGqM,3600
571
+ infrahub/webhook/models.py,sha256=Gj7iRzWXyU7hkc36HXbIDw80RgAnRA3qUM78vcJdWqQ,4019
570
572
  infrahub/webhook/tasks.py,sha256=oIXmaiSAYsQE_uOUTK-Se_p-5v8n9roGJK5wXTaF3oo,9657
571
573
  infrahub/worker.py,sha256=JtTM-temURUbpEy-bkKJuTt-GKoiHFDrOe9SyVTIXEM,49
572
574
  infrahub/workers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
573
575
  infrahub/workers/infrahub_async.py,sha256=neDHdNBCZ5ZIVpzBzMT5XMKuzuud4k7fTjCYJSsUB5Q,8731
574
576
  infrahub/workflows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
575
- infrahub/workflows/catalogue.py,sha256=hlSh1Rlr2n58gJMya87TP9vw-nJ3J35kLIT38ZENwBg,13377
577
+ infrahub/workflows/catalogue.py,sha256=X5ILr3lwkr9dnIYS72nOnWSypHGDmVrRUug_aWH6z2I,13377
576
578
  infrahub/workflows/constants.py,sha256=7je2FF7tJH6x_ZNqHKZfQX91X7I5gmD8OECN3dE_eqI,651
577
579
  infrahub/workflows/initialization.py,sha256=0TrVsH69IiJhWfl92f9aWXzfJW5-rWBycOgDXPc6Gsg,3030
578
580
  infrahub/workflows/models.py,sha256=Egyrlxsl3QiW7vITis7Lg8MznG9QLCUs9_KHzf_Qh3c,2573
579
581
  infrahub/workflows/utils.py,sha256=oXeQY0Zx3xOLi0ghQZXVBAZcr6lQPaOjCJ9iya1ZNos,2554
580
582
  infrahub_sdk/__init__.py,sha256=weZAa06Ar0NO5IOKLQICtCceHUCKQxbkBxHebqQGJ1o,401
581
583
  infrahub_sdk/_importer.py,sha256=8oHTMxa_AMO_qbfb3UXNfjSr31S5YJTcqe-YMrixY_E,2257
582
- infrahub_sdk/analyzer.py,sha256=ejvt1xvQ6_Zbt2Etd44wwT5nesBckbbzOChJT44BsmM,4154
584
+ infrahub_sdk/analyzer.py,sha256=UDJN372vdAiuAv2TEyPUlsSVoUfZN6obWkIokNNaHbA,4148
583
585
  infrahub_sdk/async_typer.py,sha256=Gj7E8EGdjA-XF404vr9cBt20mmbroQh7N68HXhWYx00,892
584
586
  infrahub_sdk/batch.py,sha256=WSAPAPvRvcHR7aCFH56RcqKaVxsig1A5nIdg0mmSZBQ,3879
585
587
  infrahub_sdk/branch.py,sha256=hmtoIekQ1uusoJ6yEKlw6vrFMTAHJrXu-YsqqCQC_kc,12716
586
- infrahub_sdk/checks.py,sha256=fm-TBXlb0VnNlxf_1JVHXqRXAjsqLUmsbajBWAvDPRo,5655
587
- infrahub_sdk/client.py,sha256=eKBXdtloCkaNSJyQ5CcUUGszkF0zsyLFT8wSmwyBbGg,99466
588
+ infrahub_sdk/checks.py,sha256=AmlCim-9Mbhpye_yYAaV_NM-pFL4_JvQGEVM3cJsaqY,5700
589
+ infrahub_sdk/client.py,sha256=yuD-uvx_5LLXqHm9sjo0jei1AH-xGgl4DhYJcoqH8uw,99592
588
590
  infrahub_sdk/code_generator.py,sha256=UJoqofjO7WSHygORhok0RRUv7HG4aTcl6htczaKNBjc,4411
589
591
  infrahub_sdk/config.py,sha256=hjF4Fo6NrxxLHaS1XBZ1O2o0aU7IILEyhPXRiiRedjc,7190
590
592
  infrahub_sdk/constants.py,sha256=Ca66r09eDzpmMhfFAspKFSehSxOmoflVongP-UuBDc4,138
@@ -593,19 +595,19 @@ infrahub_sdk/ctl/_file.py,sha256=FdbveH5t6jVZvANTGDYKRTt1BhfnL6D_6qKDiJlXxkE,498
593
595
  infrahub_sdk/ctl/branch.py,sha256=CgKi7GwkI0cebbYOfaQQd3h7uG4JVmoEUVQHda_MOr4,4733
594
596
  infrahub_sdk/ctl/check.py,sha256=0OyicWSCUsuHOn5ef2t6LBcIKJugzKCdlsUsb44tfKI,7921
595
597
  infrahub_sdk/ctl/cli.py,sha256=A9jJKYBo5opzIIyWYf6niyAHhy49V59g6biueMDFbpE,328
596
- infrahub_sdk/ctl/cli_commands.py,sha256=lM-i1GFbOYqE4e0twUWMdsH7d1EIpSiUMnFAM8A0t5U,18881
598
+ infrahub_sdk/ctl/cli_commands.py,sha256=d46DBf6hRynKEn_olTuaVnPF1qgo6paF0mlSPtENkGA,18889
597
599
  infrahub_sdk/ctl/client.py,sha256=6bmXmQta9qQCJ8HybQwt2uSF2X1Em91xNFpwiKFujxs,2083
598
600
  infrahub_sdk/ctl/config.py,sha256=y3kTvfxDO2FKzgvaIXKPKOES7BqXT-s9Kuww7ROfs-4,3039
599
601
  infrahub_sdk/ctl/constants.py,sha256=owzqZB_xkTzxsYvX3NyuSwATzA0rIABmbKiWzuqz3aw,3229
600
602
  infrahub_sdk/ctl/exceptions.py,sha256=U3y76emz3vbj55SHAeB58CEK80UFBVnSIBNUHpm_BNs,467
601
- infrahub_sdk/ctl/exporter.py,sha256=OLUzIscDeT6N2Rs0mMYEphlWlh79oa6mU_2_vna2sgo,1880
603
+ infrahub_sdk/ctl/exporter.py,sha256=cxnnLFGg845zgvzBGNrhJbvf3v771bMZmHZ509hqR60,1878
602
604
  infrahub_sdk/ctl/generator.py,sha256=jVsI0w6CeQQuGpo1-bcR2_4jCgs00Owe7JU_tJdRp6c,4126
603
- infrahub_sdk/ctl/importer.py,sha256=AUjBCtAiyH1kg3QiqliuqlyjktB5AwirjO9uOi44gQ8,1835
605
+ infrahub_sdk/ctl/importer.py,sha256=VAFKlOY0YLscF79Rzws7n1NTOQORFoW2mvYORW4vbPU,1879
604
606
  infrahub_sdk/ctl/menu.py,sha256=6cd_0KDiUUu73nXtDlg-oots8DKqaHcYBy-llpDEN4g,1465
605
607
  infrahub_sdk/ctl/object.py,sha256=_E0DYtaoPZVAuaT-a4Ar6ZoIpsMsc0rn_0flEQKgfto,1284
606
608
  infrahub_sdk/ctl/parameters.py,sha256=aU2H41svfG309m2WdH6R9H5xgQ4gevn3ItOu5ltuVas,413
607
609
  infrahub_sdk/ctl/render.py,sha256=KJsZQ6iNW4u8K_dtEKmJxtTpkSMR_zP2YT-IP6Z85tc,401
608
- infrahub_sdk/ctl/repository.py,sha256=uoiD_QzlvZ7F3h72fYqHSCx-Ht6JX6g_Fh83gDZmC4s,3007
610
+ infrahub_sdk/ctl/repository.py,sha256=jyfRRE3mMPMEKJUIr5XfCdG9Y144MvDT86sE-op_mWY,4754
609
611
  infrahub_sdk/ctl/schema.py,sha256=28eHiWWsuQgOVa8FiIa94pb6tk6-xTQXq9Il2MnbnkU,7060
610
612
  infrahub_sdk/ctl/transform.py,sha256=5qRqiKeEefs0rda6RAFAAj1jkCKdbPYE_t8O-n436LQ,414
611
613
  infrahub_sdk/ctl/utils.py,sha256=_Uy-AAgFzp7CqrO1cfFOhAspScv3wlGeBwMqwf_FZAs,7006
@@ -613,11 +615,11 @@ infrahub_sdk/ctl/validate.py,sha256=6DHhk6ubZih-FaNfX6m8G0HwOEJuJk6DFHCg1oAaZtQ,
613
615
  infrahub_sdk/data.py,sha256=t3jCqmnYM8rhTZlPlc37aW8zKMKLLVcTWHozH9qb0Bs,870
614
616
  infrahub_sdk/diff.py,sha256=Ms-3YyXo-DoF1feV9qP7GKakBYUNFsULZdy-yMEG71w,4258
615
617
  infrahub_sdk/exceptions.py,sha256=S563xPBgwvdXkVS42XLLTuCkdVnrXOZyDSY8aFd3udc,4436
616
- infrahub_sdk/generator.py,sha256=AI9Zl4aygoJHZa4vlGMpy1aSx7h1EFkSJxe4ULYy1g0,5197
618
+ infrahub_sdk/generator.py,sha256=TVxSDByNnnuqFOpmi2mBgUZnU07PudvH8J-aM8QtwMM,5242
617
619
  infrahub_sdk/graphql.py,sha256=qw1HJ95-JhRS_zrsyDj5P_PWKuUNgoXvH1q-Kfs27IA,5861
618
620
  infrahub_sdk/groups.py,sha256=GL14ByW4GHrkqOLJ-_vGhu6bkYDxljqPtkErcQVehv0,711
619
621
  infrahub_sdk/jinja2.py,sha256=lTfV9E_P5gApaX6RW9M8U8oixQi-0H3U8wcs8fdGVaU,1150
620
- infrahub_sdk/node.py,sha256=qip_0VxnfxzcD3ag7mZK4R83J3Ra1kkEDpHmLlkDh8I,87496
622
+ infrahub_sdk/node.py,sha256=kwVswivc5kPnmzXjFB8Mt-BFbLhOQcp70PMl63CmkIc,87484
621
623
  infrahub_sdk/object_store.py,sha256=d-EDnxPpw_7BsbjbGbH50rjt-1-Ojj2zNrhFansP5hA,4299
622
624
  infrahub_sdk/playback.py,sha256=ubkY1LiW_wFwm4auerdQ0zFJcFJZ1SYQT6-d4bxzaLg,1906
623
625
  infrahub_sdk/protocols.py,sha256=vmAuV_IjjbslSshrmFjKYcSMtyzi0vlgwj9UufCo4Hc,21233
@@ -625,11 +627,11 @@ infrahub_sdk/protocols_base.py,sha256=9aE5K2mwZ0xAza_yBppVWVRDds9ALhQqJofOjT-Ala
625
627
  infrahub_sdk/pytest_plugin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
626
628
  infrahub_sdk/pytest_plugin/exceptions.py,sha256=ek2WyTBPuZdxhJClOhLo4EcFdvgE4BP0q26OiAr-Sec,2185
627
629
  infrahub_sdk/pytest_plugin/items/__init__.py,sha256=Au90dLk6lbSgRAoqrZOdYJ6m0lwFJYHFiAQHrcc6_rI,1026
628
- infrahub_sdk/pytest_plugin/items/base.py,sha256=76UFlFxb9D2umZFdSLPERNrANgqMB4QLkLDaGucCcNo,3245
630
+ infrahub_sdk/pytest_plugin/items/base.py,sha256=-S7Xp3Zf7oQkw8EuqUI9lWWBzhKTfNdkn0UUjSqX9Zc,3068
629
631
  infrahub_sdk/pytest_plugin/items/check.py,sha256=cEF9jC61EJzlYCf1YUGF241XO7F7zhkHAg2T_EPmIN8,3364
630
- infrahub_sdk/pytest_plugin/items/graphql_query.py,sha256=DfYF9hdnhHEHqPCMd7wq0XQaY8HnQXlAjMbalc3UfdI,2346
631
- infrahub_sdk/pytest_plugin/items/jinja2_transform.py,sha256=qmsJqOXnTNzJFp2zR4uC3FJEGTL7Pci7T5LhOGDNfLE,5360
632
- infrahub_sdk/pytest_plugin/items/python_transform.py,sha256=VrIuES9GiSTfsX6-PvLlZj6v0kAosvM9Q5NP2l3wzUM,4120
632
+ infrahub_sdk/pytest_plugin/items/graphql_query.py,sha256=q6MyqeuwwzHSUyZLGo3wyae8RbVjYSiEN_H6fm4cGT0,2340
633
+ infrahub_sdk/pytest_plugin/items/jinja2_transform.py,sha256=H9hJPO6LeZ07RlNlmwCs1CPm_6jygG6FMUyH1-GE_lA,5354
634
+ infrahub_sdk/pytest_plugin/items/python_transform.py,sha256=Yp5cy6CmlBFDCG2x40msRKiS3NTBdFWi9rmGGD95jcM,4114
633
635
  infrahub_sdk/pytest_plugin/loader.py,sha256=x9sOKGYQeDewx_y5RlGPF2C-ZV44eolfC0c6BOjDAug,4248
634
636
  infrahub_sdk/pytest_plugin/models.py,sha256=2zpsLuBvtZEGe1yH57_JzKSk_wWhebz77R8Y-VfuD48,7131
635
637
  infrahub_sdk/pytest_plugin/plugin.py,sha256=Sv4eSZmAuTvQmtAAJU1FOz6tFuUdvdybIK6XuA1U6KM,4507
@@ -637,6 +639,7 @@ infrahub_sdk/pytest_plugin/utils.py,sha256=AfSAgRXBGdx__8MNQJG7faw68ioZzk37CM4ZP
637
639
  infrahub_sdk/queries.py,sha256=s4gnx67e-MNg-3jP4Vx1jreO9uiW3uYPllFQgaTODdQ,2308
638
640
  infrahub_sdk/query_groups.py,sha256=Hg6MdjU9wSWQmtKktlmKCHcwjlodz7L_VPPou-jC8vk,11434
639
641
  infrahub_sdk/recorder.py,sha256=G134AfAwE5efSqArVJneurF2JIEuhvSJWWI3woPczgI,2194
642
+ infrahub_sdk/repository.py,sha256=PbSHHl6ajIeZu1t4pH1j7qzR-DPOkGuzubcNM02NuV0,1011
640
643
  infrahub_sdk/schema/__init__.py,sha256=RINn1qvejp88Y57Ov1D7ceYkxV2gpYMucldJPiNkjLU,25879
641
644
  infrahub_sdk/schema/main.py,sha256=rySdEBJNMVpulWKMRw3ARqSbZPiFBHRYR2nqZvYp1VY,10580
642
645
  infrahub_sdk/schema/repository.py,sha256=AAITXGprCPb2WptJSRhj9gEbRrW1HHM-yEPYAgsztcU,11299
@@ -644,10 +647,9 @@ infrahub_sdk/spec/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
644
647
  infrahub_sdk/spec/menu.py,sha256=LvNLuBEkiLTMNgM3kseIzM7wQ_zK_2uXM_anUNu6Pfc,1059
645
648
  infrahub_sdk/spec/object.py,sha256=H55fctUrQUDbRrRJJQQcXHppVOeMye6ykBoo6lCasDw,5012
646
649
  infrahub_sdk/store.py,sha256=kWJ9UvirLuSHLuDDzTd4-ualTkuRocy9W0J7TdL60Po,5734
647
- infrahub_sdk/task_report.py,sha256=17z02C1g2mkHRoUBAzAgGVLeHXw7X1YHxBLyJ5b8a_M,6400
648
650
  infrahub_sdk/testing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
649
651
  infrahub_sdk/testing/docker.py,sha256=V089h9fGjNnXVdw7Fw-mloSBgSnjXT9rvnDpj7cecoI,724
650
- infrahub_sdk/testing/repository.py,sha256=hD-3Yg9UZa0LUKmJTgD0K29iAJo0_C5vJw-l1Zqlhvs,3194
652
+ infrahub_sdk/testing/repository.py,sha256=9s4MMaMljbJe97Ua4bJgc64giQ2UMC0bD5qIqYd4YNk,3571
651
653
  infrahub_sdk/testing/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
652
654
  infrahub_sdk/testing/schemas/animal.py,sha256=5frpoBCeGaM05X8sFxIDQUH93JrPsa-kIYKb8xcQxcw,6796
653
655
  infrahub_sdk/testing/schemas/car_person.py,sha256=1VwgJMJvVggsQyRdSqDjiLrPzysz8cXFSFzSghVSVms,8940
@@ -663,17 +665,17 @@ infrahub_sdk/transfer/importer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5
663
665
  infrahub_sdk/transfer/importer/interface.py,sha256=TN7FH_LgThkBjrpWwkdTZIVJPtNklAYiK3Mn6RPs7IM,195
664
666
  infrahub_sdk/transfer/importer/json.py,sha256=-Tlmg22TiBrEqXOSLMnUzlCFOZ2M0Q8lWyPbwjUjifw,9654
665
667
  infrahub_sdk/transfer/schema_sorter.py,sha256=ZoBjJGFT-6jQoKOLaoOPMAWzs7vGOeo7x6zOOP4LNv0,1244
666
- infrahub_sdk/transforms.py,sha256=1M6x5xwQywGert341YRNGzV09aQVouD-gop5446zfJQ,2508
668
+ infrahub_sdk/transforms.py,sha256=5fmoBBKWGhFCu0NLKlSF95GAbbCi2k25zWiWjtsd2dA,2558
667
669
  infrahub_sdk/types.py,sha256=UeZ1rDp4eyH12ApTcUD9a1OOtCp3IL1YZUeeZ06qF-I,1726
668
- infrahub_sdk/utils.py,sha256=sdCyW4t1wphXwY6kicR9g_ufhwATmRMzJA-4BT1rS9U,10730
670
+ infrahub_sdk/utils.py,sha256=5rnk-ZfMoMvNHH72D0Bb5OVRjyk6cJ__UoKvZlUNzns,11064
669
671
  infrahub_sdk/uuidt.py,sha256=Tz-4nHkJwbi39UT3gaIe2wJeZNAoBqf6tm3sw7LZbXc,2155
670
672
  infrahub_sdk/yaml.py,sha256=dxdzEjuaG-OwF2XIcA2YXoFEmF4TeiwKju5K2uOQhgQ,2963
671
673
  infrahub_testcontainers/__init__.py,sha256=oPpmesGgYBSdKTg1L37FGwYBeao1EHury5SJGul-CT8,216
672
674
  infrahub_testcontainers/container.py,sha256=g0AOvnV3z_-wGCMOUBCaK4-U_ST38YvGXYqZbfGtKXY,4421
673
- infrahub_testcontainers/docker-compose.test.yml,sha256=MAF39rw6DONzZq1b2Ujndu545RI2xvOuq1PjHwc8Vto,5360
675
+ infrahub_testcontainers/docker-compose.test.yml,sha256=lS-mXnL73rOVXs3nW1R_BsfSGH8_d38fwxVkH_3Uf9o,5352
674
676
  infrahub_testcontainers/helpers.py,sha256=3K6Bbfcr19DwH9pfc-WE6ehqIUbAXx1NruVOkKJoXvY,2274
675
- infrahub_server-1.1.3.dist-info/LICENSE.txt,sha256=TfPDBt3ar0uv_f9cqCDMZ5rIzW3CY8anRRd4PkL6ejs,34522
676
- infrahub_server-1.1.3.dist-info/METADATA,sha256=Mlve3PnYMfKZRLcGrMTlRdTApjWCQ7BCM40y6384IO4,4660
677
- infrahub_server-1.1.3.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
678
- infrahub_server-1.1.3.dist-info/entry_points.txt,sha256=JNQoBcLpUyfeOMhls_-uX1CdJ8Vl-AFSh9UhzTcKdjA,329
679
- infrahub_server-1.1.3.dist-info/RECORD,,
677
+ infrahub_server-1.1.5.dist-info/LICENSE.txt,sha256=TfPDBt3ar0uv_f9cqCDMZ5rIzW3CY8anRRd4PkL6ejs,34522
678
+ infrahub_server-1.1.5.dist-info/METADATA,sha256=Se7eVlfb7V0bwVcZj9lWB1pPWkF3d4Afd7XQelETyig,4702
679
+ infrahub_server-1.1.5.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
680
+ infrahub_server-1.1.5.dist-info/entry_points.txt,sha256=JNQoBcLpUyfeOMhls_-uX1CdJ8Vl-AFSh9UhzTcKdjA,329
681
+ infrahub_server-1.1.5.dist-info/RECORD,,
@@ -112,7 +112,7 @@ services:
112
112
  - "storage_data:/opt/infrahub/storage"
113
113
  tty: true
114
114
  healthcheck:
115
- test: curl -s -f -o /dev/null http://localhost:8000/api/schema/summary || exit 1
115
+ test: curl -s -f -o /dev/null http://localhost:8000/api/config || exit 1
116
116
  interval: 5s
117
117
  timeout: 5s
118
118
  retries: 20
@@ -1,208 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from typing import TYPE_CHECKING, Any, Final, Protocol, TypedDict, Union, runtime_checkable
4
-
5
- from typing_extensions import Self
6
-
7
- from .uuidt import generate_uuid
8
-
9
- if TYPE_CHECKING:
10
- from types import TracebackType
11
-
12
- from .client import InfrahubClient
13
-
14
-
15
- class Log(TypedDict):
16
- message: str
17
- severity: str
18
-
19
-
20
- TaskLogs = Union[list[Log], Log]
21
-
22
-
23
- class TaskReport:
24
- def __init__(
25
- self,
26
- client: InfrahubClient,
27
- logger: InfrahubLogger,
28
- related_node: str,
29
- title: str,
30
- task_id: str | None = None,
31
- created_by: str | None = None,
32
- create_with_context: bool = True,
33
- ):
34
- self.client = client
35
- self.title = title
36
- self.task_id: Final = task_id or generate_uuid()
37
- self.related_node: Final = related_node
38
- self.created_by: Final = created_by
39
- self.has_failures: bool = False
40
- self.finalized: bool = False
41
- self.created: bool = False
42
- self.create_with_context = create_with_context
43
- self.log = logger
44
-
45
- async def __aenter__(self) -> Self:
46
- if self.create_with_context:
47
- await self.create()
48
- return self
49
-
50
- async def __aexit__(
51
- self,
52
- exc_type: type[BaseException] | None,
53
- exc_value: BaseException | None,
54
- traceback: TracebackType | None,
55
- ) -> None:
56
- if exc_type:
57
- self.finalized = True
58
- await self.update(conclusion="FAILURE", logs={"message": str(exc_value), "severity": "ERROR"})
59
-
60
- if self.finalized or not self.created:
61
- return
62
-
63
- conclusion = "FAILURE" if self.has_failures else "SUCCESS"
64
- await self.update(conclusion=conclusion)
65
-
66
- async def create(self, title: str | None = None, conclusion: str = "UNKNOWN", logs: TaskLogs | None = None) -> None:
67
- variables: dict[str, Any] = {
68
- "related_node": self.related_node,
69
- "task_id": self.task_id,
70
- "title": title or self.title,
71
- "conclusion": conclusion,
72
- }
73
- if self.created_by:
74
- variables["created_by"] = self.created_by
75
- if logs:
76
- variables["logs"] = logs
77
-
78
- await self.client.execute_graphql(
79
- query=CREATE_TASK,
80
- variables=variables,
81
- )
82
- self.created = True
83
-
84
- async def info(self, event: str, *args: Any, **kw: Any) -> None:
85
- self.log.info(event, *args, **kw)
86
- await self.update(logs={"severity": "INFO", "message": event})
87
-
88
- async def warning(self, event: str, *args: Any, **kw: Any) -> None:
89
- self.log.warning(event, *args, **kw)
90
- await self.update(logs={"severity": "WARNING", "message": event})
91
-
92
- async def error(self, event: str, *args: Any, **kw: Any) -> None:
93
- self.log.error(event, *args, **kw)
94
- self.has_failures = True
95
- await self.update(logs={"severity": "ERROR", "message": event})
96
-
97
- async def critical(self, event: str, *args: Any, **kw: Any) -> None:
98
- self.log.critical(event, *args, **kw)
99
- self.has_failures = True
100
- await self.update(logs={"severity": "CRITICAL", "message": event})
101
-
102
- async def exception(self, event: str, *args: Any, **kw: Any) -> None:
103
- self.log.critical(event, *args, **kw)
104
- self.has_failures = True
105
- await self.update(logs={"severity": "CRITICAL", "message": event})
106
-
107
- async def finalise(
108
- self, title: str | None = None, conclusion: str = "SUCCESS", logs: TaskLogs | None = None
109
- ) -> None:
110
- self.finalized = True
111
- await self.update(title=title, conclusion=conclusion, logs=logs)
112
-
113
- async def update(
114
- self, title: str | None = None, conclusion: str | None = None, logs: TaskLogs | None = None
115
- ) -> None:
116
- if not self.created:
117
- await self.create()
118
- variables: dict[str, Any] = {"task_id": self.task_id}
119
- if conclusion:
120
- variables["conclusion"] = conclusion
121
- if title:
122
- variables["title"] = title
123
- if logs:
124
- variables["logs"] = logs
125
- await self.client.execute_graphql(query=UPDATE_TASK, variables=variables)
126
-
127
-
128
- class InfrahubLogger(Protocol):
129
- def debug(self, event: str | None = None, *args: Any, **kw: Any) -> Any:
130
- """Send a debug event"""
131
-
132
- def info(self, event: str | None = None, *args: Any, **kw: Any) -> Any:
133
- """Send an info event"""
134
-
135
- def warning(self, event: str | None = None, *args: Any, **kw: Any) -> Any:
136
- """Send a warning event"""
137
-
138
- def error(self, event: str | None = None, *args: Any, **kw: Any) -> Any:
139
- """Send an error event."""
140
-
141
- def critical(self, event: str | None = None, *args: Any, **kw: Any) -> Any:
142
- """Send a critical event."""
143
-
144
- def exception(self, event: str | None = None, *args: Any, **kw: Any) -> Any:
145
- """Send an exception event."""
146
-
147
-
148
- @runtime_checkable
149
- class InfrahubTaskReportLogger(Protocol):
150
- async def info(self, event: str | None = None, *args: Any, **kw: Any) -> Any:
151
- """Send an info event"""
152
-
153
- async def warning(self, event: str | None = None, *args: Any, **kw: Any) -> Any:
154
- """Send a warning event"""
155
-
156
- async def error(self, event: str | None = None, *args: Any, **kw: Any) -> Any:
157
- """Send an error event."""
158
-
159
- async def critical(self, event: str | None = None, *args: Any, **kw: Any) -> Any:
160
- """Send a critical event."""
161
-
162
- async def exception(self, event: str | None = None, *args: Any, **kw: Any) -> Any:
163
- """Send an exception event."""
164
-
165
-
166
- CREATE_TASK = """
167
- mutation CreateTask(
168
- $conclusion: TaskConclusion!,
169
- $title: String!,
170
- $task_id: UUID,
171
- $related_node: String!,
172
- $created_by: String,
173
- $logs: [RelatedTaskLogCreateInput]
174
- ) {
175
- InfrahubTaskCreate(
176
- data: {
177
- id: $task_id,
178
- title: $title,
179
- related_node: $related_node,
180
- conclusion: $conclusion,
181
- created_by: $created_by,
182
- logs: $logs
183
- }
184
- ) {
185
- ok
186
- }
187
- }
188
- """
189
-
190
- UPDATE_TASK = """
191
- mutation UpdateTask(
192
- $conclusion: TaskConclusion,
193
- $title: String,
194
- $task_id: UUID!,
195
- $logs: [RelatedTaskLogCreateInput]
196
- ) {
197
- InfrahubTaskUpdate(
198
- data: {
199
- id: $task_id,
200
- title: $title,
201
- conclusion: $conclusion,
202
- logs: $logs
203
- }
204
- ) {
205
- ok
206
- }
207
- }
208
- """