File tree Expand file tree Collapse file tree 1 file changed +77
-0
lines changed Expand file tree Collapse file tree 1 file changed +77
-0
lines changed Original file line number Diff line number Diff line change 1+ package main
2+
3+ import (
4+ "encoding/json"
5+ "flag"
6+ "fmt"
7+ "io/ioutil"
8+ "os"
9+ "sort"
10+ )
11+
12+ var (
13+ inFile string
14+ outFile string
15+ )
16+
17+ func init () {
18+ flag .StringVar (& inFile , "f" , "" , "The file to read from to generate parameters" )
19+ flag .StringVar (& outFile , "o" , "" , "Optional: Specify a file name to write out parameters" )
20+ }
21+
22+ func main () {
23+ flag .Parse ()
24+
25+ if inFile == "" {
26+ fmt .Fprintln (os .Stderr , "Missing required argument -f" )
27+ }
28+
29+ m := make (map [string ]interface {})
30+ data , err := ioutil .ReadFile (inFile )
31+ if err != nil {
32+ fmt .Fprintln (os .Stderr , err )
33+ os .Exit (- 1 )
34+ }
35+ err = json .Unmarshal (data , & m )
36+ if err != nil {
37+ fmt .Fprintln (os .Stderr , err )
38+ os .Exit (- 1 )
39+ }
40+
41+ if _ , ok := m ["Parameters" ]; ! ok {
42+ fmt .Fprintln (os .Stderr , "Parameters not found in file" )
43+ os .Exit (- 1 )
44+ }
45+
46+ params := m ["Parameters" ].(map [string ]interface {})
47+
48+ keys := make ([]string , 0 )
49+
50+ for k := range params {
51+ keys = append (keys , k )
52+ }
53+
54+ sort .Strings (keys )
55+
56+ s := "[\n "
57+
58+ for _ , k := range keys {
59+ s += fmt .Sprintf (` {
60+ "ParameterKey": "%s",
61+ "ParameterValue": ""
62+ },
63+ ` , k )
64+ }
65+
66+ s += "\n ]"
67+
68+ if outFile != "" {
69+ err = ioutil .WriteFile (outFile , []byte (data ), 0644 )
70+ if err != nil {
71+ fmt .Fprintln (os .Stderr , err )
72+ }
73+ } else {
74+ fmt .Print (s )
75+ }
76+
77+ }
You can’t perform that action at this time.
0 commit comments