From 27c2831269972ef48c9926ee5f79650cdc8c27e5 Mon Sep 17 00:00:00 2001 From: Daniel Langesten Date: Tue, 10 Mar 2015 12:17:09 +0100 Subject: added support for reading config from file --- config.go | 36 ++++++++++++++++++++++++++++++++++++ config.json | 15 +++++++++------ 2 files changed, 45 insertions(+), 6 deletions(-) create mode 100644 config.go diff --git a/config.go b/config.go new file mode 100644 index 0000000..2646c23 --- /dev/null +++ b/config.go @@ -0,0 +1,36 @@ +package main + +import ( + "encoding/json" + "fmt" + "io/ioutil" +) + +type Config struct { + Volumes []VolumeInfo `json:volumes` + Interval string `json:interval` +} + +type VolumeInfo struct { + Size string `json:size` + Lower int `json:lower` + Upper int `json:upper` +} + +func main() { + readConfig() +} + +func readConfig() { + content, err := ioutil.ReadFile("config.json") + if err != nil { + fmt.Print("Error:", err) + } + var conf Config + err = json.Unmarshal(content, &conf) + if err != nil { + fmt.Print("Error:", err) + } + fmt.Println(conf) + +} diff --git a/config.json b/config.json index f236414..2efb464 100644 --- a/config.json +++ b/config.json @@ -1,15 +1,18 @@ { - "volumes": { - "small":{ + "volumes": [ + { + "size": "small", "upper": 100 }, - "medium":{ + { + "size": "medium", "lower": 100, "upper": 200 }, - "large":{ - "lower":200 + { + "size": "large", + "lower": 200 } - }, + ], "interval": "10min" } -- cgit v1.1