Allez analyser fichier yaml

Je suis en train d'analyser un fichier yaml avec Go. Malheureusement, je ne peux pas comprendre comment. Le fichier yaml j'ai, c'est ceci:

---
firewall_network_rules:
  rule1:
    src:       blablabla-host
    dst:       blabla-hostname
...

Je dois Aller ce code mais il ne fonctionne pas:

package main

import (
    "fmt"
    "io/ioutil"
    "path/filepath"

    "gopkg.in/yaml.v2"
)

type Config struct {
    Firewall_network_rules map[string][]string
}

func main() {
    filename, _ := filepath.Abs("./fruits.yml")
    yamlFile, err := ioutil.ReadFile(filename)

    if err != nil {
        panic(err)
    }

    var config Config

    err = yaml.Unmarshal(yamlFile, &config)
    if err != nil {
        panic(err)
    }

    fmt.Printf("Value: %#v\n", config.Firewall_network_rules)
}

Lorsque je l'exécute, j'obtiens une erreur. Je pense que c'est parce que je n'ai pas créé une structure pour la src et dst clés/valeurs. Pour info: lorsque je modifie qu'à une liste, il fonctionne.

Donc au-dessus de code analyse ce:

---
firewall_network_rules:
  rule1:
    - value1
    - value2
...

OriginalL'auteur Rogier Lommers | 2015-02-23