Files
EdgeAPI/internal/db/models/node_cluster_model_ext.go

24 lines
560 B
Go
Raw Normal View History

2020-09-15 14:44:11 +08:00
package models
import (
"encoding/json"
"github.com/TeaOSLab/EdgeCommon/pkg/dnsconfigs"
)
// DecodeDNSConfig 解析DNS配置
func (this *NodeCluster) DecodeDNSConfig() (*dnsconfigs.ClusterDNSConfig, error) {
if len(this.Dns) == 0 {
// 一定要返回一个默认的值防止产生nil
return &dnsconfigs.ClusterDNSConfig{
NodesAutoSync: false,
ServersAutoSync: false,
}, nil
}
dnsConfig := &dnsconfigs.ClusterDNSConfig{}
err := json.Unmarshal([]byte(this.Dns), &dnsConfig)
if err != nil {
return nil, err
}
return dnsConfig, nil
}