diff --git a/infrahub/schema/01_organization.yml b/infrahub/schema/01_organization.yml index d029485..7776862 100644 --- a/infrahub/schema/01_organization.yml +++ b/infrahub/schema/01_organization.yml @@ -4,12 +4,12 @@ version: "1.0" nodes: - name: Organization - namespace: Core + namespace: Organization label: "Organization" icon: "mdi:domain" include_in_menu: true human_friendly_id: ["name__value"] - display_label: "{{ record.name__value }}" + display_label: "name__value" order_by: - name__value attributes: @@ -46,9 +46,9 @@ nodes: label: "Site" icon: "mdi:office-building" include_in_menu: true - menu_placement: "CoreOrganization" + menu_placement: "OrganizationOrganization" human_friendly_id: ["name__value"] - display_label: "{{ record.name__value }}" + display_label: "name__value" order_by: - name__value attributes: @@ -92,7 +92,7 @@ nodes: color: "#cccccc" relationships: - name: organization - peer: CoreOrganization + peer: OrganizationOrganization optional: false cardinality: one kind: Attribute diff --git a/infrahub/schema/02_ipam.yml b/infrahub/schema/02_ipam.yml index 113ebb0..c287617 100644 --- a/infrahub/schema/02_ipam.yml +++ b/infrahub/schema/02_ipam.yml @@ -9,22 +9,14 @@ nodes: icon: "mdi:ip-network" include_in_menu: true human_friendly_id: ["name__value"] - display_label: "{{ record.name__value }}" + display_label: "name__value" order_by: - name__value - attributes: - - name: name - kind: Text - unique: true - optional: false - description: "Namespace name (e.g., Global, Tenant1)" - - name: description - kind: Text - optional: true - description: "Namespace description" + inherit_from: + - "BuiltinIPNamespace" relationships: - name: organization - peer: CoreOrganization + peer: OrganizationOrganization optional: true cardinality: one kind: Attribute @@ -35,7 +27,7 @@ nodes: icon: "mdi:ip-network-outline" include_in_menu: true human_friendly_id: ["prefix__value"] - display_label: "{{ ' - '.join(filter(None, [record.prefix__value, record.description__value])) }}" + display_label: "prefix__value" order_by: - prefix__value attributes: @@ -93,12 +85,14 @@ nodes: kind: Attribute - name: parent peer: IpamIPPrefix + identifier: ip_prefix__parent optional: true cardinality: one kind: Attribute description: "Parent prefix" - name: children peer: IpamIPPrefix + identifier: ip_prefix__children optional: true cardinality: many kind: Generic @@ -121,7 +115,7 @@ nodes: icon: "mdi:ip" include_in_menu: true human_friendly_id: ["address__value"] - display_label: "{{ record.address__value }}" + display_label: "address__value" order_by: - address__value attributes: diff --git a/infrahub/schema/03_datacenter.yml b/infrahub/schema/03_datacenter.yml index a070a74..692d9cd 100644 --- a/infrahub/schema/03_datacenter.yml +++ b/infrahub/schema/03_datacenter.yml @@ -10,7 +10,7 @@ nodes: include_in_menu: true menu_placement: "LocationSite" human_friendly_id: ["name__value"] - display_label: "{{ ' - '.join(filter(None, [record.name__value, record.dc_id__value])) }}" + display_label: "name__value" order_by: - dc_id__value generate_template: false @@ -163,7 +163,7 @@ nodes: include_in_menu: true menu_placement: "InfraDatacenter" human_friendly_id: ["name__value"] - display_label: "{{ record.name__value }}" + display_label: "name__value" order_by: - bay_id__value attributes: @@ -193,6 +193,7 @@ nodes: kind: Parent - name: access_switch peer: NetworkDevice + identifier: bay__access_switch optional: true cardinality: one kind: Attribute @@ -205,6 +206,7 @@ nodes: description: "Leaf pair serving this bay" - name: hosts peer: NetworkDevice + identifier: bay__hosts optional: true cardinality: many kind: Generic diff --git a/infrahub/schema/04_device.yml b/infrahub/schema/04_device.yml index 5d9aa8d..0c17ccb 100644 --- a/infrahub/schema/04_device.yml +++ b/infrahub/schema/04_device.yml @@ -9,7 +9,7 @@ nodes: icon: "mdi:router" include_in_menu: true human_friendly_id: ["hostname__value"] - display_label: "{{ ' - '.join(filter(None, [record.hostname__value, record.role__value])) }}" + display_label: "hostname__value" order_by: - hostname__value generate_template: false diff --git a/infrahub/schema/05_interfaces.yml b/infrahub/schema/05_interfaces.yml index f62ce61..147cd46 100644 --- a/infrahub/schema/05_interfaces.yml +++ b/infrahub/schema/05_interfaces.yml @@ -9,7 +9,7 @@ nodes: icon: "mdi:ethernet" include_in_menu: true human_friendly_id: ["device__hostname__value", "name__value"] - display_label: "{{ ' - '.join(filter(None, [record.name__value, record.description__value])) }}" + display_label: "name__value" order_by: - device__hostname__value - name__value @@ -117,7 +117,7 @@ nodes: label: Active - name: passive label: Passive - - name: on + - name: "on" label: On (no LACP) description: "LACP mode for port-channel" @@ -156,6 +156,7 @@ nodes: - name: unnumbered_source peer: NetworkInterface + identifier: interface__unnumbered_source optional: true cardinality: one kind: Attribute @@ -170,6 +171,7 @@ nodes: - name: port_channel peer: NetworkInterface + identifier: interface__port_channel optional: true cardinality: one kind: Attribute @@ -177,6 +179,7 @@ nodes: - name: member_interfaces peer: NetworkInterface + identifier: interface__member_interfaces optional: true cardinality: many kind: Generic @@ -184,6 +187,7 @@ nodes: - name: connected_to peer: NetworkInterface + identifier: interface__connected_to optional: true cardinality: one kind: Attribute diff --git a/infrahub/schema/06_vlan_vrfs.yml b/infrahub/schema/06_vlan_vrfs.yml index fe447e2..367a95a 100644 --- a/infrahub/schema/06_vlan_vrfs.yml +++ b/infrahub/schema/06_vlan_vrfs.yml @@ -9,7 +9,7 @@ nodes: icon: "mdi:lan" include_in_menu: true human_friendly_id: ["vlan_id__value", "name__value"] - display_label: "{{ ' - '.join(filter(None, [record.vlan_id__value, record.name__value])) }}" + display_label: "name__value" order_by: - vlan_id__value attributes: @@ -54,6 +54,7 @@ nodes: - name: interfaces peer: NetworkInterface + identifier: vlan__interfaces optional: true cardinality: many kind: Generic @@ -61,6 +62,7 @@ nodes: - name: svi peer: NetworkInterface + identifier: vlan__svi optional: true cardinality: one kind: Attribute @@ -86,7 +88,7 @@ nodes: icon: "mdi:router-network" include_in_menu: true human_friendly_id: ["name__value"] - display_label: "{{ record.name__value }}" + display_label: "name__value" order_by: - name__value attributes: diff --git a/infrahub/schema/07_bgp.yml b/infrahub/schema/07_bgp.yml index 7e24e50..cbbd1fd 100644 --- a/infrahub/schema/07_bgp.yml +++ b/infrahub/schema/07_bgp.yml @@ -8,8 +8,8 @@ nodes: label: "BGP Configuration" icon: "mdi:routes" include_in_menu: true - human_friendly_id: ["device__hostname__value"] - display_label: "{{ ' - '.join(filter(None, [record.device__hostname__value, record.asn__value])) }}" + human_friendly_id: ["asn__value"] + display_label: "asn__value" order_by: - device__hostname__value attributes: @@ -101,8 +101,8 @@ nodes: label: "BGP Peer Group" icon: "mdi:account-group" include_in_menu: false - human_friendly_id: ["bgp_config__device__hostname__value", "name__value"] - display_label: "{{ record.name__value }}" + human_friendly_id: ["name__value"] + display_label: "name__value" order_by: - name__value attributes: @@ -171,8 +171,8 @@ nodes: label: "BGP Neighbor" icon: "mdi:account-network" include_in_menu: false - human_friendly_id: ["bgp_config__device__hostname__value", "neighbor_ip__value"] - display_label: "{{ ' - '.join(filter(None, [record.neighbor_ip__value, record.description__value])) }}" + human_friendly_id: ["neighbor_ip__value"] + display_label: "neighbor_ip__value" order_by: - neighbor_ip__value attributes: @@ -236,8 +236,8 @@ nodes: label: "BGP Address Family" icon: "mdi:family-tree" include_in_menu: false - human_friendly_id: ["bgp_config__device__hostname__value", "afi__value", "safi__value"] - display_label: "{{ ' - '.join(filter(None, [record.afi__value, record.safi__value])) }}" + human_friendly_id: ["afi__value", "safi__value"] + display_label: "afi__value" attributes: - name: afi kind: Dropdown diff --git a/infrahub/schema/08_mlag_evpn_vxlan.yml b/infrahub/schema/08_mlag_evpn_vxlan.yml index 3e6be27..a89b33f 100644 --- a/infrahub/schema/08_mlag_evpn_vxlan.yml +++ b/infrahub/schema/08_mlag_evpn_vxlan.yml @@ -9,7 +9,7 @@ nodes: icon: "mdi:link-variant" include_in_menu: true human_friendly_id: ["domain_id__value"] - display_label: "{{ ' - '.join(filter(None, [record.domain_id__value, record.status__value])) }}" + display_label: "domain_id__value" order_by: - domain_id__value attributes: @@ -67,8 +67,8 @@ nodes: label: "MLAG Interface" icon: "mdi:ethernet-plus" include_in_menu: false - human_friendly_id: ["interface__device__hostname__value", "interface__name__value"] - display_label: "{{ ' - '.join(filter(None, [record.interface__device__hostname__value, record.interface__name__value])) }}" + human_friendly_id: ["mlag_domain__domain_id__value", "mlag_id__value"] + display_label: "mlag_id__value" attributes: - name: mlag_id kind: Number @@ -95,7 +95,7 @@ nodes: icon: "mdi:wan" include_in_menu: false human_friendly_id: ["device__hostname__value"] - display_label: "{{ record.device__hostname__value }}" + display_label: "vni_auto__value" attributes: - name: vni_auto kind: Boolean @@ -116,7 +116,7 @@ nodes: icon: "mdi:tunnel" include_in_menu: true human_friendly_id: ["name__value"] - display_label: "{{ record.name__value }}" + display_label: "name__value" attributes: - name: name kind: Text diff --git a/infrahub/schema/09_routing_policies.yml b/infrahub/schema/09_routing_policies.yml index 00047b9..d5f3822 100644 --- a/infrahub/schema/09_routing_policies.yml +++ b/infrahub/schema/09_routing_policies.yml @@ -9,7 +9,7 @@ nodes: icon: "mdi:map-marker-path" include_in_menu: true human_friendly_id: ["name__value"] - display_label: "{{ record.name__value }}" + display_label: "name__value" order_by: - name__value attributes: @@ -57,7 +57,7 @@ nodes: icon: "mdi:format-list-numbered" include_in_menu: true human_friendly_id: ["name__value"] - display_label: "{{ record.name__value }}" + display_label: "name__value" order_by: - name__value attributes: @@ -126,7 +126,7 @@ nodes: icon: "mdi:router" include_in_menu: false human_friendly_id: ["device__hostname__value"] - display_label: "{{ ' - '.join(filter(None, [record.device__hostname__value, record.process_id__value])) }}" + display_label: "process_id__value" attributes: - name: process_id kind: Number @@ -164,8 +164,8 @@ nodes: label: "OSPF Area" icon: "mdi:circle-outline" include_in_menu: false - human_friendly_id: ["ospf_config__device__hostname__value", "area_id__value"] - display_label: "{{ record.area_id__value }}" + human_friendly_id: ["area_id__value"] + display_label: "area_id__value" attributes: - name: area_id kind: Text @@ -205,9 +205,14 @@ nodes: label: "OSPF Interface" icon: "mdi:ethernet" include_in_menu: false - human_friendly_id: ["interface__device__hostname__value", "interface__name__value"] - display_label: "{{ record.interface__name__value }}" + human_friendly_id: ["identifier__value"] + display_label: "network_type__value" attributes: + - name: identifier + kind: Text + unique: true + optional: false + description: "Unique identifier for this OSPF interface" - name: network_type kind: Dropdown optional: false diff --git a/infrahub/schema/10_dci.yml b/infrahub/schema/10_dci.yml index b94b7dd..aaed3ae 100644 --- a/infrahub/schema/10_dci.yml +++ b/infrahub/schema/10_dci.yml @@ -9,7 +9,7 @@ nodes: icon: "mdi:transit-connection-variant" include_in_menu: true human_friendly_id: ["hostname__value"] - display_label: "{{ record.hostname__value }}" + display_label: "hostname__value" order_by: - hostname__value description: "DCI switch connects multiple datacenters - NOT auto-generated, manually configured" @@ -73,7 +73,7 @@ nodes: relationships: - name: organization - peer: CoreOrganization + peer: OrganizationOrganization optional: false cardinality: one kind: Attribute @@ -114,7 +114,7 @@ nodes: include_in_menu: true menu_placement: "NetworkDCISwitch" human_friendly_id: ["dci_switch__hostname__value", "border_leaf__hostname__value"] - display_label: "{{ ' - '.join(filter(None, [record.dci_switch__hostname__value, record.border_leaf__hostname__value, record.status__value])) }}" + display_label: "connection_name__value" order_by: - dci_switch__hostname__value description: "Represents a P2P connection between DCI switch and a border leaf" @@ -199,6 +199,7 @@ nodes: - name: dci_interface peer: NetworkInterface + identifier: dci_link__dci_interface optional: true cardinality: one kind: Attribute @@ -206,6 +207,7 @@ nodes: - name: border_interface peer: NetworkInterface + identifier: dci_link__border_interface optional: true cardinality: one kind: Attribute