infrahub-server 1.7.2__py3-none-any.whl → 1.7.4__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.
- infrahub/computed_attribute/gather.py +3 -1
- infrahub/core/diff/query/merge.py +2 -1
- infrahub/core/graph/__init__.py +1 -1
- infrahub/core/migrations/graph/__init__.py +2 -0
- infrahub/core/migrations/graph/m056_update_schema_node_generic_constraints.py +106 -0
- infrahub/core/query/relationship.py +0 -1
- infrahub/core/schema/basenode_schema.py +27 -6
- infrahub/core/schema/definitions/internal.py +1 -1
- infrahub/core/schema/manager.py +2 -1
- infrahub/generators/tasks.py +1 -1
- infrahub/graphql/loaders/peers.py +1 -1
- infrahub/workers/utils.py +1 -1
- {infrahub_server-1.7.2.dist-info → infrahub_server-1.7.4.dist-info}/METADATA +1 -1
- {infrahub_server-1.7.2.dist-info → infrahub_server-1.7.4.dist-info}/RECORD +17 -16
- {infrahub_server-1.7.2.dist-info → infrahub_server-1.7.4.dist-info}/WHEEL +0 -0
- {infrahub_server-1.7.2.dist-info → infrahub_server-1.7.4.dist-info}/entry_points.txt +0 -0
- {infrahub_server-1.7.2.dist-info → infrahub_server-1.7.4.dist-info}/licenses/LICENSE.txt +0 -0
|
@@ -166,7 +166,9 @@ async def gather_trigger_computed_attribute_python(
|
|
|
166
166
|
branches_with_diff_from_main = list(branches.keys())
|
|
167
167
|
|
|
168
168
|
branches_to_process: list[tuple[str, list[str]]] = [(branch, []) for branch in branches_with_diff_from_main]
|
|
169
|
-
|
|
169
|
+
|
|
170
|
+
if registry.default_branch in branches.keys():
|
|
171
|
+
branches_to_process.append((registry.default_branch, branches_with_diff_from_main))
|
|
170
172
|
|
|
171
173
|
for branch_scope, branches_out_of_scope in branches_to_process:
|
|
172
174
|
trigger_python = ComputedAttrPythonTriggerDefinition.from_object(
|
|
@@ -39,6 +39,7 @@ class DiffMergeQuery(Query):
|
|
|
39
39
|
"branch_level": self.target_branch.hierarchy_level,
|
|
40
40
|
"target_branch": self.target_branch.name,
|
|
41
41
|
"source_branch": self.source_branch_name,
|
|
42
|
+
"global_branch": GLOBAL_BRANCH_NAME,
|
|
42
43
|
"migrated_kinds_id_map": self.migrated_kinds_id_map,
|
|
43
44
|
"migrated_kinds_uuids": list(self.migrated_kinds_id_map.keys()),
|
|
44
45
|
}
|
|
@@ -270,7 +271,7 @@ CALL (n, node_diff_map, is_node_kind_migration) {
|
|
|
270
271
|
CALL (rel_peer_id, rel_peer_db_id) {
|
|
271
272
|
MATCH (rel_peer:Node {uuid: rel_peer_id})-[target_is_part_of:IS_PART_OF]->(:Root)
|
|
272
273
|
WHERE (rel_peer_db_id IS NULL OR elementId(rel_peer) = rel_peer_db_id)
|
|
273
|
-
AND target_is_part_of.branch IN [$source_branch, $target_branch]
|
|
274
|
+
AND target_is_part_of.branch IN [$source_branch, $target_branch, $global_branch]
|
|
274
275
|
RETURN rel_peer
|
|
275
276
|
ORDER BY target_is_part_of.branch_level DESC, target_is_part_of.from DESC, target_is_part_of.status ASC
|
|
276
277
|
LIMIT 1
|
infrahub/core/graph/__init__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
GRAPH_VERSION =
|
|
1
|
+
GRAPH_VERSION = 56
|
|
@@ -57,6 +57,7 @@ from .m052_fix_global_branch_level import Migration052
|
|
|
57
57
|
from .m053_fix_branch_level_zero import Migration053
|
|
58
58
|
from .m054_cleanup_orphaned_nodes import Migration054
|
|
59
59
|
from .m055_remove_webhook_validate_certificates_default import Migration055
|
|
60
|
+
from .m056_update_schema_node_generic_constraints import Migration056
|
|
60
61
|
|
|
61
62
|
if TYPE_CHECKING:
|
|
62
63
|
from ..shared import MigrationTypes
|
|
@@ -118,6 +119,7 @@ MIGRATIONS: list[type[MigrationTypes]] = [
|
|
|
118
119
|
Migration053,
|
|
119
120
|
Migration054,
|
|
120
121
|
Migration055,
|
|
122
|
+
Migration056,
|
|
121
123
|
]
|
|
122
124
|
|
|
123
125
|
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import TYPE_CHECKING
|
|
4
|
+
|
|
5
|
+
from infrahub.core import registry
|
|
6
|
+
from infrahub.core.branch import Branch
|
|
7
|
+
from infrahub.core.migrations.shared import MigrationInput, MigrationResult, get_migration_console
|
|
8
|
+
from infrahub.core.schema import SchemaRoot, internal_schema
|
|
9
|
+
from infrahub.core.schema.definitions.internal import (
|
|
10
|
+
generic_schema as internal_generic_schema,
|
|
11
|
+
)
|
|
12
|
+
from infrahub.core.schema.definitions.internal import (
|
|
13
|
+
node_schema as internal_node_schema,
|
|
14
|
+
)
|
|
15
|
+
from infrahub.core.schema.manager import SchemaManager
|
|
16
|
+
from infrahub.log import get_logger
|
|
17
|
+
|
|
18
|
+
from ..shared import ArbitraryMigration
|
|
19
|
+
|
|
20
|
+
if TYPE_CHECKING:
|
|
21
|
+
from infrahub.core.timestamp import Timestamp
|
|
22
|
+
from infrahub.database import InfrahubDatabase
|
|
23
|
+
|
|
24
|
+
log = get_logger()
|
|
25
|
+
console = get_migration_console()
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
async def update_schema_on_branch(db: InfrahubDatabase, branch: Branch, at: Timestamp, user_id: str) -> None:
|
|
29
|
+
"""Update SchemaNode and SchemaGeneric on a specific branch."""
|
|
30
|
+
# Load schema for this branch
|
|
31
|
+
manager = SchemaManager()
|
|
32
|
+
registry.schema = manager
|
|
33
|
+
internal_schema_root = SchemaRoot(**internal_schema)
|
|
34
|
+
manager.register_schema(schema=internal_schema_root)
|
|
35
|
+
schema_branch = await manager.load_schema_from_db(db=db, branch=branch)
|
|
36
|
+
|
|
37
|
+
node_kind = "SchemaNode"
|
|
38
|
+
node_schema = schema_branch.get_node(name=node_kind, duplicate=False)
|
|
39
|
+
node_schema_node = await manager.get_one(db=db, branch=branch, id=node_schema.get_id(), prefetch_relationships=True)
|
|
40
|
+
current_node_schema = await manager.convert_node_schema_to_schema(db=db, schema_node=node_schema_node)
|
|
41
|
+
|
|
42
|
+
generic_kind = "SchemaGeneric"
|
|
43
|
+
generic_schema = schema_branch.get_node(name=generic_kind, duplicate=False)
|
|
44
|
+
generic_schema_node = await manager.get_one(
|
|
45
|
+
db=db, branch=branch, id=generic_schema.get_id(), prefetch_relationships=True
|
|
46
|
+
)
|
|
47
|
+
current_generic_schema = await manager.convert_node_schema_to_schema(db=db, schema_node=generic_schema_node)
|
|
48
|
+
|
|
49
|
+
for current_schema, internal_schema_spec in [
|
|
50
|
+
(current_node_schema, internal_node_schema),
|
|
51
|
+
(current_generic_schema, internal_generic_schema),
|
|
52
|
+
]:
|
|
53
|
+
# Update SchemaNode
|
|
54
|
+
changed = False
|
|
55
|
+
if current_schema.human_friendly_id != internal_schema_spec.human_friendly_id:
|
|
56
|
+
current_schema.human_friendly_id = internal_schema_spec.human_friendly_id
|
|
57
|
+
changed = True
|
|
58
|
+
if current_schema.uniqueness_constraints != internal_schema_spec.uniqueness_constraints:
|
|
59
|
+
current_schema.uniqueness_constraints = internal_schema_spec.uniqueness_constraints
|
|
60
|
+
changed = True
|
|
61
|
+
|
|
62
|
+
# Update the name attribute to be unique = False
|
|
63
|
+
name_attr = current_schema.get_attribute(name="name")
|
|
64
|
+
if name_attr.unique:
|
|
65
|
+
name_attr.unique = False
|
|
66
|
+
changed = True
|
|
67
|
+
|
|
68
|
+
if changed:
|
|
69
|
+
# Save SchemaNode back to DB
|
|
70
|
+
await manager.update_node_in_db(
|
|
71
|
+
db=db,
|
|
72
|
+
node=current_schema,
|
|
73
|
+
user_id=user_id,
|
|
74
|
+
at=at,
|
|
75
|
+
branch=branch,
|
|
76
|
+
)
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
class Migration056(ArbitraryMigration):
|
|
80
|
+
name: str = "056_update_schema_node_generic_constraints"
|
|
81
|
+
minimum_version: int = 55
|
|
82
|
+
|
|
83
|
+
async def validate_migration(self, db: InfrahubDatabase) -> MigrationResult: # noqa: ARG002
|
|
84
|
+
return MigrationResult()
|
|
85
|
+
|
|
86
|
+
async def execute(self, migration_input: MigrationInput) -> MigrationResult:
|
|
87
|
+
db = migration_input.db
|
|
88
|
+
at = migration_input.at
|
|
89
|
+
user_id = migration_input.user_id
|
|
90
|
+
|
|
91
|
+
console.log("[bold]Updating SchemaNode and SchemaGeneric constraints[/bold]")
|
|
92
|
+
|
|
93
|
+
# Get default branch
|
|
94
|
+
default_branch = registry.get_branch_from_registry()
|
|
95
|
+
console.log(f"Updating on default branch: {default_branch.name}")
|
|
96
|
+
await update_schema_on_branch(db=db, branch=default_branch, at=at, user_id=user_id)
|
|
97
|
+
|
|
98
|
+
branches = await Branch.get_list(db=db)
|
|
99
|
+
branches = [b for b in branches if not b.is_default and not b.is_global]
|
|
100
|
+
console.log(f"Found {len(branches)} branches to update")
|
|
101
|
+
for branch in branches:
|
|
102
|
+
console.log(f"Updating on branch: {branch.name}")
|
|
103
|
+
await update_schema_on_branch(db=db, branch=branch, at=at, user_id=user_id)
|
|
104
|
+
|
|
105
|
+
console.log("[bold green]Migration completed successfully[/bold green]")
|
|
106
|
+
return MigrationResult()
|
|
@@ -6,10 +6,10 @@ import os
|
|
|
6
6
|
from collections import defaultdict
|
|
7
7
|
from dataclasses import asdict, dataclass
|
|
8
8
|
from enum import Enum
|
|
9
|
-
from typing import TYPE_CHECKING, Any, Callable, Iterable, Literal, overload
|
|
9
|
+
from typing import TYPE_CHECKING, Any, Callable, Iterable, Literal, NoReturn, overload
|
|
10
10
|
|
|
11
11
|
from infrahub_sdk.utils import compare_lists, intersection
|
|
12
|
-
from pydantic import ConfigDict, field_validator
|
|
12
|
+
from pydantic import ConfigDict, ValidationError, field_validator
|
|
13
13
|
|
|
14
14
|
from infrahub.core.constants import HashableModelState, RelationshipCardinality, RelationshipKind
|
|
15
15
|
from infrahub.core.models import HashableModel, HashableModelDiff
|
|
@@ -73,6 +73,19 @@ class BaseNodeSchema(GeneratedBaseNodeSchema):
|
|
|
73
73
|
|
|
74
74
|
model_config = ConfigDict(extra="forbid", json_schema_extra=_json_schema_extra)
|
|
75
75
|
|
|
76
|
+
@staticmethod
|
|
77
|
+
def _enhance_attribute_validation_error(exc: ValidationError, attr_name: str, idx: int) -> NoReturn:
|
|
78
|
+
"""Enhance validation error with attribute name and correct index in location path."""
|
|
79
|
+
errors = []
|
|
80
|
+
for error in exc.errors():
|
|
81
|
+
error_copy = error.copy()
|
|
82
|
+
# Insert the correct list index at the start of the location path
|
|
83
|
+
error_copy["loc"] = (idx,) + error["loc"]
|
|
84
|
+
nested_path = ".".join(str(item) for item in error["loc"])
|
|
85
|
+
error_copy["input"] = f"[{attr_name}.{nested_path}]: {error.get('input', 'N/A')}"
|
|
86
|
+
errors.append(error_copy)
|
|
87
|
+
raise ValidationError.from_exception_data(title=exc.title, line_errors=errors) from exc
|
|
88
|
+
|
|
76
89
|
@property
|
|
77
90
|
def is_schema_node(self) -> bool:
|
|
78
91
|
"""Tell if this node represent a part of the schema. Not to confuse this with `is_node_schema`."""
|
|
@@ -124,19 +137,27 @@ class BaseNodeSchema(GeneratedBaseNodeSchema):
|
|
|
124
137
|
if not isinstance(raw_attributes, list):
|
|
125
138
|
return raw_attributes
|
|
126
139
|
attribute_schemas_with_types: list[Any] = []
|
|
127
|
-
for raw_attr in raw_attributes:
|
|
140
|
+
for idx, raw_attr in enumerate(raw_attributes):
|
|
128
141
|
if not isinstance(raw_attr, (dict, AttributeSchema)):
|
|
129
142
|
attribute_schemas_with_types.append(raw_attr)
|
|
130
143
|
continue
|
|
131
144
|
if isinstance(raw_attr, dict):
|
|
132
|
-
kind = raw_attr
|
|
145
|
+
kind = raw_attr["kind"]
|
|
146
|
+
attr_name = raw_attr["name"]
|
|
133
147
|
attribute_type_class = get_attribute_schema_class_for_kind(kind=kind)
|
|
134
|
-
|
|
148
|
+
try:
|
|
149
|
+
attribute_schemas_with_types.append(attribute_type_class(**raw_attr))
|
|
150
|
+
except ValidationError as exc:
|
|
151
|
+
cls._enhance_attribute_validation_error(exc, attr_name, idx)
|
|
135
152
|
continue
|
|
136
153
|
|
|
154
|
+
attr_name = raw_attr.name
|
|
137
155
|
expected_attr_schema_class = get_attribute_schema_class_for_kind(kind=raw_attr.kind)
|
|
138
156
|
if not isinstance(raw_attr, expected_attr_schema_class):
|
|
139
|
-
|
|
157
|
+
try:
|
|
158
|
+
final_attr = expected_attr_schema_class(**raw_attr.model_dump())
|
|
159
|
+
except ValidationError as exc:
|
|
160
|
+
cls._enhance_attribute_validation_error(exc, attr_name, idx)
|
|
140
161
|
else:
|
|
141
162
|
final_attr = raw_attr
|
|
142
163
|
attribute_schemas_with_types.append(final_attr)
|
|
@@ -804,7 +804,7 @@ relationship_schema = SchemaNode(
|
|
|
804
804
|
name="branch",
|
|
805
805
|
kind="Text",
|
|
806
806
|
internal_kind=BranchSupportType,
|
|
807
|
-
description="Type of branch support for the
|
|
807
|
+
description="Type of branch support for the relationship. If not defined, it will be determined based on both peers.",
|
|
808
808
|
enum=BranchSupportType.available_types(),
|
|
809
809
|
optional=True,
|
|
810
810
|
extra={"update": UpdateSupport.NOT_SUPPORTED}, # https://github.com/opsmill/infrahub/issues/2476
|
infrahub/core/schema/manager.py
CHANGED
|
@@ -378,7 +378,8 @@ class SchemaManager(NodeManager):
|
|
|
378
378
|
|
|
379
379
|
schema_dict = node.model_dump(exclude=IGNORE_FOR_NODE)
|
|
380
380
|
for key, value in schema_dict.items():
|
|
381
|
-
getattr(obj, key)
|
|
381
|
+
if obj_attr := getattr(obj, key, None):
|
|
382
|
+
obj_attr.value = value
|
|
382
383
|
|
|
383
384
|
attribute_schema = self.get_node_schema(name="SchemaAttribute", branch=branch)
|
|
384
385
|
relationship_schema = self.get_node_schema(name="SchemaRelationship", branch=branch)
|
infrahub/generators/tasks.py
CHANGED
|
@@ -90,7 +90,7 @@ async def run_generator(model: RequestGeneratorRun) -> None:
|
|
|
90
90
|
)
|
|
91
91
|
await generator.run(identifier=generator_definition.name)
|
|
92
92
|
generator_instance.status.value = GeneratorInstanceStatus.READY.value
|
|
93
|
-
except (ModuleImportError, Exception):
|
|
93
|
+
except (ModuleImportError, Exception):
|
|
94
94
|
generator_instance.status.value = GeneratorInstanceStatus.ERROR.value
|
|
95
95
|
await generator_instance.update(do_full_update=True)
|
|
96
96
|
raise
|
|
@@ -53,7 +53,7 @@ class PeerRelationshipsDataLoader(DataLoader[str, list[Relationship]]):
|
|
|
53
53
|
self.query_params = query_params
|
|
54
54
|
self.db = db
|
|
55
55
|
|
|
56
|
-
async def batch_load_fn(self, keys: list[Any]) -> list[list[Relationship]]:
|
|
56
|
+
async def batch_load_fn(self, keys: list[Any]) -> list[list[Relationship]]:
|
|
57
57
|
async with self.db.start_session(read_only=True) as db:
|
|
58
58
|
peer_rels = await NodeManager.query_peers(
|
|
59
59
|
db=db,
|
infrahub/workers/utils.py
CHANGED
|
@@ -20,7 +20,7 @@ def inject_service_parameter(func: Flow, parameters: dict[str, Any], service: In
|
|
|
20
20
|
"""
|
|
21
21
|
|
|
22
22
|
# avoid circular imports
|
|
23
|
-
from infrahub.services import InfrahubServices
|
|
23
|
+
from infrahub.services import InfrahubServices
|
|
24
24
|
|
|
25
25
|
if service_parameter_name := get_parameter_name(func=func, types=[InfrahubServices.__name__, InfrahubServices]):
|
|
26
26
|
if any(isinstance(param_value, InfrahubServices) for param_value in parameters):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: infrahub-server
|
|
3
|
-
Version: 1.7.
|
|
3
|
+
Version: 1.7.4
|
|
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
|
Project-URL: Homepage, https://opsmill.com
|
|
6
6
|
Project-URL: Repository, https://github.com/opsmill/infrahub
|
|
@@ -71,7 +71,7 @@ infrahub/cli/db_commands/check_inheritance.py,sha256=a9aRg6yW0K5364Crqp_U9VDZjT9
|
|
|
71
71
|
infrahub/cli/db_commands/clean_duplicate_schema_fields.py,sha256=JFYIcCBB4pEE3R8SioFNV9hhqycRr1QJMqhOrF-IlMk,8044
|
|
72
72
|
infrahub/computed_attribute/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
73
73
|
infrahub/computed_attribute/constants.py,sha256=oTMPEfRuf2mcfCkBpRLWRALO6nsLHpFm9jJGu0lowS4,446
|
|
74
|
-
infrahub/computed_attribute/gather.py,sha256=
|
|
74
|
+
infrahub/computed_attribute/gather.py,sha256=_XFN9U04HmAF-CR1kDGctSJI4UwUvhKlpL5wccVmEOA,8297
|
|
75
75
|
infrahub/computed_attribute/models.py,sha256=U2zM2cGpGWAmRpVEp28hFauCNQYaDdI332thj_65zvE,17658
|
|
76
76
|
infrahub/computed_attribute/tasks.py,sha256=hPC7S4boHq9Ihx2s54WifF5iL_p9dwzRI8hj0ZyVZzU,19824
|
|
77
77
|
infrahub/computed_attribute/triggers.py,sha256=ve1cUj0CZ7dU1VtZkxET9LD8StszKIL9mCkTZpCeUaI,2304
|
|
@@ -163,7 +163,7 @@ infrahub/core/diff/query/field_summary.py,sha256=nQ2WHF4TIc-UWHwstXyFRPnuokyjDu8
|
|
|
163
163
|
infrahub/core/diff/query/filters.py,sha256=McTtRNGg8fmnqTtNH-msfzH-8eKCBsM6-fitxTp5T8w,4324
|
|
164
164
|
infrahub/core/diff/query/get_conflict_query.py,sha256=kpGZA4QZrXxv_vnoAP5oa9-347VzsNWUIBWcg7rg03U,892
|
|
165
165
|
infrahub/core/diff/query/has_conflicts_query.py,sha256=kt0Z606vP2r1g7OqW2RrYj9LbiVkrzGfQ0AKCHx21XI,2547
|
|
166
|
-
infrahub/core/diff/query/merge.py,sha256=
|
|
166
|
+
infrahub/core/diff/query/merge.py,sha256=PM3VcSVoGKEvUtHhUk1bDw7X7NKEGC86A2cxFfaWMJs,46508
|
|
167
167
|
infrahub/core/diff/query/merge_tracking_id.py,sha256=VLGsKuOCIMYe0I-0r01YHF5iaLYIkfSCVQatHM-ybFA,833
|
|
168
168
|
infrahub/core/diff/query/roots_metadata.py,sha256=FT-48amqoR2RS4CkfnnXGI7Z5uOL4hm7IdZiz3SFHRo,2182
|
|
169
169
|
infrahub/core/diff/query/save.py,sha256=xBKWpWfRWfaP7g523xKMK82ogg0AfVQTTMeyz8oe-o0,22956
|
|
@@ -173,7 +173,7 @@ infrahub/core/diff/query/update_conflict_query.py,sha256=kQkFazz88wnApr8UU_qb0ru
|
|
|
173
173
|
infrahub/core/diff/repository/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
174
174
|
infrahub/core/diff/repository/deserializer.py,sha256=bhN9ao8HxqKyRz273QGLNV9z9_SS4EQnM9JoY5ptx78,21337
|
|
175
175
|
infrahub/core/diff/repository/repository.py,sha256=k7oUcEDO6Yzmwue_Civ6EYEs2kGa_SQ1odmbaRZsRV4,25603
|
|
176
|
-
infrahub/core/graph/__init__.py,sha256=
|
|
176
|
+
infrahub/core/graph/__init__.py,sha256=S0RrlA_BTgNNJbf5k6t1uPLBY-CuUtBNn2Lh-e_G1NM,19
|
|
177
177
|
infrahub/core/graph/constraints.py,sha256=Ze3JASivU--QI2mLqheN52O06R-FPqc9Fd474BBT3gI,10417
|
|
178
178
|
infrahub/core/graph/index.py,sha256=BNK6v56Ulx1pvovRArlUDHjRsrHOcFvzKS1We5kzkzY,1948
|
|
179
179
|
infrahub/core/graph/schema.py,sha256=YRfus_CgOGjAlQlp2dYI2e60ISdlWa1l9caDrelKoUI,10287
|
|
@@ -198,7 +198,7 @@ infrahub/core/migrations/__init__.py,sha256=ttA1YkKhiG9Zc0fwIIcMLIDCrIhN5xVOIh6o
|
|
|
198
198
|
infrahub/core/migrations/exceptions.py,sha256=gEAkWzjvN-IXr0YPqUrEqnu_GsR-uqucsu1QUaWhEmM,147
|
|
199
199
|
infrahub/core/migrations/runner.py,sha256=r7pz_YB1HNbGo-rHFaXm_1oKJJo01YhaY0eWskiWftI,2295
|
|
200
200
|
infrahub/core/migrations/shared.py,sha256=C-JNzjYSUNSLA0NqktibZ-5k5VuVZgUqLET004uPjMo,10382
|
|
201
|
-
infrahub/core/migrations/graph/__init__.py,sha256=
|
|
201
|
+
infrahub/core/migrations/graph/__init__.py,sha256=Q4QETCXNNjIl9sZ9Sgr7ExgDUKSy8YiNbgteyeT1Gpk,5342
|
|
202
202
|
infrahub/core/migrations/graph/load_schema_branch.py,sha256=OvjowaeDnx4djD1aGPjE7Rqyh1p843LSodOf_Frdt9U,1008
|
|
203
203
|
infrahub/core/migrations/graph/m001_add_version_to_graph.py,sha256=YcLN6cFjE6IGheXR4Ujb6CcyY8bJ7WE289hcKJaENOc,1515
|
|
204
204
|
infrahub/core/migrations/graph/m002_attribute_is_default.py,sha256=wB6f2N_ChTvGajqHD-OWCG5ahRMDhhXZuwo79ieq_II,1036
|
|
@@ -255,6 +255,7 @@ infrahub/core/migrations/graph/m052_fix_global_branch_level.py,sha256=DX0BAIsN5h
|
|
|
255
255
|
infrahub/core/migrations/graph/m053_fix_branch_level_zero.py,sha256=mPOzsE18u9NvhY7sgcjdy6114RS884EfZcl1ZRbJz-4,2177
|
|
256
256
|
infrahub/core/migrations/graph/m054_cleanup_orphaned_nodes.py,sha256=phEFTOpkFt7gFStxhalXc7JjA1zpUlNYgRVhBi45nRU,2715
|
|
257
257
|
infrahub/core/migrations/graph/m055_remove_webhook_validate_certificates_default.py,sha256=6lGRAqsLirs8R-KaJ_zJxMALsm3PHO-GxlEnvWzKuUU,3115
|
|
258
|
+
infrahub/core/migrations/graph/m056_update_schema_node_generic_constraints.py,sha256=wupG_sFWRq0Rh6hIaQOlvX9ftAsX_8GuC0B-gSDib-I,4392
|
|
258
259
|
infrahub/core/migrations/query/__init__.py,sha256=uMfOD0Bb4k2yOcYk_4oKT3PxxhdPfHJBT0w6rUbRJJQ,866
|
|
259
260
|
infrahub/core/migrations/query/attribute_add.py,sha256=AobAoXAwQu8c3X0Pcz7-3Al2U2l2kBk27cjgaS5Do6A,5422
|
|
260
261
|
infrahub/core/migrations/query/attribute_remove.py,sha256=me_DUc8GYimhJALYgM6lUtnWZfkTx9LDbrFOyjAIceU,6058
|
|
@@ -299,7 +300,7 @@ infrahub/core/query/delete.py,sha256=CzD5qayFuHv_fRY-5wyl_EuDejcMvjpJN8M0JdvQ5AM
|
|
|
299
300
|
infrahub/core/query/diff.py,sha256=mVoDBWqhojKR2ExGqxrYesYTIBDvzTtZIcY69wHw3Do,38563
|
|
300
301
|
infrahub/core/query/ipam.py,sha256=x1tA0iufyjqxWv4ZCRIL8TwQTKxACMAqja8uthYMhPU,64625
|
|
301
302
|
infrahub/core/query/node.py,sha256=fmlp5uPJfso4h0h3iA8LWL9LtI-r6XTwVO0XxS8dFoQ,99790
|
|
302
|
-
infrahub/core/query/relationship.py,sha256=
|
|
303
|
+
infrahub/core/query/relationship.py,sha256=YAQLZGC67cDc2PQJ1-bIAb_8B0BYbQvBS3A1hEAtm7s,57859
|
|
303
304
|
infrahub/core/query/resource_manager.py,sha256=-2b2YGxGxYIsIc-Nyb597wLSMHSxgzz2i6PcYCRQraw,24179
|
|
304
305
|
infrahub/core/query/standard_node.py,sha256=5m4przBJAoiTxDxjF8SYoc7gxJlgRgllsTgsmSI0O-s,5855
|
|
305
306
|
infrahub/core/query/subquery.py,sha256=VAxY8wwkzrFQIGdQlxXUZ_iJZEtmTSru4sfs8hMNU7g,7215
|
|
@@ -319,12 +320,12 @@ infrahub/core/relationship/constraints/profiles_removal.py,sha256=P1fD2tYpduDqt5
|
|
|
319
320
|
infrahub/core/schema/__init__.py,sha256=_vOy96uKjAxj8nvTR0qzHcnIYUzdVAAcUIk2kyUKjCQ,6641
|
|
320
321
|
infrahub/core/schema/attribute_parameters.py,sha256=EMkjs7x0Rakxqu-ckXJ0VZCPzRGrRt2DBoKX6OWrJWM,7477
|
|
321
322
|
infrahub/core/schema/attribute_schema.py,sha256=XbQOyWG1EVzOSUx6uQ9RjnP782DtJPqHjs7rIKeKh94,10058
|
|
322
|
-
infrahub/core/schema/basenode_schema.py,sha256=
|
|
323
|
+
infrahub/core/schema/basenode_schema.py,sha256=3XgZVFgZPM3SAUaZcME3vOhLFWu68WxFywt2WlgJonw,31031
|
|
323
324
|
infrahub/core/schema/computed_attribute.py,sha256=9rznZJpGqX8fxLx0EguPmww8LoHsadMtQQUKaMoJPcI,1809
|
|
324
325
|
infrahub/core/schema/constants.py,sha256=KtFrvwNckyKZSGIMD4XfxI5eFTZqBRiw54R7BE5h39Q,374
|
|
325
326
|
infrahub/core/schema/dropdown.py,sha256=Vj4eGg9q3OLy3RZm7rjORifURntIMY9GHM7G4t-0Rcs,605
|
|
326
327
|
infrahub/core/schema/generic_schema.py,sha256=VzniSE6hH6ew3-gIODVe37l1TlF7u4iXHB0sbJfW_JA,1588
|
|
327
|
-
infrahub/core/schema/manager.py,sha256=
|
|
328
|
+
infrahub/core/schema/manager.py,sha256=UkSZlHY0K7ZCpDz4lvHHzQTVWyFf66dUIXutkRHGWfU,36064
|
|
328
329
|
infrahub/core/schema/node_schema.py,sha256=W2Jx5QXrQ5ygUEyTKnIHhj6Xe7jJ6Y-iQArEo05cWRI,6341
|
|
329
330
|
infrahub/core/schema/profile_schema.py,sha256=sV4lp1UyBye12M7BJcA2obb4tx3M9J5P89SLqkmFxJY,1237
|
|
330
331
|
infrahub/core/schema/relationship_schema.py,sha256=Ixrt6j7mWa5XrLJlq_8szEohrpqE2dLzlPjSxHRGp-o,8639
|
|
@@ -335,7 +336,7 @@ infrahub/core/schema/schema_branch_hfid.py,sha256=XcNV2nNbpOhif5HHN6wvXXuM-nY8eM
|
|
|
335
336
|
infrahub/core/schema/template_schema.py,sha256=cn7-qFUW_LNRfA5q6e1-PdzGSwubuCkLTL6uad2GhdQ,1229
|
|
336
337
|
infrahub/core/schema/definitions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
337
338
|
infrahub/core/schema/definitions/deprecated.py,sha256=PUXfRupaxNT3R_a6eFnvAcvXKOZenVb7VnuLAskZfT0,829
|
|
338
|
-
infrahub/core/schema/definitions/internal.py,sha256=
|
|
339
|
+
infrahub/core/schema/definitions/internal.py,sha256=rYN4jYUJs2EL4jYFUJPFz5-TR9elfCFQuFah7_AbTqc,35393
|
|
339
340
|
infrahub/core/schema/definitions/core/__init__.py,sha256=s90SEZ8HYgxFM1Bfn0s3vyXskpWoRRVdiwt0GxT76uc,5770
|
|
340
341
|
infrahub/core/schema/definitions/core/account.py,sha256=YJ1y-lvHavohoJtEfebHJkgteWaCmB5rTW_fM0Sfcnc,5631
|
|
341
342
|
infrahub/core/schema/definitions/core/artifact.py,sha256=aPO2KoNhFoLOpU1AQVpm1EvM8pOmcGLYxSnsW4rhEAc,4553
|
|
@@ -490,7 +491,7 @@ infrahub/events/validator_action.py,sha256=nQJH-RWcgr3-tzmIldvPmu5O7dUAmv1qQnuxx
|
|
|
490
491
|
infrahub/generators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
491
492
|
infrahub/generators/constants.py,sha256=T_GuUuqzRwn7akkAD58TquJBU6EOzGmj1PC8q0yyRo8,150
|
|
492
493
|
infrahub/generators/models.py,sha256=TjTz9tOAXHHFS51CtGPp_CrTE7Hv6RN5rvOxSee4s38,3682
|
|
493
|
-
infrahub/generators/tasks.py,sha256=
|
|
494
|
+
infrahub/generators/tasks.py,sha256=TOLnQW-rd3XSDvdNWOEdS6MdA1kKRcfzhOh8zVXC8NM,10683
|
|
494
495
|
infrahub/git/__init__.py,sha256=KeQ9U8UI5jDj6KB6j00Oal7MZmtOD9vKqVgiezG_EQA,281
|
|
495
496
|
infrahub/git/base.py,sha256=xFehur-mffuRuzARMjBtoBp2-LB99lO9_dItDY7HHQ4,42015
|
|
496
497
|
infrahub/git/constants.py,sha256=XpzcAkXbsgXZgrXey74id1sXV8Q6EHb_4FNw7BndxyY,106
|
|
@@ -540,7 +541,7 @@ infrahub/graphql/auth/query_permission_checker/super_admin_checker.py,sha256=2Rl
|
|
|
540
541
|
infrahub/graphql/loaders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
541
542
|
infrahub/graphql/loaders/account.py,sha256=uq9eAu6MY-aKVl3y7vYt2IS39UvM7FVOcEV6kJmRSxQ,5336
|
|
542
543
|
infrahub/graphql/loaders/node.py,sha256=A-iKJdJy6CWX-UeKYzpw_f0e3qL6Ap6k5BCTKU5l3-Q,2353
|
|
543
|
-
infrahub/graphql/loaders/peers.py,sha256=
|
|
544
|
+
infrahub/graphql/loaders/peers.py,sha256=2pqiEC-8lZuwcACtVcw-DF6JKg9yDdFxm6YYEB3Uod4,3043
|
|
544
545
|
infrahub/graphql/loaders/shared.py,sha256=hUxLy8iVgfpEZiUMKNkUAeshPKKzEVSDMDsuaBbjJW4,389
|
|
545
546
|
infrahub/graphql/mutations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
546
547
|
infrahub/graphql/mutations/account.py,sha256=fz2fZqAzYQSDNPbIEJMBXzPbaxOKyq2cUcICBVkkZxw,5896
|
|
@@ -768,7 +769,7 @@ infrahub/webhook/triggers.py,sha256=v1dzFV4wX0GO2n5hft_qzp-oJOA2P_9Q2eTcSP-i0pk,
|
|
|
768
769
|
infrahub/workers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
769
770
|
infrahub/workers/dependencies.py,sha256=hbjq6BCBlWWR03vIYNQwtj2HxtNlQ6dvci4thPkKiKs,5373
|
|
770
771
|
infrahub/workers/infrahub_async.py,sha256=HH-AwcEV4Q3SmVj52Qlxfo4Kd1v9vy-BlC0pJABYNMM,10628
|
|
771
|
-
infrahub/workers/utils.py,sha256=
|
|
772
|
+
infrahub/workers/utils.py,sha256=xZUw7ScZJ48l8gbHf83OvzHGvqUbXXScA8t_PcL3dyo,2382
|
|
772
773
|
infrahub/workflows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
773
774
|
infrahub/workflows/catalogue.py,sha256=ObdGbwqQt9Llft1HjHDOwnp951D_SZ2LMgrQl7HD8Yo,21970
|
|
774
775
|
infrahub/workflows/constants.py,sha256=7je2FF7tJH6x_ZNqHKZfQX91X7I5gmD8OECN3dE_eqI,651
|
|
@@ -916,8 +917,8 @@ infrahub_testcontainers/models.py,sha256=rEOe8SLcWV65U6pFT-5wl8NXdtGCPq9OtGzXcOn
|
|
|
916
917
|
infrahub_testcontainers/performance_test.py,sha256=CUgoXBVMDUBlBPzh47YTUOnqXuSyUJesKxvJVS_lKGE,6190
|
|
917
918
|
infrahub_testcontainers/plugin.py,sha256=I3RuZQ0dARyKHuqCf0y1Yj731P2Mwf3BJUehRJKeWrs,5645
|
|
918
919
|
infrahub_testcontainers/prometheus.yml,sha256=610xQEyj3xuVJMzPkC4m1fRnCrjGpiRBrXA2ytCLa54,599
|
|
919
|
-
infrahub_server-1.7.
|
|
920
|
-
infrahub_server-1.7.
|
|
921
|
-
infrahub_server-1.7.
|
|
922
|
-
infrahub_server-1.7.
|
|
923
|
-
infrahub_server-1.7.
|
|
920
|
+
infrahub_server-1.7.4.dist-info/METADATA,sha256=cBXRq_gme_Ct-S-89DV5Iex4NoXA9yNMcqn8h0aP6fY,6025
|
|
921
|
+
infrahub_server-1.7.4.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
922
|
+
infrahub_server-1.7.4.dist-info/entry_points.txt,sha256=A5PUS8vmKTN4UstaQS-cQBXtPybBVcDk-n4sWtiy0bk,340
|
|
923
|
+
infrahub_server-1.7.4.dist-info/licenses/LICENSE.txt,sha256=7GQO7kxVoQYnZtFrjZBKLRXbrGwwwimHPPOJtqXsozQ,11340
|
|
924
|
+
infrahub_server-1.7.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|