Reflection-based template walking
Rather than deriving the identity of template variables by string parsing the name, identify its relationship to the underlying struct using reflection. Signed-off-by: Jonathon Anderson <janderson@ciq.com>
This commit is contained in:
@@ -2,10 +2,10 @@
|
||||
network:
|
||||
version: 2
|
||||
renderer: networkd
|
||||
{{- $NetDevs := .NetDevs }}
|
||||
{{- $ethernets := list }}
|
||||
{{- $bonds := list }}
|
||||
{{- $NetDevs := .NetDevs }}
|
||||
{{- range $devname, $netdev := .NetDevs }}
|
||||
{{- range $devname, $netdev := $NetDevs }}
|
||||
{{- if $netdev.Device }}
|
||||
{{- if eq (default "ethernet" (lower $netdev.Type)) "ethernet" }}
|
||||
{{- $ethernets = append $ethernets $devname }}
|
||||
@@ -16,8 +16,8 @@ network:
|
||||
{{- end }}
|
||||
{{- if $ethernets }}
|
||||
ethernets:
|
||||
{{- range $devname := $ethernets }}
|
||||
{{- $netdev := (index $NetDevs $devname) }}
|
||||
{{- range $netdev := $NetDevs }}
|
||||
{{- if eq (default "ethernet" (lower $netdev.Type)) "ethernet" }}
|
||||
{{$netdev.Device}}:
|
||||
dhcp4: no
|
||||
optional: true
|
||||
@@ -30,10 +30,11 @@ network:
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if $bonds }}
|
||||
bonds:
|
||||
{{- range $devname := $bonds }}
|
||||
{{- $netdev := (index $NetDevs $devname) }}
|
||||
{{- range $netdev := $NetDevs }}
|
||||
{{- if eq (lower $netdev.Type) "bond" }}
|
||||
{{$netdev.Device}}:
|
||||
dhcp4: no
|
||||
optional: true
|
||||
@@ -61,3 +62,4 @@ network:
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
Reference in New Issue
Block a user