Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 40 additions & 2 deletions infrahub_sdk/protocols.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ class CoreArtifactTarget(CoreNode):


class CoreBasePermission(CoreNode):
decision: Enum
identifier: StringOptional
roles: RelationshipManager


Expand Down Expand Up @@ -137,6 +139,20 @@ class CoreGroup(CoreNode):
children: RelationshipManager


class CoreMenu(CoreNode):
namespace: String
name: String
label: StringOptional
path: StringOptional
description: StringOptional
icon: StringOptional
protected: Boolean
order_weight: Integer
section: Enum
parent: RelatedNode
children: RelationshipManager


class CoreProfile(CoreNode):
profile_name: String
profile_priority: IntegerOptional
Expand Down Expand Up @@ -369,6 +385,10 @@ class CoreIPPrefixPool(CoreResourcePool, LineageSource):
ip_namespace: RelatedNode


class CoreMenuItem(CoreMenu):
pass


class CoreNumberPool(CoreResourcePool, LineageSource):
node: String
node_attribute: String
Expand All @@ -381,7 +401,6 @@ class CoreObjectPermission(CoreBasePermission):
namespace: String
name: String
action: Enum
decision: Enum


class CoreObjectThread(CoreThread):
Expand Down Expand Up @@ -518,6 +537,8 @@ class CoreArtifactTargetSync(CoreNodeSync):


class CoreBasePermissionSync(CoreNodeSync):
decision: Enum
identifier: StringOptional
roles: RelationshipManagerSync


Expand Down Expand Up @@ -582,6 +603,20 @@ class CoreGroupSync(CoreNodeSync):
children: RelationshipManagerSync


class CoreMenuSync(CoreNodeSync):
namespace: String
name: String
label: StringOptional
path: StringOptional
description: StringOptional
icon: StringOptional
protected: Boolean
order_weight: Integer
section: Enum
parent: RelatedNodeSync
children: RelationshipManagerSync


class CoreProfileSync(CoreNodeSync):
profile_name: String
profile_priority: IntegerOptional
Expand Down Expand Up @@ -814,6 +849,10 @@ class CoreIPPrefixPoolSync(CoreResourcePoolSync, LineageSourceSync):
ip_namespace: RelatedNodeSync


class CoreMenuItemSync(CoreMenuSync):
pass


class CoreNumberPoolSync(CoreResourcePoolSync, LineageSourceSync):
node: String
node_attribute: String
Expand All @@ -826,7 +865,6 @@ class CoreObjectPermissionSync(CoreBasePermissionSync):
namespace: String
name: String
action: Enum
decision: Enum


class CoreObjectThreadSync(CoreThreadSync):
Expand Down
228 changes: 53 additions & 175 deletions tests/fixtures/schema_01.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,52 +49,13 @@
"inherited": false,
"cardinality": "many",
"branch": "aware",
"optional": true,
"filters": [
{
"name": "id",
"kind": "String",
"description": null
},
{
"name": "name__value",
"kind": "String",
"description": null
},
{
"name": "description__value",
"kind": "String",
"description": null
}
]
"optional": true
}
],
"label": null,
"inherit_from": [],
"branch": "aware",
"default_filter": "name__value",
"filters": [
{
"name": "ids",
"kind": "List",
"description": null
},
{
"name": "query__value",
"kind": "String",
"description": null
},
{
"name": "description__value",
"kind": "String",
"description": null
},
{
"name": "name__value",
"kind": "String",
"description": null
}
]
"default_filter": "name__value"
},
{
"name": "Repository",
Expand Down Expand Up @@ -200,24 +161,7 @@
"inherited": false,
"cardinality": "many",
"branch": "aware",
"optional": true,
"filters": [
{
"name": "id",
"kind": "String",
"description": null
},
{
"name": "name__value",
"kind": "String",
"description": null
},
{
"name": "description__value",
"kind": "String",
"description": null
}
]
"optional": true
},
{
"name": "queries",
Expand All @@ -228,29 +172,7 @@
"inherited": false,
"cardinality": "many",
"branch": "aware",
"optional": true,
"filters": [
{
"name": "id",
"kind": "String",
"description": null
},
{
"name": "query__value",
"kind": "String",
"description": null
},
{
"name": "description__value",
"kind": "String",
"description": null
},
{
"name": "name__value",
"kind": "String",
"description": null
}
]
"optional": true
}
],
"label": null,
Expand All @@ -260,58 +182,8 @@
],
"branch": "aware",
"default_filter": "name__value",
"human_friendly_id": ["name__value"],
"filters": [
{
"name": "ids",
"kind": "List",
"description": null
},
{
"name": "hfid",
"kind": "List",
"description": null
},
{
"name": "username__value",
"kind": "String",
"description": null
},
{
"name": "type__value",
"kind": "String",
"description": null
},
{
"name": "name__value",
"kind": "String",
"description": null
},
{
"name": "description__value",
"kind": "String",
"description": null
},
{
"name": "commit__value",
"kind": "String",
"description": null
},
{
"name": "location__value",
"kind": "String",
"description": null
},
{
"name": "password__value",
"kind": "String",
"description": null
},
{
"name": "default_branch__value",
"kind": "String",
"description": null
}
"human_friendly_id": [
"name__value"
]
},
{
Expand Down Expand Up @@ -341,64 +213,70 @@
"branch": "aware",
"optional": true
},
{
"name": "status",
"kind": "Dropdown",
{
"name": "status",
"kind": "Dropdown",
"branch": "aware",
"optional": true,
"choices": [
{
"name": "active",
"label": "Active",
"description": "A status",
"color": "#ffffff"
}
]
},
{
"name": "mode",
"kind": "Text",
"optional": true,
"choices": [
{
"name": "active",
"label": "Active",
"description": "A status",
"color": "#ffffff"
}
]
},
{
"name": "mode",
"kind": "Text",
"branch": "aware",
"optional": true,
"enum": ["easy"]
}
"optional": true,
"enum": [
"easy"
]
}
],
"relationships": [],
"label": null,
"inherit_from": [],
"branch": "aware",
"default_filter": "name__value"
},
{
"name": "Location",
"namespace": "Builtin",
"default_filter": "name__value",
"filters": [
"attributes": [
{
"name": "ids",
"kind": "List",
"description": null
"name": "name",
"kind": "String",
"unique": true
},
{
"name": "name__value",
"name": "description",
"kind": "String",
"description": null
"optional": true
},
{
"name": "description__value",
"kind": "String",
"description": null
"name": "type",
"kind": "String"
}
]
},
{
"name": "Location",
"namespace": "Builtin",
"default_filter": "name__value",
"attributes": [
{"name": "name", "kind": "String", "unique": true},
{"name": "description", "kind": "String", "optional": true},
{"name": "type", "kind": "String"}
],
"relationships": [
{"name": "tags", "peer": "BuiltinTag", "optional": true, "cardinality": "many"},
{"name": "primary_tag", "peer": "BuiltinTag", "optional": true, "cardinality": "one"}
{
"name": "tags",
"peer": "BuiltinTag",
"optional": true,
"cardinality": "many"
},
{
"name": "primary_tag",
"peer": "BuiltinTag",
"optional": true,
"cardinality": "one"
}
]
}
]
}
}
Loading