Use Node literal in MergeNode, not EmptyNode()

EmptyNode populates empty sub-structs, which interferes with omitempty during
serialization.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
This commit is contained in:
Jonathon Anderson
2024-12-27 13:39:29 -07:00
parent f0e634183e
commit dae8d004b3
8 changed files with 157 additions and 69 deletions

View File

@@ -85,9 +85,11 @@ data from other structures.
- Discoverable:
- Profiles: default
- Tags:
- Kernel:
- Version:
- Args: quiet crashkernel=no vga=791 net.naming-scheme=v238
- Ipmi:
- UserName: user
- Password: password
@@ -195,9 +197,11 @@ data from other structures.
- AssetKey:
- Profiles: [default]
- Tags:
- Kernel
- Version:
- Args: quiet crashkernel=no vga=791 net.naming-scheme=v238
- Ipmi:
- Ipaddr: 192.168.4.21
- Netmask: 255.255.255.0
@@ -250,19 +254,11 @@ data from other structures.
- AssetKey:
- Profiles: [default]
- Tags:
- Kernel
- Version:
- Args: quiet crashkernel=no vga=791 net.naming-scheme=v238
- Ipmi:
- Ipaddr: <nil>
- Netmask: <nil>
- Port:
- Gateway: <nil>
- UserName:
- Password:
- Interface:
- Write:
- Tags:
- NetDevs[default]:
- Type:
- OnBoot: true

View File

@@ -27,9 +27,12 @@ data from other structures.
- Discoverable: {{ .Discoverable }}
- Profiles: {{ range $index, $value := .Profiles }}{{ if $index }},{{ end }}{{ $value }}{{ end }}
- Tags: {{ range $key, $value := .Tags }}{{ $key }}={{ $value }} {{ end }}
{{ if .Kernel }}
- Kernel:
- Version: {{ .Kernel.Version }}
- Args: {{ .Kernel.Args }}
{{- end }}
{{ if .Ipmi }}
- Ipmi:
- UserName: {{ .Ipmi.UserName }}
- Password: {{ .Ipmi.Password }}
@@ -40,6 +43,7 @@ data from other structures.
- Interface: {{ .Ipmi.Interface }}
- Write: {{ .Ipmi.Write }}
- Tags: {{ range $key, $value := .Ipmi.Tags }}{{ $key }}={{ $value }} {{ end }}
{{- end }}
{{- range $index, $netdev := .NetDevs }}
- NetDevs[{{ $index }}]:
- Type: {{ $netdev.Type }}
@@ -136,9 +140,12 @@ data from other structures.
- AssetKey: {{ $node.AssetKey }}
- Profiles: {{ $node.Profiles }}
- Tags: {{ range $key, $value := $node.Tags }}{{ $key }}={{ $value }} {{ end }}
{{ if .Kernel }}
- Kernel
- Version: {{ $node.Kernel.Version }}
- Args: {{ $node.Kernel.Args }}
{{- end }}
{{ if .Ipmi }}
- Ipmi:
- Ipaddr: {{ $node.Ipmi.Ipaddr }}
- Netmask: {{ $node.Ipmi.Netmask }}
@@ -149,6 +156,7 @@ data from other structures.
- Interface: {{ $node.Ipmi.Interface }}
- Write: {{ $node.Ipmi.Write }}
- Tags: {{ range $key, $value := $node.Ipmi.Tags }}{{ $key }}={{ $value }} {{ end }}
{{- end }}
{{- range $index, $netdev := $node.NetDevs }}
- NetDevs[{{ $index }}]:
- Type: {{ $netdev.Type }}