123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package config
- import (
- yaml "github.com/cloudfoundry-incubator/candiedyaml"
- "github.com/rancher/os/util"
- )
- func Merge(bytes []byte) error {
- data, err := readConfigs(bytes, false, true)
- if err != nil {
- return err
- }
- existing, err := readConfigs(nil, false, true, CloudConfigFile)
- if err != nil {
- return err
- }
- return WriteToFile(util.Merge(existing, data), CloudConfigFile)
- }
- func Export(private, full bool) (string, error) {
- rawCfg := loadRawDiskConfig(full)
- if !private {
- rawCfg = filterPrivateKeys(rawCfg)
- }
- bytes, err := yaml.Marshal(rawCfg)
- return string(bytes), err
- }
- func Get(key string) (interface{}, error) {
- cfg := LoadConfig()
- data := map[interface{}]interface{}{}
- if err := util.ConvertIgnoreOmitEmpty(cfg, &data); err != nil {
- return nil, err
- }
- v, _ := getOrSetVal(key, data, nil)
- return v, nil
- }
- func GetCmdline(key string) interface{} {
- cmdline := readCmdline()
- v, _ := getOrSetVal(key, cmdline, nil)
- return v
- }
- func Set(key string, value interface{}) error {
- existing, err := readConfigs(nil, false, true, CloudConfigFile)
- if err != nil {
- return err
- }
- _, modified := getOrSetVal(key, existing, value)
- c := &CloudConfig{}
- if err = util.Convert(modified, c); err != nil {
- return err
- }
- return WriteToFile(modified, CloudConfigFile)
- }
|