Skip to content

Commit 8a84ee2

Browse files
authored
Update doc and models for display_label (#7442)
* Adjust all example in the doc + add topic section * Remove all display_labels in base * Ip fabric * nautobot1 * Round of refactoring * netbox * Refactor the rest
1 parent 75d45a7 commit 8a84ee2

26 files changed

+250
-367
lines changed

docs/docs/guides/artifact.mdx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ version: "1.0"
2525
nodes:
2626
- name: Device
2727
namespace: Network
28-
display_labels:
29-
- name__value
28+
display_label: "{{ name__value }}"
3029
inherit_from:
3130
- CoreArtifactTarget
3231
attributes:

docs/docs/guides/computed-attributes.mdx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,7 @@ version: "1.0"
9393
nodes:
9494
- name: Site
9595
namespace: Location
96-
display_labels:
97-
- name__value
96+
display_label: "{{ name__value }}"
9897
attributes:
9998
- name: name
10099
kind: Text
@@ -108,8 +107,7 @@ nodes:
108107
109108
- name: Circuit
110109
namespace: Infra
111-
display_labels:
112-
- circuit_id__value
110+
display_label: "{{ circuit_id__value }}"
113111
attributes:
114112
- name: circuit_id
115113
kind: Text
@@ -131,8 +129,7 @@ nodes:
131129
- name: CircuitEndpoint
132130
namespace: Infra
133131
label: Circuit endpoint
134-
display_labels:
135-
- name__value
132+
display_label: "{{ name__value }}"
136133
attributes:
137134
- name: name
138135
kind: Text

docs/docs/guides/generator.mdx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,7 @@ nodes:
129129
label: Widget
130130
human_friendly_id:
131131
- name__value
132-
display_labels:
133-
- name__value
132+
display_label: "{{ name__value }}"
134133
attributes:
135134
- name: name
136135
kind: Text
@@ -143,8 +142,7 @@ nodes:
143142
label: Resource
144143
human_friendly_id:
145144
- name__value
146-
display_labels:
147-
- name__value
145+
display_label: "{{ name__value }}"
148146
attributes:
149147
- name: name
150148
kind: Text

docs/docs/guides/jinja2-transform.mdx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,7 @@ version: "1.0"
2626
nodes:
2727
- name: Device
2828
namespace: Network
29-
display_labels:
30-
- name__value
29+
display_label: "{{ name__value }}"
3130
attributes:
3231
- name: name
3332
kind: Text

docs/docs/guides/object-template.mdx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,7 @@ nodes:
3333
label: "Interface"
3434
include_in_menu: true
3535
icon: "mdi:ethernet"
36-
display_labels:
37-
- name__value
36+
display_label: "{{ name__value }}"
3837
order_by:
3938
- name__value
4039
uniqueness_constraints:
@@ -64,8 +63,7 @@ nodes:
6463
human_friendly_id: ["name__value"]
6564
order_by:
6665
- name__value
67-
display_labels:
68-
- name__value
66+
display_label: "{{ name__value }}"
6967
attributes:
7068
- name: name
7169
kind: Text
@@ -87,8 +85,7 @@ nodes:
8785
human_friendly_id: ["name__value"]
8886
order_by:
8987
- name__value
90-
display_labels:
91-
- name__value
88+
display_label: "{{ name__value }}"
9289
attributes:
9390
- name: name
9491
kind: Text

docs/docs/guides/profiles.mdx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,7 @@ nodes:
4242
generate_profile: true # Enable profile generation (default)
4343
include_in_menu: true
4444
icon: "mdi:ethernet"
45-
display_labels:
46-
- name__value
45+
display_label: "{{ name__value }}"
4746
order_by:
4847
- name__value
4948
attributes:

docs/docs/guides/python-transform.mdx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,7 @@ version: "1.0"
2828
nodes:
2929
- name: Device
3030
namespace: Network
31-
display_labels:
32-
- name__value
31+
display_label: "{{ name__value }}"
3332
attributes:
3433
- name: name
3534
kind: Text

docs/docs/guides/resource-manager.mdx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,7 @@ generics:
5555
include_in_menu: false
5656
order_by:
5757
- name__value
58-
display_labels:
59-
- name__value
58+
display_label: "{{ name__value }}"
6059
attributes:
6160
- name: name
6261
kind: Text
@@ -95,8 +94,7 @@ nodes:
9594
include_in_menu: true
9695
order_by:
9796
- name__value
98-
display_labels:
99-
- name__value
97+
display_label: "{{ name__value }}"
10098
attributes:
10199
- name: name
102100
kind: Text
@@ -116,8 +114,7 @@ nodes:
116114
human_friendly_id: ["name__value"]
117115
order_by:
118116
- name__value
119-
display_labels:
120-
- name__value
117+
display_label: "{{ name__value }}"
121118
attributes:
122119
- name: name
123120
kind: Text

docs/docs/topics/schema-attr-kind-number-pool.mdx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,7 @@ generics:
2727
default_filter: name__value
2828
order_by:
2929
- name__value
30-
display_labels:
31-
- name__value
30+
display_label: "{{ name__value }}"
3231
attributes:
3332
- name: name
3433
kind: Text
@@ -119,8 +118,7 @@ generics:
119118
default_filter: name__value
120119
order_by:
121120
- name__value
122-
display_labels:
123-
- name__value
121+
display_label: "{{ name__value }}"
124122
attributes:
125123
- name: name
126124
kind: Text

docs/docs/topics/schema.mdx

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -587,6 +587,41 @@ Order uniqueness constraint elements from most selective (returning fewer matche
587587

588588
:::
589589

590+
### Display Label
591+
592+
The `display_label` property allows you to define a custom label for nodes in the Infrahub UI. This label is used in various parts of the interface, such as list views and detail views, to provide a more user-friendly representation of the node.
593+
594+
The `display_label` supports template syntax, allowing you to combine multiple attributes and relationships to create a meaningful label.
595+
596+
Display label value is automatically computed and saved when the object is created or updated.
597+
598+
In the example below, the `display_label` for the `DcimCircuit` node is defined to show both the `reference_id` attribute and `provider` relationship.
599+
600+
```yaml {4} showLineNumbers
601+
nodes:
602+
- name: Circuit
603+
namespace: Dcim
604+
display_label: "{{ reference_id__value }} ({{ provider__name__value }})"
605+
attributes:
606+
- name: reference_id
607+
kind: Text
608+
unique: true
609+
relationships:
610+
- name: provider
611+
peer: DcimProvider
612+
optional: false
613+
cardinality: one
614+
```
615+
616+
:::success
617+
This will create a display label like `CIR12345 (ProviderName)`.
618+
:::
619+
620+
:::warning Limitations
621+
Relationships used in the `display_label` must be of cardinality `one`.
622+
Display label supports only one level of relationships.
623+
:::
624+
590625
### Human friendly identifier (hfid)
591626

592627
In addition to the internal ID automatically generated for each object (UUID), Infrahub provide a way to define a set of fields that will constitute a human friendly identifier (HFID).
@@ -716,8 +751,7 @@ generics:
716751
default_filter: name__value
717752
order_by:
718753
- name__value
719-
display_labels:
720-
- name__value
754+
display_label: "{{ name__value }}"
721755
attributes:
722756
- name: name
723757
kind: Text
@@ -798,7 +832,7 @@ nodes:
798832
#### List of inheritable properties
799833

800834
- **human_friendly_id**: A user-friendly identifier for the entity.
801-
- **display_labels**: Labels used for display purposes.
835+
- **display_label**: Label used for display purposes.
802836
- **default_filter**: The default filter applied to the entity.
803837
- **menu_placement**: Defines where the entity appears in menus.
804838
- **uniqueness_constraints**: Constraints ensuring unique values for certain attributes.

0 commit comments

Comments
 (0)