'Looping through a map in helm

I am new to yaml and helm templating and have a question in it.

I have the following in my values.yaml file

regionInfo:
   usa:
      DrRegions: uk
      region: usa                
      region_key: usa
   uk:
     DrRegions: usa
     region: uk
     region_key: lhr

I need to iterate over the above map and the output should be in this format for each region

{{ $region }}:
    dnsAbbrev: {{ region_key }}
    abbrev: {{ region_key }}
    drRegion: {{ DrRegions }}

I tried the following Method 1

{{ range $reg, $props := .Values.regionInfo }}
                
{{ $reg }}:
dnsAbbrev: {{ $props.region_key }}
abbrev: {{ $props.region_key }}
drRegion: {{ $props.DrRegions }}
{{ end }}

Method 2

{{ range reg, props := .Values.regionInfo }}
{{ range $props }}
                
{{ $reg }}:
dnsAbbrev: {{ .region_key }}
abbrev: {{ .region_key }}
drRegion: {{ .DrRegions }}
{{ end }}
{{ end }}

I was getting couldn't range over map in both the scenarios... Any help or guidance on this is highly appreciated.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source