0

で HCL フィールドを設定しgolangます。ここに例を示します。

package main

import (
    "log"
    "os"

    "github.com/hashicorp/hcl"
)

const (
    EXAMPLE_HCL = `config = "/etc/test.conf"`
)

type HCLConfig struct {
    ConfigFile          string     `hcl:"config"`
}

func main() {
    cfg := &HCLConfig{}

    hclTree, err := hcl.Parse(EXAMPLE_HCL)
    if err != nil {
        os.Exit(1)
    }

    // how to modify tree to override config field

    if err := hcl.DecodeObject(&cfg, hclTree); err != nil {
        os.Exit(1)
    }

    log.Printf("%+v\n", cfg)
}

config関数を呼び出した後にフィールドをオーバーライドすることができますhcl.DecodeObject

ただし、 を呼び出す前にそのフィールドをオーバーライドしますhcl.DecodeObject

HCL ツリーを変更する方法はありますか?

4

0 に答える 0